/ / consumiendo los mensajes de la cola y luego escribiendo esos mensajes en un archivo de texto - spring, spring-integration

consumiendo los mensajes de la cola y luego escribiendo esos mensajes en un archivo de texto - spring, spring-integration

He escrito debajo del programa de integración de primavera.en el que estoy intentando leer los mensajes de la cola y luego almacenar los mensajes en un archivo en la unidad c: de mi computadora como si el archivo no se creara, se creará un nuevo archivo cuyo nombre será outputmessages.txt, pero ahora rito el archivo no está preparado, ¿puede por favor indicar qué salió mal? ¿Cómo puedo superar esto?

 <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>

Respuestas

0 para la respuesta № 1

Veo el primer problema en tu configuración:

directory = "c: messagesoutput.txt"

realmente debe ser un directorio no una ruta de archivo.

Otra preocupación. No está claro si desea crear un archivo para cada mensaje o simplemente agregarlos todos al mismo.

Para el último caso de uso. mode="APPEND".

Para el fileName puedes usar filename-generator-expression=""messagesoutput.txt"".

Y, por favor, no mezcle diferentes versiones de los tarros Spring Integration. Y trate de usar versionless schemaLocation.