[
https://jira.jboss.org/jira/browse/JBRULES-2303?page=com.atlassian.jira.p...
]
Karl Max commented on JBRULES-2303:
-----------------------------------
At first you should start two node+(httpd loadbalancer) and login with 00,00(username,
password)on the login.seam than kill the request processor node.
The another node is try to serving the request, but I get Drools serialization exception
Clustering Seam Application + Drools Serialization error
--------------------------------------------------------
Key: JBRULES-2303
URL:
https://jira.jboss.org/jira/browse/JBRULES-2303
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 5.1.0.M1
Environment: Windows Vista, JBoss 5.1.0.GA, Seam 2.2.0.GA, Drools latest version
Reporter: Karl Max
Assignee: Mark Proctor
Attachments: clustertest-ds.xml, clustertest-ear.ear, clustertest.war,
ejb-java-files.zip
I would like to use http session replication, but I always get Drools Serialization
exception, when the either node is fail over(killed manually),
and another node is begin serving the request.
If I remove drools settings from components.xml everything works fine, except the
security.
my drools config in my components.xml:
<security:rule-based-permission-resolver
security-rules="#{securityRules}" />
<drools:rule-base name="securityRules" >
<drools:rule-files>
<value>/META-INF/rules/first.drl</value>
<value>/META-INF/rules/second.drl</value>
</drools:rule-files>
</drools:rule-base>
and the exception that I get when I stopped the either node, and the other note is begin
handle the request
2009-10-13 14:57:18,277 ERROR
[org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.SessionBasedJBossCacheService]
(ajp-192.168.1.140-8009-1) IOException occurred unmarshalling value
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)
at
java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
at
org.drools.common.DroolsObjectInputStream.<init>(DroolsObjectInputStream.java:55)
at
org.drools.common.DroolsObjectInputStream.<init>(DroolsObjectInputStream.java:49)
at org.drools.common.AbstractRuleBase.readExternal(AbstractRuleBase.java:232)
at org.drools.reteoo.ReteooRuleBase.readExternal(ReteooRuleBase.java:179)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at java.util.HashMap.readObject(HashMap.java:1030)
at sun.reflect.GeneratedMethodAccessor304.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at
org.jboss.ha.framework.server.SimpleCachableMarshalledValue.get(SimpleCachableMarshalledValue.java:94)
at
org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AbstractJBossCacheService.getUnMarshalledValue(AbstractJBossCacheService.java:660)
at
org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.SessionBasedJBossCacheService.getSessionAttributes(SessionBasedJBossCacheService.java:114)
at
org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AbstractJBossCacheService.getDistributableSessionData(AbstractJBossCacheService.java:581)
at
org.jboss.web.tomcat.service.session.distributedcache.impl.jbc.AbstractJBossCacheService.getSessionData(AbstractJBossCacheService.java:364)
at
org.jboss.web.tomcat.service.session.JBossCacheManager.loadSession(JBossCacheManager.java:1832)
at
org.jboss.web.tomcat.service.session.JBossCacheManager.findSession(JBossCacheManager.java:489)
at org.apache.catalina.connector.Request.doGetSession(Request.java:2320)
at org.apache.catalina.connector.Request.getSessionInternal(Request.java:2239)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:394)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:436)
at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:384)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira