JBoss群集-会话按需复制/已禁用?

JBoss群集-会话按需复制/已禁用?,jboss,jboss7.x,java-ee-6,wildfly,infinispan,Jboss,Jboss7.x,Java Ee 6,Wildfly,Infinispan,我有一个应用程序,我正在“集群化”以独立的全ha模式在多个JBoss上作为7.2.0节点运行,前面是mod_集群(使用粘性会话) 集群可以工作……有点,我经常遇到来自Infinispan的ConcurrentModificationException和序列化错误问题,因为它在节点之间不断复制状态,应用程序执行大量长时间运行的处理工作,因此在任何给定时间内存中都存储了大量数组,我认为这是原因之一 我花了相当多的时间试图解决这些问题,但我认为我正在打一场失败的战斗 既然我并不真正需要“高可用性”,那

我有一个应用程序,我正在“集群化”以独立的全ha模式在多个JBoss上作为7.2.0节点运行,前面是mod_集群(使用粘性会话)

集群可以工作……有点,我经常遇到来自Infinispan的ConcurrentModificationException和序列化错误问题,因为它在节点之间不断复制状态,应用程序执行大量长时间运行的处理工作,因此在任何给定时间内存中都存储了大量数组,我认为这是原因之一

我花了相当多的时间试图解决这些问题,但我认为我正在打一场失败的战斗

既然我并不真正需要“高可用性”,那么是否可以将JBoss(或Infinispan子系统)配置为仅按需复制我的会话/EJB

我唯一真正需要它的时候是当我关闭一个节点并且我想把它的状态转移到另一个节点时,所以我希望能够从我的应用程序中触发它


…如果这是不可能的,我怎样才能完全禁用会话/Ejb复制?

如果您真的想控制复制的内容,您应该创建自己的Infinispan缓存并自己管理它们。否则,应用程序服务器所做的就是确保如果一个节点崩溃,数据将在另一个节点中继续存在,因此真正停止这样做是没有意义的。您可以做的是将要序列化的字段标记为
transient
,而
ConcurrentModificationException
s可能是由于错误的集合选择,例如,非并发集合被并发访问。@GalderZamarreño谢谢,创建我自己的缓存听起来需要做很多工作,您能提供关于如何禁用复制的详细信息吗?关于你的最后一点,这是否意味着我应该只使用Infinispan的并发集合?将事物标记为瞬态应该避免复制它们。就集合而言,我没有上下文来知道世卫组织正在同时使用什么、如何以及哪些集合。我所能看到的是,你对你的收藏做了一些错误的假设。您正在使用非并发集合,但它们是并发访问的。