6 Replies Latest reply on Jun 10, 2008 2:40 PM by Galder Zamarreño

    JBPAPP-864/EJBTHREE-1109 - clustered home proxies

    Galder Zamarreño Master

      Re: http://jira.jboss.com/jira/browse/JBPAPP-864

      As promised, I've attached a ZIP file containing:
      - patch file with the fix and the corresponding test cases.
      - zip containing the html reports of the entire EJB3 test suite run with the fix.

      Regarding the reports, there's only two tests failing, one is org.jboss.ejb3.test.bank.unit.BankDeploymentDescriptorTestCase which I couldn't reproduce the failure when run individually and org.jboss.ejb3.test.invoker.unit.InvokerTestCase which is not even part of the continous build and I'm planning to phase out anyway (see http://jira.jboss.com/jira/browse/JBAS-5464). Other than these two tests, everythin looks good :)

      With regards to the fix, one thing to note: Both SLSB and SFSB containers would create a new bean factory whenever home.create() was called. We can't do this for clustered homes because the creation of a new factory is pretty expensive (create HATargets, create FamilyClusterInfo....etc) and after having a quick chat with Brian don't think would work. So, as you can see from the code, I've used different tricks to be able to retrieve the factory itself. They're probably hacks but they seem to work Ok and this fix is oriented at AS/EAP 4.x so it was never gonna be pretty. It is my intention to tackle this JIRA in trunk once I've got the EAP fix done as deadline for this comes earlier and for the trunk version, I'm happy to discuss design of this further. The aim with AS/EAP 4.x is to get it to work.

      On top of that, I've added some much needed TRACE logging here and there to be able to figure out what happens inside of EJB3 as I don't always have a debugger at hand :)

      A quick note about the patch itself. It contains some code that is changed when EAP 4.x is checked out. This is part of the magic that switches between EAP 4.3 and 4.2. The code changed by this magic is fairly obvious and hope it doesn't confuse you. Please let me know if you need a patch without this.