Announcement Announcement Module
No announcement yet.
Remote EJB call hangs after making successful call to a second EJB Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Remote EJB call hangs after making successful call to a second EJB

    I have two EJB 3.0s; EJB 1 is deployed on server A and EJB 2 is deployed on server B. I can successful call any method on either EJB.

    Our business requires that a method on EJB 1 calls a method on EJB 2. When I make the call, the method (EJB 2) gets executed completely (as per logs) but the results never make it back to the client. The client hangs.

    I can see the constructor and desired method being called, on EJB 2.

    The context.xml file for EJB 1 has the following bean for EJB 2 (demsManagerLdap):

    <bean id="demsManagerLdap" class="org.springframework.ejb.access.SimpleRemote StatelessSessionProxyFactoryBean">
    <property name="jndiTemplate"><ref bean="jndiTemplateEjb"/></property>
    <property name="jndiName"><value> s.domain.ldap.DemsManagerLdap</value></property>
    <property name="businessInterface"><value> n.ldap.DemsManagerLdap</value></property>

    The method I'm debugging receives two strings and returns a boolean.

    Its like the remote EJB 2 is not being release and therefore causing the hold.


  • #2
    Further note; after stepping deeper into the weblogic generated ejb 3.0 source file I found the line that it seems to hang on;

    try {
    // Here is where we try to commit if it's our TX
    doTxRetry = super.postInvokeTxRetry(__wrap, __ee);
    } catch (java.lang.Throwable t) {
    __ee = t;
    doTxRetry = false;
    // do not attempt any Tx Retry if we encountered
    // an exception while attempting postInvokeTxRetry
    // instead go directly to postInvokeCleanup