[webbeans-issues] [JBoss JIRA] Updated: (WBRI-283) Clustered WebBeans, no support for sessionscoped (and higher) replication

John Ament (JIRA) jira-events at lists.jboss.org
Thu Oct 1 14:46:49 EDT 2009


     [ https://jira.jboss.org/jira/browse/WBRI-283?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Ament updated WBRI-283:
----------------------------

    Attachment: ClusteredWebBeansTestApp.zip


This is the best I can come up with right now.  I'm traveling so maybe next week I can take a closer look.  This app will deploy, but not run.  Calls to the EWB that's been marked clustered don't work.  I believe it will work if you remove @Clustered from the EWB.

There's an ant build script.  src/ejb/java and src/web/java are the source dirs.  There's a bunch of xml files too.

Once deployed on a single machine you should see it as

http://localhost:8080/cwb-testapp/

But to really test it  you'll need 2 jboss instances.

> Clustered WebBeans, no support for sessionscoped (and higher) replication
> -------------------------------------------------------------------------
>
>                 Key: WBRI-283
>                 URL: https://jira.jboss.org/jira/browse/WBRI-283
>             Project: Web Beans
>          Issue Type: Bug
>          Components: Scopes & Contexts
>    Affects Versions: 1.0.0.PREVIEW1
>         Environment: JBoss AS 5.1 + JDK 6
>            Reporter: John Ament
>             Fix For: 1.0.0.CR2
>
>         Attachments: ClusteredWebBeansTestApp.zip
>
>
> From what I can tell, this is what happens.
> Assume you have a 2 node environment w/ apache httpd + mod_jk in front of the jboss servers, used to limit servers exposed + a loadbalancer (F5 ASM) in front of those.  The apache servers are only configured to talk to one jboss server each (httpd + jboss are on same box, they only talk to the local client).  the f5 serving the initial request is configured for pure round robin (no cookie persistence) and as a result request 1 could go to server 1 and then request 2 goes to server 2.
> Now assume that the two jboss servers are clustered together, the EJBs are clustered and have a cache policy (based on the JBoss annotations).  They only have local interfaces.  In addition, there are some classes that are only POJOs; but they sit in the ejb module.  Based on what's happening these objects should be replicated as part of the HTTP session state.
> A few problems seem to occur when the request goes to the second server after the first request goes to the first server.
> 1. References to the resources required by the EJBs are not injected in the second server.  This includes members decorated @Resource or @PersistenceContext
> 2. References to EJBs required at the view level are not restored.
> In addition, concurrent modification exceptions seem to be more likely when deployed like this, resulting in having to downgrade EJBs to POJOs in order to remain stateful.

-- 
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

        



More information about the weld-issues mailing list