Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-1548

Incorrect EJB Optimization to Local Server when Remote Server is specified

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • None
    • JBossAS-4.0.1 Final
    • EJB2
    • None
    • Windows XP
      10:57:18,255 INFO [Server] Release ID: JBoss [Zion] 4.0.1 (build: CVSTag=JBoss_4_0_1 date=200412230944)

      We have an application that performs a division of labor. We have the same EJB's bound and deployed on several different application servers under the same name. We have a requirement for an EJB on server A to call the same EJB on serverB. When the EJB on serverA attempts to call the EJB on serverB, it is incorrectly optimizing it to serverA.

      Here is the output from a client test I have written. I will attach the example in the next post:
      Calling serverOne at jnp://localhost:2000 directly
      Result is ServerOne (should be ServerOne)
      Calling serverTwo at jnp://localhost:2100 directly
      Result is ServerTwo (should be ServerTwo)
      Calling serverTwo through ServerOne
      Result is ServerOne (should be ServerTwo)

      I believe this is due to the following invoke method in the InvokerInterceptor class (line 93):
      /**

      • The invocation on the delegate, calls the right invoker.
      • Remote if we are remote, local if we are local.
        */
        public Object invoke(Invocation invocation)
        throws Exception { // optimize if calling another bean in same server VM if (isLocal(invocation)) return invokeLocal(invocation); else return invokeInvoker(invocation); }

      Randy Ott

              Unassigned Unassigned
              randyott_jira Randy Ott (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: