2017-05-25 1 views
1

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

+0

s'avère, comme indiqué dans la réponse, je regardais UdpInboundChannelAdapterParser au lieu de org.springframework.integration.ip.udp.UnicastReceivingChannelAdapter. – Sarief

Répondre

1

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.

+0

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