问题标签 [jgroups]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JGroups 收到 ClassNotFoundException
所以我试图通过集群发送一条消息,该消息将包含一个 User 对象,它是一个 Serializable 类。
当我发送一个 String 或一个 int 时,它工作得很好,消息发送没有问题,集群上的所有通道都接收它。
当我尝试发送我自己的对象用户时,它给了我这个异常;
这是我的接收代码;
奇怪的是我可以在接收中创建一个新的用户实例并且没有问题。例如;
有人有什么想法吗?
java - 带有 JGroups 的 ClassNotFoundException
我有一个 JGroups 问题,在构建我的项目后,运行它会产生这个错误:
Caused by: java.lang.ClassNotFoundException: org.jgroups.ReceiverAdapter
我的课看起来像这样 -
从 IntelliJ 运行项目不会产生任何错误,但也不会产生所需的getState()
打印setState()
。我尝试在 Eclipse IDE 中创建一个全新的项目,但那里也发生了同样的事情。连接一直工作正常,状态是我项目的新成员。
java MyClass
从命令行运行会触发在此问题开头看到的错误。JGroups jar 似乎已正确添加到类路径中,org.jgroups.Channel
并且org.jgroups.Channel
(除其他外)正在被发现。
JGroup 开发人员提供了一个SimpleChat程序,但是当我为此创建一个新项目时,我遇到了同样的问题。
编辑
所以事实证明,当从 CLI 运行时,我必须显式设置类路径。但是,在运行代码时,似乎永远不会调用getState()
andsetState()
方法,因为没有打印语句。SimpleChat
不会received state...
像预期的那样打印。
有没有人有办法解决吗?
最好的。
java - 严重:JGRP000019:将消息传递给接收者失败:%s
我正在尝试使用 JGroup 多播包含多个 ResultSet 的 Serializable 对象。该对象似乎可以正常接收,因为遵循以下 if 语句:
但是,当我尝试在此对象包含的 ResultSet 上运行操作时,我在此行收到 NullPointer 异常:
这是堆栈跟踪:
有人可以让我知道我可能做错了什么来得到那个错误吗?
tcp - JGroups UDP 用于成员资格,但 TCP 用于消息传递?
我们正在设计一个基于 jgroups 的集群节点消息传递系统的原型,它将取代基于 JDBC 的系统。我的组织中有很多人担心向已经很繁忙的网络添加更多的多播流量,所以我在 UDP/多播解决方案上遇到了一些阻力。
我知道 JGroups 可以仅配置为 TCP,但我不想在应用程序中强制执行配置步骤,在该应用程序中必须提前在配置文件中识别每个节点。
然后我想看看我们是否可以在这里获得混合工作,其中多播仅用于组成员身份操作(发现、心跳、故障检测),但消息传递都是基于 TCP 的。
但是,我在搜索中没有找到这样的示例,因此我质疑是否可以通过这种方式配置 JGroups。
可以吗,以及任何显示如何的示例配置?
谢谢!
jboss - jboss在ec2中使用s3ping
我试图让 s3ping 发现方法在 jboss 中工作为 7。我已经部署了一个集群的示例 Web 应用程序。截至目前,我有一个节点。但在不久的将来,我将在集群中添加更多节点..
我已使用所需的 s3 凭据和存储桶详细信息修改了文件 Standalone-ha.xml。
我使用以下命令启动这个 jboss 实例。
它启动成功,但无法看到在 s3 存储桶内创建的任何节点信息文件。请指导我通过正确的方法来完成这项工作......或者我在配置中犯了一些错误......
问候
java - EC2 上跨 jgroups 通道丢失数据包的问题
当尝试在 Amazon 的 64 位 linux AMI 上运行的 Jgroups 3.1.0-FINAL 上在 EC2(大型实例)上设置 Infinispan 时,我们一直看到不一致的网络故障。一个空的缓存开始正常并且似乎可以工作一段时间,但是一旦缓存已满,一个新的服务器正在同步导致缓存锁定。
我们决定推出自己的缓存,但看到的行为大致相同。在同步期间交换了 10 兆字节,但它们没有被淹没。在应用程序级别有一个来回数据 - > ack 对话,但看起来有些消息永远不会到达远程。
在查看 UNCAST 跟踪记录时,我看到以下内容:
这是我们的Jgroups 堆栈。我们PING
在运行时将协议替换为我们自己的EC2_PING
版本,该版本使用 AWS 调用来查找其他集群成员候选者。这不是连接问题。
任何想法为什么某些数据包没有到达目的地?
java - 了解 urlclassloader,如何访问加载的 jar 的类
我试图了解如何使用 URLClassLoader 访问/使 jar 文件可用。
首先,我正在加载 jar 文件
打印输出显示了 jgroups-3.4.2.Final.jar 中声明的字段,但随后会引发 classnotfound 错误。
我不明白为什么打印输出显示该类已加载但找不到?
谢谢艺术
java - jgroups Connection.Receiver 的问题
我们正在使用 jgroups 通过我们的集群同步几个 java 对象。目前我们只有两台服务器,我们使用 TCP 协议。我们为同步配置了一个 tcp 端口(42812)。
我们发现了以下问题:当服务器运行一段时间,1 小时到 3 小时,那么内存使用量就会增加很多。这就是我们进行堆转储并在两台服务器上发现以下泄漏嫌疑人的原因:
当我们进行 tcp 转储时,我们只看到通过 42813 端口发送的 syn ack 包,但这是在内存增加之后。所以在我们看来,服务器正在通过未配置的端口接收消息并且不处理它们。内存使用量永远不会超过 1.650.814.560 字节,并且同步的容器是同步的,所以我们没有同步问题。我们在 spring xml 配置中将 JChannel 配置为 port_range 为 0:
在我们看来,对于这种配置,节点不应通过端口 42813 进行通信。
Connection.Receiver 怎么可能通过这个端口接收这么多数据,为什么它没有被处理?
jgroups - Jgroups:局域网中是否需要使用merge2
我Jgroups
用来集群局域网中的三台机器。所有机器都连接到单个交换机。
是否需要merge2
在我的配置中使用?我可以通过删除来获得任何性能优势merge2
吗?
infinispan - 为 JGroups 配置地址和端口
使用 JGroups 时,通过 Infinispan 等组件,可以配置 JGroups 将使用的端口和地址。
例如:
但这让我感到困惑。集群的所有成员怎么能都使用同一个端口,addr?
我原以为每个成员都有自己的端口,并且必须知道它需要与之交谈的其他成员的端口(和地址)?
谢谢