Abhishek Agarwal
Abhishek Agarwal

Reputation: 922

Tomcat Warning : Cannot serialize session attribute ServletRequestAttributes.DESTRUCTION_CALLBACK.SearchService

Should I implement Serializable Interface to resolve the issue?

Error Log :

05-May-2016 10:34:16.644 WARNING [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.session.StandardSession.doWriteObject Cannot serialize session attribute org.springframework.web.context.request.ServletRequestAttributes.DESTRUCTION_CALLBACK.searchController for session CAA037423C1AEEB003C4B67ED1F34CFF java.io.NotSerializableException: com.shoptell.frontoffice.rest.SearchController at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) at org.apache.catalina.session.StandardSession.doWriteObject(StandardSession.java:1710) at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:1109) at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:401) at org.apache.catalina.session.StandardManager.unload(StandardManager.java:320) at org.apache.catalina.session.StandardManager.stopInternal(StandardManager.java:487) at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5400) at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:827) at org.apache.catalina.startup.HostConfig.undeploy(HostConfig.java:1407) at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1333) at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1555) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:285) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1141) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1377) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1381) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1349) at java.lang.Thread.run(Thread.java:745)

Code :

@Scope("session")
@RestController
public class SearchController {
/** methods **/
}

Upvotes: 1

Views: 11353

Answers (1)

Andrew
Andrew

Reputation: 101

try make SearchController Serializable:

@Scope("session")
@RestController
public class SearchController implements Serializable {
/** methods **/
}

Upvotes: 4

Related Questions