Hi,
I am new to Spring Integration and have been going through the documentation, but am currently confused at one point :
1. I am trying to understand if there is any difference between having a service activator directly writing to a JMS backed channel vs. service activator chained to a jms outbound channel adapter. My assumption is that functionally it is not different but from a design point of view, it is good to have loose coupling between the transport protocol details and the service activator logic ( and hence the jms outbound channel adapter should be preferred). Also, in my case, both the producer and consumer are part of the same enterprise network ( but running in different jvm).
Please correct my understanding.
2. Please pardon if the below sounds silly :
I have been experimenting with some SI with JMS examples and in one of the scenarios, I get the following error on ActiveMQ console when sending message with a POJO payload via jms outbound adapter :
javax.jms.JMSException: Failed to build body from content. Serializable
class not available to broker. Reason: java.lang.ClassNotFoundException:
org.springframework.integration.message.GenericMes sage in ActiveMQ installation
So, I added the spring integration jar to my ActiveMQ installation and it resolved. But I am confused as to why SI is sending a GenericMessage object in the payload when I am already calling an object-to-json transformer before sending to the adapter. Is placing the SI jar under ActiveMQ installation the correct solution for this ?
Thanks very much.
I am new to Spring Integration and have been going through the documentation, but am currently confused at one point :
1. I am trying to understand if there is any difference between having a service activator directly writing to a JMS backed channel vs. service activator chained to a jms outbound channel adapter. My assumption is that functionally it is not different but from a design point of view, it is good to have loose coupling between the transport protocol details and the service activator logic ( and hence the jms outbound channel adapter should be preferred). Also, in my case, both the producer and consumer are part of the same enterprise network ( but running in different jvm).
Please correct my understanding.
2. Please pardon if the below sounds silly :
I have been experimenting with some SI with JMS examples and in one of the scenarios, I get the following error on ActiveMQ console when sending message with a POJO payload via jms outbound adapter :
javax.jms.JMSException: Failed to build body from content. Serializable
class not available to broker. Reason: java.lang.ClassNotFoundException:
org.springframework.integration.message.GenericMes sage in ActiveMQ installation
So, I added the spring integration jar to my ActiveMQ installation and it resolved. But I am confused as to why SI is sending a GenericMessage object in the payload when I am already calling an object-to-json transformer before sending to the adapter. Is placing the SI jar under ActiveMQ installation the correct solution for this ?
Thanks very much.