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 of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
