Environnement: JBoss 5.1.0, 2.2.0 JBoss Seamapplication lance NotSerializableException lorsqu'il est exécuté sur un cluster jboss
Tout en essayant d'obtenir mon application en cours d'exécution dans un environnement en cluster après la connexion, je reçois l'exception suivante. Après la connexion, nous essayons de stocker le currentUser dans le contexte de la session jboss seam.
java.io.NotSerializableException: org.jboss.seam.util.AnnotatedBeanProperty
Comment résoudre ceci?
java.io.NotSerializableException: org.jboss.seam.util.AnnotatedBeanProperty
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java
:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:14
74)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java
:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:14
74)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.ArrayList.writeObject(ArrayList.java:570)
at sun.reflect.GeneratedMethodAccessor339.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:94
5)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:14
61)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java
:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:14
74)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.HashMap.writeObject(HashMap.java:1001)
at sun.reflect.GeneratedMethodAccessor338.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:94
5)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:14
61)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at org.jboss.ha.framework.server.SimpleCachableMarshalledValue.serialize
(SimpleCachableMarshalledValue.java:271)
at org.jboss.ha.framework.server.SimpleCachableMarshalledValue.writeExte
rnal(SimpleCachableMarshalledValue.java:252)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:
1421)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1390)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at org.jboss.cache.marshall.CacheMarshaller200.marshallObject(CacheMarsh
aller200.java:460)
at org.jboss.cache.marshall.CacheMarshaller300.marshallObject(CacheMarsh
aller300.java:47)
at org.jboss.cache.marshall.CacheMarshaller200.marshallMap(CacheMarshall
er200.java:569)
at org.jboss.cache.marshall.CacheMarshaller200.marshallObject(CacheMarsh
aller200.java:370)
at org.jboss.cache.marshall.CacheMarshaller300.marshallObject(CacheMarsh
aller300.java:47)
at org.jboss.cache.marshall.CacheMarshaller200.marshallCommand(CacheMars
haller200.java:519)
at org.jboss.cache.marshall.CacheMarshaller200.marshallObject(CacheMarsh
aller200.java:314)
at org.jboss.cache.marshall.CacheMarshaller300.marshallObject(CacheMarsh
aller300.java:47)
at org.jboss.cache.marshall.CacheMarshaller200.marshallCommand(CacheMars
haller200.java:519)
at org.jboss.cache.marshall.CacheMarshaller200.marshallObject(CacheMarsh
aller200.java:314)
at org.jboss.cache.marshall.CacheMarshaller300.marshallObject(CacheMarsh
aller300.java:47)
at org.jboss.cache.marshall.CacheMarshaller200.objectToObjectStream(Cach
eMarshaller200.java:191)
at org.jboss.cache.marshall.CacheMarshaller200.objectToObjectStream(Cach
eMarshaller200.java:136)
at org.jboss.cache.marshall.VersionAwareMarshaller.objectToBuffer(Versio
nAwareMarshaller.java:182)
at org.jboss.cache.marshall.VersionAwareMarshaller.objectToBuffer(Versio
nAwareMarshaller.java:52)
at org.jboss.cache.marshall.CommandAwareRpcDispatcher$ReplicationTask.ca
ll(CommandAwareRpcDispatcher.java:369)
at org.jboss.cache.marshall.CommandAwareRpcDispatcher$ReplicationTask.ca
ll(CommandAwareRpcDispatcher.java:341)
at org.jboss.cache.util.concurrent.WithinThreadExecutor.submit(WithinThr
eadExecutor.java:82)
at org.jboss.cache.marshall.CommandAwareRpcDispatcher.invokeRemoteComman
ds(CommandAwareRpcDispatcher.java:206)
at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:
748)
at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:
716)
at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:
721)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpc
Interceptor.java:161)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpc
Interceptor.java:135)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpc
Interceptor.java:107)
at org.jboss.cache.interceptors.ReplicationInterceptor.handleCrudMethod(
ReplicationInterceptor.java:160)
at org.jboss.cache.interceptors.ReplicationInterceptor.visitPutDataMapCo
mmand(ReplicationInterceptor.java:113)
at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDat
aMapCommand.java:104)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterc
eptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(Co
mmandInterceptor.java:131)
at org.jboss.cache.commands.AbstractVisitor.visitPutDataMapCommand(Abstr
actVisitor.java:60)
at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDat
aMapCommand.java:104)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterc
eptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.TxInterceptor.attachGtxAndPassUpChain(Tx
Interceptor.java:301)
at org.jboss.cache.interceptors.TxInterceptor.handleDefault(TxIntercepto
r.java:283)
at org.jboss.cache.commands.AbstractVisitor.visitPutDataMapCommand(Abstr
actVisitor.java:60)
at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDat
aMapCommand.java:104)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterc
eptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.CacheMgmtInterceptor.visitPutDataMapComm
and(CacheMgmtInterceptor.java:97)
at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDat
aMapCommand.java:104)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterc
eptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(I
nvocationContextInterceptor.java:178)
at org.jboss.cache.interceptors.InvocationContextInterceptor.visitPutDat
aMapCommand(InvocationContextInterceptor.java:64)
at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDat
aMapCommand.java:104)
at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain
.java:287)
at org.jboss.cache.invocation.CacheInvocationDelegate.invokePut(CacheInv
ocationDelegate.java:705)
at org.jboss.cache.invocation.CacheInvocationDelegate.put(CacheInvocatio
nDelegate.java:519)
at org.jboss.ha.cachemanager.CacheManagerManagedCache.put(CacheManagerMa
nagedCache.java:277)
at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.JBossC
acheWrapper.put(JBossCacheWrapper.java:148)
at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.Abstra
ctJBossCacheService.storeSessionData(AbstractJBossCacheService.java:405)
at org.jboss.web.tomcat.service.session.ClusteredSession.processSessionR
eplication(ClusteredSession.java:1166)
at org.jboss.web.tomcat.service.session.JBossCacheManager.processSession
Repl(JBossCacheManager.java:1937)
at org.jboss.web.tomcat.service.session.JBossCacheManager.storeSession(J
BossCacheManager.java:309)
at org.jboss.web.tomcat.service.session.InstantSnapshotManager.snapshot(
InstantSnapshotManager.java:51)
at org.jboss.web.tomcat.service.session.ClusteredSessionValve.handleRequ
est(ClusteredSessionValve.java:147)
at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(Clu
steredSessionValve.java:94)
at org.jboss.web.tomcat.service.session.LockingValve.invoke(LockingValve
.java:62)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:433)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv
e.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.proce
ss(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invok
e(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedC
onnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
7)
at java.lang.Thread.run(Thread.java:619)
16:38:35,789 ERROR [CommandAwareRpcDispatcher] java.io.NotSerializableException:
org.jboss.seam.util.AnnotatedBeanProperty
16:38:35,789 WARN [/a12] Failed to replicate session YwBL69cG-zdm0m5CvzNj3Q__
java.lang.RuntimeException: Failure to marshal argument(s)
at org.jboss.cache.marshall.CommandAwareRpcDispatcher$ReplicationTask.ca
ll(CommandAwareRpcDispatcher.java:374)
at org.jboss.cache.marshall.CommandAwareRpcDispatcher$ReplicationTask.ca
ll(CommandAwareRpcDispatcher.java:341)
at org.jboss.cache.util.concurrent.WithinThreadExecutor.submit(WithinThr
eadExecutor.java:82)
at org.jboss.cache.marshall.CommandAwareRpcDispatcher.invokeRemoteComman
ds(CommandAwareRpcDispatcher.java:206)
at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:
748)
at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:
716)
at org.jboss.cache.RPCManagerImpl.callRemoteMethods(RPCManagerImpl.java:
721)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpc
Interceptor.java:161)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpc
Interceptor.java:135)
at org.jboss.cache.interceptors.BaseRpcInterceptor.replicateCall(BaseRpc
Interceptor.java:107)
at org.jboss.cache.interceptors.ReplicationInterceptor.handleCrudMethod(
ReplicationInterceptor.java:160)
at org.jboss.cache.interceptors.ReplicationInterceptor.visitPutDataMapCo
mmand(ReplicationInterceptor.java:113)
at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDat
aMapCommand.java:104)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterc
eptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(Co
mmandInterceptor.java:131)
at org.jboss.cache.commands.AbstractVisitor.visitPutDataMapCommand(Abstr
actVisitor.java:60)
at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDat
aMapCommand.java:104)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterc
eptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.TxInterceptor.attachGtxAndPassUpChain(Tx
Interceptor.java:301)
at org.jboss.cache.interceptors.TxInterceptor.handleDefault(TxIntercepto
r.java:283)
at org.jboss.cache.commands.AbstractVisitor.visitPutDataMapCommand(Abstr
actVisitor.java:60)
at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDat
aMapCommand.java:104)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterc
eptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.CacheMgmtInterceptor.visitPutDataMapComm
and(CacheMgmtInterceptor.java:97)
at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDat
aMapCommand.java:104)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterc
eptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(I
nvocationContextInterceptor.java:178)
at org.jboss.cache.interceptors.InvocationContextInterceptor.visitPutDat
aMapCommand(InvocationContextInterceptor.java:64)
at org.jboss.cache.commands.write.PutDataMapCommand.acceptVisitor(PutDat
aMapCommand.java:104)
at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain
.java:287)
at org.jboss.cache.invocation.CacheInvocationDelegate.invokePut(CacheInv
ocationDelegate.java:705)
at org.jboss.cache.invocation.CacheInvocationDelegate.put(CacheInvocatio
nDelegate.java:519)
at org.jboss.ha.cachemanager.CacheManagerManagedCache.put(CacheManagerMa
nagedCache.java:277)
at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.JBossC
acheWrapper.put(JBossCacheWrapper.java:148)
at org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.Abstra
ctJBossCacheService.storeSessionData(AbstractJBossCacheService.java:405)
at org.jboss.web.tomcat.service.session.ClusteredSession.processSessionR
eplication(ClusteredSession.java:1166)
at org.jboss.web.tomcat.service.session.JBossCacheManager.processSession
Repl(JBossCacheManager.java:1937)
at org.jboss.web.tomcat.service.session.JBossCacheManager.storeSession(J
BossCacheManager.java:309)
at org.jboss.web.tomcat.service.session.InstantSnapshotManager.snapshot(
InstantSnapshotManager.java:51)
at org.jboss.web.tomcat.service.session.ClusteredSessionValve.handleRequ
est(ClusteredSessionValve.java:147)
at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(Clu
steredSessionValve.java:94)
at org.jboss.web.tomcat.service.session.LockingValve.invoke(LockingValve
.java:62)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:433)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv
e.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.proce
ss(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invok
e(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedC
onnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
7)
at java.lang.Thread.run(Thread.java:619)
Nous avons une interface Serializable sur toutes nos classes, toujours pas sûr de ce qui est la raison derrière cette problème. – Achaius
Est-ce seulement dans l'environnement en cluster que cette erreur se produit? Pouvez-vous montrer comment vous stockez le currentUser. –