[ 
http://jira.jboss.com/jira/browse/JBAS-1548?page=comments#action_12315896 ]
     
Randy Ott commented on JBAS-1548:
---------------------------------

As information, changing the invoke method so that it always calls 
"invokeInvoker" fixes my problem.  Although optimization is a good idea, in 
this case we have an instance of a Remote EJB, and it should always go through 
the overhead of making a remote method invocation.  If optimization to local 
EJB's is preferrable for an application, then use a local interface.

> Incorrect EJB Optimization to Local Server when Remote Server is specified
> --------------------------------------------------------------------------
>
>          Key: JBAS-1548
>          URL: http://jira.jboss.com/jira/browse/JBAS-1548
>      Project: JBoss Application Server
>         Type: Bug
>   Components: EJBs
>     Versions: JBossAS-4.0.1 Final
>  Environment: Windows XP
> 10:57:18,255 INFO  [Server] Release ID: JBoss [Zion] 4.0.1 (build: 
> CVSTag=JBoss_4_0_1 date=200412230944)
>     Reporter: Randy Ott
>  Attachments: JBossTestOptimize.zip
>
>
> 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

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.jboss.com/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to