This article provides a workaround in case the GemFire HTTP session management modules for AppServer don't work properly as a result of failing register instantiators for related classes which are required to de/serialize instances of those classes.
In the case of complex configuration (especially, applying GemFire HTTP session management modules based on client-server configuration on GemFire clusters across WAN Gateways), GemFire HTTP session management modules sometimes can't work properly because of failing to register instantiators for related classes. In this case, you may see the following kinds of messages in the logs.
Client Side Log Message:
No Instantiator has been registered for class with id 27,315
Server Side Log Message:
Instantiator registered with id 27,315 class com.gemstone.gemfire.modules.session.filter.GemfireHttpSession : Error registering instantiator on pool: ...(any reasons)
If you continuously see this issue even if there are no network issues, follow the steps to configure to register instantiators for related classes locally:
Class.forName(GemfireHttpSession.class.getName()); Class.forName(DeltaSessionAttributes.class.getName()); Class.forName(DeltaQueuedSessionAttributes.class.getName()); :
<serialization-registration> <instantiator id="27315"> <class-name>com.gemstone.gemfire.modules.session.filter.GemfireHttpSession</class-name> </instantiator> <instantiator id="347"> <class-name>com.gemstone.gemfire.modules.session.filter.attributes.DeltaSessionAttributes</class-name> </instantiator> <instantiator id="3479"> <class-name>com.gemstone.gemfire.modules.session.filter.attributes.DeltaQueuedSessionAttributes</class-name> </instantiator> : </serialization-registration>