我有一个由两个jboss eap 6.3.3实例组成的jboss集群。在某些情况下,因为应用程序出现错误,两个实例会引发异常,我必须重新启动这两个实例(node1 - node 2)。
例如,当我重新启动node1并且因为停止而无法访问节点2时,节点1开始部署我的应用程序war并记录以下异常。
ERROR [org.jboss.msc.service.fail] [] (ServerService Thread Pool -- 107) MSC000001:
Failed to start service jboss.persistenceunit."app.war#persistencename":
org.jboss.msc.service.StartException in service jboss.persistenceunit."app.war#persistencename":
org.infinispan.CacheException: Unable to invoke method public void
org.infinispan.statetransfer.StateTransferManagerImpl.start() throws
java.lang.Exception on object of type StateTransferManagerImpl
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:103)
...
Caused by: org.infinispan.CacheException: org.jgroups.TimeoutException: timeout sending
message to node2/hibernate
at org.infinispan.util.Util.rewrapAsCacheException(Util.java:542)
...
Caused by: org.jgroups.TimeoutException: timeout sending
message to node2/hibernate
at org.jgroups.blocks.MessageDispatcher.sendMessage(MessageDispatcher.java:392)
之后,Jboss记录了战争的实施失败。
如果我也重新启动节点2,那么node1会毫无问题地启动并成功部署战争。
如果无法访问群集的一个节点,为什么部署会停止?