Я пытаюсь запустить свое приложение на 2 узлах Wildfly 16, работающих в автономном режиме с использованием конфигурации standalone-full-ha.xml
.Когда запускается 2-й узел, первый пытается распределить / сбалансировать кэш web
по умолчанию для нового узла.
Когда это происходит, в журнале на первом узле появляется следующее сообщение об ошибке:и 2-й узел не запускается:
13:45:48,487 ERROR [org.infinispan.remoting.rpc.RpcManagerImpl] (transport-thread--p18-t8) ISPN000073: Unexpected error while replicating: org.infinispan.commons.marshall.NotSerializableException: org.wildfly.transaction.client.ContextTransactionManager
Caused by: an exception which occurred:
in field com.arjuna.ats.jta.cdi.transactional.TransactionalInterceptorBase.transactionManager
in object com.arjuna.ats.jta.cdi.transactional.TransactionalInterceptorRequired@73962bdb
in field org.jboss.weld.contexts.SerializableContextualInstanceImpl.instance
in object org.jboss.weld.contexts.SerializableContextualInstanceImpl@333ebcb5
in object org.jboss.weld.contexts.SerializableContextualInstanceImpl@333ebcb5
in field java.util.Collections$SynchronizedCollection.c
in object java.util.Collections$SynchronizedList@333ebcd4
in field org.jboss.weld.contexts.CreationalContextImpl.dependentInstances
in object org.jboss.weld.contexts.CreationalContextImpl@4dc7055b
in field org.jboss.weld.contexts.SerializableContextualInstanceImpl.creationalContext
in object org.jboss.weld.contexts.SerializableContextualInstanceImpl@57504e37
in object org.jboss.weld.contexts.SerializableContextualInstanceImpl@57504e37
13:45:50,718 ERROR [org.infinispan.statetransfer.OutboundTransferTask] (transport-thread--p18-t8) Failed to send entries to node node2: org.wildfly.transaction.client.ContextTransactionManager: org.infinispan.commons.marshall.NotSerializableException: org.wildfly.transaction.client.ContextTransactionManager
Caused by: an exception which occurred:
in field com.arjuna.ats.jta.cdi.transactional.TransactionalInterceptorBase.transactionManager
in object com.arjuna.ats.jta.cdi.transactional.TransactionalInterceptorRequired@73962bdb
in field org.jboss.weld.contexts.SerializableContextualInstanceImpl.instance
in object org.jboss.weld.contexts.SerializableContextualInstanceImpl@333ebcb5
in object org.jboss.weld.contexts.SerializableContextualInstanceImpl@333ebcb5
in field java.util.Collections$SynchronizedCollection.c
in object java.util.Collections$SynchronizedList@333ebcd4
in field org.jboss.weld.contexts.CreationalContextImpl.dependentInstances
in object org.jboss.weld.contexts.CreationalContextImpl@4dc7055b
in field org.jboss.weld.contexts.SerializableContextualInstanceImpl.creationalContext
in object org.jboss.weld.contexts.SerializableContextualInstanceImpl@57504e37
in object org.jboss.weld.contexts.SerializableContextualInstanceImpl@57504e37
Некоторые другие вещи, на которые следует обратить внимание:
- Сбой при запуске одного из моих WAR, который распространяется внутри EAR, но недругие 2 WAR, которые также развернуты в EAR
- My
web.xml
, помечены как <distributable/>
для всех 3 WAR - Мои другие кэши, кажется, прекрасно воспроизводятся
Кажется, я не могу понять, где используется ContextTransactionManager
или почему он может быть сериализован в кеш сессии.Я предполагаю, что это может быть где-то в моем коде, но я не могу понять, где даже начать искать.Будем благодарны за любую помощь!
Обновление (28/05/2019): Вот пара скриншотов из консоли управления, показывающая 2 сессии, которые создаются при запуске (мы используем JSP в нашемвеб-приложение, и у нас есть служба запуска, которая запускается для предварительной компиляции всех файлов JSP):
![Session 2](https://i.stack.imgur.com/bJRRM.png)