Is HttpSession Passivation without JBoss Clustering possible ?

Solution Unverified - Updated -

Environment

  • JBoss Enterprise Application Platform (EAP)
    • 5.x
    • 4.x

Issue

  • Reading the docs at https://community.jboss.org/wiki/DistributableHttpSessionPassivation[1] it seems the usage of JBoss clustering is mandatory to use this feature.
    • Do we need to run a jboss cluster to use the feature "Distributable HttpSession Passivation"? If not, can you point to any documentation for this?
    • Is there support for an EAP Installation? Looking at appendix #1 from above website - is this feature production ready? On the link [1] it states
      JBoss Web also has a mechanism for passivating session from non- webapps, although as of December 2008 it should be considered experimental. See the JBoss Web documentation of the Persistent Manager.

Resolution

Http passivation is only supported with clustered web applications.

This is also captured in the official online documentation

From the community article it would appear the Tomcat PersistenceManager seems to be the alternative for non-clustered applications, but it has been flagged as experimental and not fully tested

Delving further, PersistenceManager is broken and is not supported in JBoss EAP
Here is the resulting stack trace when attempting to use the PersistenceManager

ERROR [JBossContextConfig] XML error parsing: WEB-INF/context.xml
org.jboss.xb.binding.JBossXBException: Failed to parse source: Store not found as a child of Manager in unordered_sequence: attributes?
    at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:203)
    at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:183)
    at org.jboss.xb.binding.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:133)
    at org.jboss.web.tomcat.service.deployers.JBossContextConfig.processContextConfig(JBossContextConfig.java:576)
    at org.jboss.web.tomcat.service.deployers.JBossContextConfig.init(JBossContextConfig.java:540)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:279)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.StandardContext.init(StandardContext.java:5402)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4148)
    at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:313)

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments