Je suis une classe de configuration JmsConfig
qui gère les événements JMS à partir d'un sujet de la manière suivante:meilleure façon propre à migrer événement JMS écouter Spring Integration avec Spring Boot
- Il définit un
@Bean ConnectionFactory
, contenant une mise en œuvre ActiveMQ - il définit un
@Bean JmsListenerContainerFactory
instancier unDefaultJmsListenerContainerFactory
et passer à travers de BootDefaultJmsListenerContainerFactoryConfigurer
- il définit un
@Bean MessageConverter
contenant un paramètreMappingJackson2MessageConverter
et une coutumeObjectMapper
- J'utilise
@JmsListener
annotation pointant vers myfactory sur une méthode de mon service. C'est la seule utilisation que j'ai pour le sujet, l'abonnement seul.
Maintenant, je veux passer à Spring Integration. Après avoir lu beaucoup, et à condition que je n'ai pas besoin d'une utilisation bidirectionnelle (en rejetant Passerelles) ni un mécanisme d'interrogation (rejeter @InboundChannelAdapter
), je vais pour un message-driven-channel-adapter
, en langage de configuration XML traditionnel. J'ai trouvé que l'idiome de Java devrait être accompli au moyen de la nouvelle bibliothèque DSL d'intégration de ressort, et ainsi, je recherche l'extrait approprié.
Il semble JmsMessageDrivenChannelAdapter
est le bon équivalent, et je l'ai trouvé un moyen:
IntegrationFlows.from(Jms.messageDriverChannelAdapter(...))
Mais le problème est que cela n'accepte que le ActiveMQ ConnectionFactory ou un AbstractMessageListenerContainer
, mais pas ma botte préconfiguré JmsListenerContainerFactory
!
Comment cela devrait-il être mis en œuvre de manière ultime?
Grande réponse merci !!!!!!!!!!! – Whimusical