Translated message

A translation of this page exists in English.

java.io.NotActiveException: writeFields() may only be called when the fields have not yet been written エラーが発生する

Solution Unverified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content