My Oracle Support Banner

Coherence*Web 에서 coherence-preserve-attributes 를 True로 설정시 "Future Serialization Exceptions For This Class Will Not Be Reported" 메세지 발생 (Doc ID 2369202.1)

Last updated on MARCH 07, 2018

적용 대상:

Oracle Coherence - 버전 3.6.0 과(와) 그 후속
이 문서의 내용은 모든 플랫폼에 적용됩니다.
***Checked for relevance on 23-Sep-2013***

증상

아래 표시된 오류는  HTTP 세션 저장소를 Coherence * Web을 사용하도록 구성하고 애플리케이션의 web.xml 파일에 다음 옵션을 설정 한 웹 애플리케이션을 실행중인 웹 컨테이너에 의해 보고됩니다.

coherence-preserve-attributes=true


true로 설정되었을 경우, 비직렬화(non-serialize) 속성을 로컬에 보존할 것을 지정합니다.

다음은 오류 스택입니다:

2011-08-10 16:33:50.562/731.281 Oracle Coherence GE 3.6.0.0 <Warning> (thread=[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)', member=6): Failed to serialize the MyAttribute attribute (of type "com.company.some.ContainerObject") for session c5UwjGlFobvRVA4rY8cgBgh8n97Zs1G08jdeHC6iRfIzJeUyIga1
The unserializable attribute value toString(): " com.company.some.ContainerObject@123acf ".
The following exception occurred during its serialization:
java.io.NotSerializableException:
com.company.some.SomeNonSerializableObject
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
...
... Additional serialization stack frames deleted for clarity
...
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at com.tangosol.util.ExternalizableHelper.writeSerializable(ExternalizableHelper.java:2216)
at com.tangosol.util.ExternalizableHelper.writeObjectInternal(ExternalizableHelper.java:2638)
at com.tangosol.util.ExternalizableHelper.serializeInternal(ExternalizableHelper.java:2564)
at com.tangosol.util.ExternalizableHelper.toBinary(ExternalizableHelper.java:211)
at com.tangosol.coherence.servlet.TraditionalHttpSessionModel$OptimizedHolder.serializeValue(TraditionalHttpSessionModel.java:277)
at com.tangosol.coherence.servlet.TraditionalHttpSessionModel$OptimizedHolder.getBinary(TraditionalHttpSessionModel.java:181)
at com.tangosol.coherence.servlet.TraditionalHttpSessionModel$OptimizedHolder.prepareWrite(TraditionalHttpSessionModel.java:308)
at com.tangosol.coherence.servlet.SplitHttpSessionModel$SplittableHolder.prepareWrite(SplitHttpSessionModel.java:528)
at com.tangosol.coherence.servlet.AbstractHttpSessionModel$AttributeHolder.flush(AbstractHttpSessionModel.java:2398)
at com.tangosol.coherence.servlet.SplitHttpSessionModel$SplittableHolder.flush(SplitHttpSessionModel.java:326)
at com.tangosol.coherence.servlet.AbstractHttpSessionModel.flush(AbstractHttpSessionModel.java:1585)
at com.tangosol.coherence.servlet.SplitHttpSessionModel.flush(SplitHttpSessionModel.java:104)
at com.tangosol.coherence.servlet.AbstractHttpSessionCollection.exit(AbstractHttpSessionCollection.java:706)
at com.tangosol.coherence.servlet.SessionHelper.exitSession(SessionHelper.java:2267)
at weblogic.servlet.internal.session.CoherenceWebSessionContextImpl.sync(CoherenceWebSessionContextImpl.java:377)
at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:2740)
at weblogic.servlet.internal.ServletRequestImpl$SessionHelper.syncSession(ServletRequestImpl.java:2715)
at weblogic.servlet.internal.ServletResponseImpl$1.run(ServletResponseImpl.java:1478)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:1472)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1441)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

(Future serialization exceptions for this class will not be reported.)

변경 내역

이 오류가 이전에 표시되지 않은 경우  응용 프로그램 코드를 변경으로 비직렬화 객체가 HttpSession 속성으로 저장 되도록 했을 것입니다. 결과적으로 이 문제를 해결하기 위해 coherence-preserve-attributes = true를 사용할 수 있습니다.

원인

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.