configuration Xml avec prise en charge d'espace de noms permet l'imbrication des gestionnaires dans la balise de chaîne de gestionnaire comme ci-dessous:Est-il possible de configurer une intégration de printemps 'MessageHandlerChain' en utilisant uniquement des annotations Java?
<int:chain input-channel="input">
<int-xml:marshalling-transformer marshaller="marshaller" result-type="StringResult" />
<int:service-activator ref="someService" method="someMethod"/>
<int:header-enricher>
<int:header name="foo" value="bar"/>
</int:header-enricher>
<int:logging-channel-adapter level="INFO" log-full-message="true"/>
</int:chain>
Mais je ne vois pas comment cela peut être réalisé dans une configuration à base d'annotation. La documentation de référence d'intégration de Spring ne montre aucun exemple de configuration d'annotation dans la section MessageHandlerChain
(https://docs.spring.io/spring-integration/reference/html/messaging-routing-chapter.html#chain). Donc, je me demande si c'est possible ou si oui, s'il vous plaît montrez-moi un exemple de configuration.
J'ai vu des descriptions XSD mais il semble toujours impossible de configurer une chaîne de gestionnaire en utilisant uniquement des annotations. Par exemple, l'annotation pour configurer un activateur de service est '@ServiceActivator (inputChannel =" hotDrinkBarista ", outputChannel =" preparedDrinks ") public Boire prepareHotDrink (OrderItem orderItem) {...}' Ce style de configuration ne donne pas moi une référence au bean 'MessageHandler' et donc il ne peut pas être ajouté à une chaîne. Les configs DSL sont cependant une bonne alternative. – hummingV
Non; vous n'utilisez pas '@ ServiceActivator'. Voir ma modification ce n'est pas très pratique pour invoquer les services POJO, mais cela peut être fait. Le DSL est préféré. –
Gotcha. Merci beaucoup. – hummingV