J'ai regardé le module IP d'intégration de printemps, je voulais créer un canal UDP pour recevoir, mais j'ai trouvé que je ne peux le faire avec XML. Je pensais que je pourrais faire quelque chose si je regardais dans le code d'implémentation, mais cela crée la définition du bean elle-même, à partir des paramètres fournis dans xml. Je ne peux pas utiliser les définitions XML dans mon code, est-il possible de le faire fonctionner avec Spring sans xml? Alternativement, y a-t-il une meilleure façon de travailler avec java avec udp?Intégration de printemps canal ip - udp avec le code java seulement
Répondre
partir de la version 5.0
il y a Java DSL sur la question déjà, de sorte que le code pour UDP canal adaptateurs peut ressembler à:
@Bean
public IntegrationFlow inUdpAdapter() {
return IntegrationFlows.from(Udp.inboundAdapter(0))
.channel(udpIn())
.get();
}
@Bean
public QueueChannel udpIn() {
return new QueueChannel();
}
@Bean
public IntegrationFlow outUdpAdapter() {
return f -> f.handle(Udp.outboundAdapter(m -> m.getHeaders().get("udp_dest")));
}
Mais avec la version existante Spring Integration, vous pouvez simplement configurer UnicastReceivingChannelAdapter
bean:
Dans le Manuel de référence, vous trouverez le chapitre Tips and Tricks pour quelques informations sur l'écriture de l'application Spring Integration avec Java brut et la configuration des annotations.
J'ai ajouté JIRA pour traiter l'exemple Java dans le manuel de référence.
wow, fonctionne comme un charme, merci :) Comment l'avez-vous trouvé/compris, vous devez l'utiliser? ... upd: regarda le profil, fait maintenant un sens :) – Sarief
s'avère, comme indiqué dans la réponse, je regardais UdpInboundChannelAdapterParser au lieu de org.springframework.integration.ip.udp.UnicastReceivingChannelAdapter. – Sarief