JBOSS AppServer和客户端之间通过组播进行通信

时间:2009-10-28 15:34:04

标签: jboss multicast

我是JBOSS的新手。我正在尝试编写一个mBean,它将使用JGroups通过多播通道从AS内部进行通信。我在我的mBean中使用的代码是......

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!"));

}

我还创建了一个正在监听频道的客户端,但两者没有通信..这是频道的XML ..

<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"/>

任何帮助都会受到高度赞赏,因为我已经在这方面做了一些配合,并试图解决这个问题。我宁愿使用其他一些机制来进行通信,但我仅限于使用多播...长篇故事..

谢谢!

〜螺栓

2 个答案:

答案 0 :(得分:0)

您的网络是否已设置为多播? JGroups文档有几个指针。东西不起作用,还有一些测试程序。请参阅Installation Guide,第2.6节。如果您的网络没问题,那么简单

java org.jgroups.demos.Draw

程序应该开箱即用。如果是这种情况,我会采用已知的JGroups配置,并使用它配置您的系统,并从那里开始工作。

答案 1 :(得分:0)

事实证明我的系统上有多个NIC卡,所以我设置了标志receive_on_all_interfaces =“true”。