2009-10-28 8 views
0

Je suis nouveau sur JBOSS. J'essaie d'écrire un mBean qui communiquera à partir de l'AS sur un canal de multidiffusion en utilisant JGroups. Le code J'utilise dans mon mbean est inférieure à ...Communication entre JBOSS AppServer et le client via multicast

public void create() throws Exception { 
channel=new JChannel("test/udp.xml"); 
channel.connect("ChatCluster"); 

}

public void sendMsg() throws ChannelNotConnectedException, 
             ChannelClosedException { 
channel.send(new org.jgroups.Message(
        null,null, "hello from the server!")); 

}

J'ai aussi créé un client qui est à l'écoute sur le canal, mais les deux sont ne communique pas .. Voici le XML pour le canal ..

<UDP 
    mcast_port="45700" 
    mcast_addr="224.0.0.11" 
    tos="8" 
    ucast_recv_buf_size="20000000" 
    ucast_send_buf_size="640000" 
    mcast_recv_buf_size="25000000" 
    mcast_send_buf_size="640000" 
    loopback="true" 
    discard_incompatible_packets="true" 
    max_bundle_size="64000" 
    max_bundle_timeout="30" 
    ip_ttl="${jgroups.udp.ip_ttl:32}" 
    enable_bundling="true" 
    enable_diagnostics="true" 
    thread_naming_pattern="cl" 

    thread_pool.enabled="true" 
    thread_pool.min_threads="2" 
    thread_pool.max_threads="8" 
    thread_pool.keep_alive_time="5000" 
    thread_pool.queue_enabled="true" 
    thread_pool.queue_max_size="10000" 
    thread_pool.rejection_policy="discard" 

    oob_thread_pool.enabled="true" 
    oob_thread_pool.min_threads="1" 
    oob_thread_pool.max_threads="8" 
    oob_thread_pool.keep_alive_time="5000" 
    oob_thread_pool.queue_enabled="false" 
    oob_thread_pool.queue_max_size="100" 
    oob_thread_pool.rejection_policy="Run"/> 

Toute aide serait grandement appréciée car j'ai passé quelques attacher ceci et essaye de comprendre cela. Je préférerais utiliser un autre echanism pour la communication, cependant je suis limité à juste l'utilisation de multicast ... longue histoire ..

Merci!

~ Boulon

Répondre

0

Il s'est avéré que j'avais plusieurs cartes NIC sur mon système, donc j'ai mis le drapeau receive_on_all_interfaces = "true".

0

Votre réseau est-il configuré pour la multidiffusion? La documentation de JGroups contient plusieurs pointeurs. trucs ne fonctionne pas, et certains programmes de test. Voir le Installation Guide, section 2.6 sur. Si votre réseau est bon, alors le programme

java org.jgroups.demos.Draw 

devrait fonctionner sans problème. Si tel est le cas, je prendrais une configuration JGroups connue pour être bonne, et configurerais votre système avec ça, et travaillerais à partir de là.

+0

Oui, le tirage fonctionne. Si vous exécutez deux des clients utilisant le XML ci-dessus, ils "se voient" les uns les autres. Le problème est d'essayer de faire en sorte que le mBean "voie" le client et vice versa. Je suppose que cela a quelque chose à voir avec la configuration de JBOSS .... – Boltimuss