WSO2 Integrator 6.1.1 HTTP会话复制:非可序列化属性CarbonAuthenticator

时间:2017-05-15 08:46:44

标签: wso2 session-replication integrator

我在负载均衡器后面有2个WSO2 Enterprise Integrator。

我想激活tomcat http会话复​​制,并遵循WSO2文档。 看起来很简单: 添加

<Cluster className="org.wso2.carbon.core.session.CarbonTomcatSimpleTcpCluster"/>
and
<Valve className="org.wso2.carbon.webapp.mgt.session.CarbonTomcatSessionReplicationValve"/>
in catalina-server.xml, and make application distributable by adding <distributable/>

在web.xml中。

糟糕的是,WSO2似乎在会话中添加了一些非可序列化的属性,导致复制失败。 当我尝试连接到碳应用程序时,我得到以下异常:

ERROR - ApplicationDispatcher Servlet.service() for servlet bridgeservlet threw exception java.lang.IllegalArgumentException: setAttribute: Non-serializable attribute CarbonAuthenticator
    at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1453)
    at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1413)
    at org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:149)
    at org.eclipse.equinox.http.servlet.internal.HttpSessionAdaptor.setAttribute(HttpSessionAdaptor.java:96)
    at org.wso2.carbon.ui.tracker.AuthenticatorRegistry.getCarbonAuthenticator(AuthenticatorRegistry.java:82)
    at org.wso2.carbon.ui.CarbonUILoginUtil.getAuthenticator(CarbonUILoginUtil.java:69)
    at org.wso2.carbon.ui.CarbonSecuredHttpContext.handleSecurity(CarbonSecuredHttpContext.java:76)
    at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:60)
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
    at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)

精确度:我尝试使用新的WSO2EI 6.1.1安装,只进行前面描述的修改。

我还必须在wso2 / lib / endorsed上手动添加tomcat-juli-7.0.75.jar和tomcat-trives-7.0.75.jar以避免ClassNotFoundException。

我检查了WSO2源代码,发现CarbonAuthenticator类实际上是不可序列化的。

是否有人已成功配置http会话复​​制?

提前致谢,

此致

劳伦

0 个答案:

没有答案