/ / konsumowanie wiadomości z kolejki, a następnie zapisywanie tych wiadomości w pliku tekstowym - wiosna, wiosna-integracja

spożytkowanie wiadomości z kolejki, a następnie zapisanie tych wiadomości w pliku tekstowym - wiosna, integracja wiosenna

Poniżej napisałem wiosenny program integracyjnyw którym próbuję czytać wiadomości z kolejki, a następnie przechowywać wiadomości w pliku na dysku c: mojego komputera, tak jakby plik nie został utworzony, utworzy nowy plik, którego nazwa będzie wyjściowa wiadomości.txt, ale rite teraz plik nie jest przygotowany, czy możesz doradzić, co poszło nie tak, jak mogę temu zaradzić.

 <int:channel id="output"  >

</int:channel>

<bean id="tibcoEMSJndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">com.tibco.tibjms.naming.TibjmsInitialContextFactory</prop>
<prop key="java.naming.provider.url">tcp://abc.net:2333</prop>
<prop key="java.naming.security.principal">wert</prop>
<prop key="java.naming.security.credentials">wert</prop>
</props>
</property>
</bean>

<bean id="tibcoEMSConnFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate">
<ref bean="tibcoEMSJndiTemplate" />
</property>
<property name="jndiName">
<value>GenericConnectionFactory</value>
</property>
</bean>

<bean id="tibcosendJMSTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory">
<ref local="tibcoEMSConnFactory" />
</property>
<property name="defaultDestinationName">
<value>abc.test.data</value>
</property>
<property name="pubSubDomain">
<value>false</value>
</property>
<property name ="receiveTimeout">
<value>120000</value>
</property>
</bean>


<int:channel id="input">

</int:channel>

<jms:outbound-channel-adapter channel="input" destination-name="abc.test.data"  connection-factory="tibcoEMSConnFactory" />

<jms:message-driven-channel-adapter channel="filesIn"   concurrent-consumers="2"  destination-name="abc.test.data" connection-factory="tibcoEMSConnFactory"   />

<file:outbound-channel-adapter id="filesIn" auto-create-directory="true" filename-generator-expression=""messagesoutput.txt""
directory="c:\message\" >
</file:outbound-channel-adapter>

</beans>

Odpowiedzi:

0 dla odpowiedzi № 1

Widzę pierwszy problem w twojej konfiguracji:

directory = "c: messagesoutput.txt"

to naprawdę musi być informator nie jest ścieżką do pliku.

Kolejna obawa. Nie jest jasne, czy chcesz utworzyć plik dla każdej wiadomości, czy po prostu dodać je wszystkie do tego samego.

W ostatnim przypadku użyj mode="APPEND".

Dla fileName możesz użyć filename-generator-expression=""messagesoutput.txt"".

I proszę, nie mieszaj różnych wersji słoików Spring Integration. Spróbuj ich użyć versionless schemaLocation.