2014-09-03 158 views
0

我是一个Java编程新手。我喜欢JGroups的声音,并认为我会看看。下载ReplCaheDemo jar并认为它很棒。下载了JGroups-master zip,解压缩后,使用Netbeans包中的ReplCacheDemo类,并将JGroups最终jar导入为库。在一台计算机上运行多个实例。但是,当试图在不同计算机上运行多个实例时,这些实例不会找到彼此。但网站上的ReplCacheDemo jar确实找到了它自己的其他实例。我感到困惑和沮丧。请帮忙! P.S.我不知道它是否有任何方向,但我运行ReplcCacheDemo的实例报告了一个物理地址,它是我的PC名称,而不仅仅是来自网站的jar中的IP地址让JGroups工作

+0

那么究竟是什么问题呢?关于如何设置的更多信息将会有所帮助。 – ORION 2014-09-03 12:26:43

+0

我的主要问题是为什么我的实例没有通过像演示jar这样的网络找到彼此,我该如何获得这个工作?使用Windows 7旗舰版,Netbeans 6.9.1,Java 1.6.0_21。我将ReplCacheDemo类从JGroups-master \ JGroups-master \ src \ org \ jgroups \ demos复制到Netbeans中的新包中,将JGroups jar添加到这些库中,然后运行该程序。尝试创建一个jar并运行它,但它也无法检测到我的lan上的不同计算机上的实例。你还喜欢什么其他信息? – vonsydow 2014-09-03 13:03:28

+0

我喜欢的是最小的java类,它将在不同的机器上运行,所以我可以从中找出如何构建。据我从文档中知道,默认的udp.xml应该组播。此外,只要所有JChannel都启动相同,并为同一群集命名,则应加入它们。我需要做什么才能使实例在不同的机器上找到彼此?每次我尝试它只会识别同一台机器上的实例。我从Bela Ban下载了另一个演示jar,并且完美运行。我迷路了... – vonsydow 2014-09-03 21:27:13

回答

2

有几件事要检查:

  • 是否启用了防火墙(iptables -L)?禁用它们以查看这是否有效。

  • 确保绑定地址是正确的,例如,开始-Djgroups.bind_addr = 192.168.1.5的应用程序(选择合适的地址, 127.0.0.1)

  • 您可能需要选择一个IPv4地址,除非IPv6路由设置正确:-Djava.net .preferIPv4Stack = true

+0

感谢您的信息。我以前曾尝试绑定地址并关闭防火墙,但无济于事。 -Djava.net.preferIPv4Stack = true worked.Thanks再次,我一直在疯狂,正在考虑燃烧所有我的电脑设备,放弃技术,并将生活在一个山洞! – vonsydow 2014-09-04 14:52:10