java.io.NotActiveException: writeFields() may only be called when the fields have not yet been written エラーが発生する
Issue
- クラスターでアプリケーションを使用していると以下の
ERROR
が発生します (セッションのレプリケーションを妨げているようです)。
ERROR [org.infinispan.marshall.VersionAwareMarshaller] (ajp-/10.2.2.141:8009-13) ISPN000065:Exception while marshalling object: java.io.NotActiveException: writeFields() may only be called when the fields have not yet been written
at org.jboss.marshalling.river.RiverObjectOutputStream.defaultWriteObject(RiverObjectOutputStream.java:162)
at org.apache.commons.beanutils.DynaProperty.writeObject(DynaProperty.java:226) [commons-beanutils-1.6.jar:1.6]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_35]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_35]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_35]
at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_35]
at org.jboss.marshalling.reflect.SerializableClass.callWriteObject(SerializableClass.java:271)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1008)
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:886)
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:810)
at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1064)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1020)
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:886)
at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1064)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1020)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:999)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:999)
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:999)
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:886)
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:681)
at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:58)
at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:111)
at org.jboss.as.clustering.SimpleMarshalledValue.getBytes(SimpleMarshalledValue.java:85)
...
Caused by: an exception which occurred:
in field properties
in field dynaClass
in object java.util.HashMap@26571bc
in object org.jboss.as.clustering.SimpleMarshalledValue@26571bc
in object org.infinispan.atomic.PutOperation@2657cff
in object java.util.LinkedList@129b528e
in object org.infinispan.atomic.AtomicHashMapDelta@2dbf6c74
in object org.infinispan.commands.write.PutKeyValueCommand@31940b77
in object org.infinispan.commands.tx.PrepareCommand@89f4b3e9
- この問題は https://access.redhat.com/solutions/1237003 で説明されている問題と同じです。このソリューションは数ヶ月前のものですが、その修正は EAP maven リポジトリーの common-beanutils バージョンに含まれますか?
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.8.3.redhat-6</version>
</dependency>
- Red Hat が提供するバージョンを使用することがソリューションですか? それともソリューションに説明されているプロセスを実施する必要がありますか?
- サーバーを起動すると JBoss EAP 6.4 が以下の例外を投げます。
ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (ajp-/192.168.41.130:8009-1) ISPN000136:Execution error: org.infinispan.CacheException: java.lang.RuntimeException:Failure to marshal argument(s)
at org.infinispan.util.Util.rewrapAsCacheException(Util.java:542)
at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.invokeRemoteCommand(CommandAwareRpcDispatcher.java:186)
:
Caused by: java.io.NotActiveException: writeFields() may only be called when the fields have not yet been written
at org.jboss.marshalling.river.RiverObjectOutputStream.defaultWriteObject(RiverObjectOutputStream.java:162)
at org.dom4j.QName.writeObject(QName.java:239) [dom4j.jar:1.6.1]
:
Caused by: an exception which occurred:
in field _qName
in field _qName
in field _publicRenderParameters
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 6.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.