Search code examples
spring-bootspring-integrationhornetq

link spring integration channel to hornetq


This seems to be simple but I can't work it out.

I am using spring-boot 1.2.2. I have a hornet queue setup in application.properties:

spring.hornetq.mode=embedded
spring.hornetq.embedded.enabled=true
spring.hornetq.embedded.queues=myQueue

I have imported the integration-context.xml file.

@ImportResource("integration-context.xml")

And have defined the following activator:

<int:service-activator 
    input-channel="myQueue"
    ref="myEndpointImpl"
    method="send" > 
</int:service-activator>

But when I put a message on myQueue the send method is not fired.

What am I doing wrong?


Solution

  • HornetQ is JMS Broker and having that configuration you just provide an embedded mode with one myQueue definition, which is created by Boot on application start up. See more info in the Spring Boot Manual.

    Spring Integration allows to work with JMS through the appropriate adapters.

    So, if you are going to listen to that HornetQ myQueue using Spring Integration and do some further integration flow you really should configure <int-jms:message-driven-channel-adapter> for that queue and go ahead with your <service-activator> etc. afterwards.

    Feel free to ask more questions.