Announcement Announcement Module
Collapse
No announcement yet.
Weblogic EJB3 refresh-home-on-connect-failure Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Weblogic EJB3 refresh-home-on-connect-failure

    I'm trying to use jee:remote-slsb with Weblogic 10 EJB3. This configuration seems to work with Spring 2.5.5:

    <jee:remote-slsb id="arenaService"
    jndi-name="test.TestService#com.my.myapp.test.TestServi ce"
    business-interface="com.my.myapp.test.TestService"
    cache-home="true"
    lookup-home-on-startup="true"
    resource-ref="false"
    home-interface="com.my.myapp.test.TestService"
    refresh-home-on-connect-failure="true"
    environment-ref="environment" />

    However, if I restart the EJB application to test refresh-home-on-connect-failure, I get the following error:

    63010 [main] DEBUG simple.RemoteTest - [WorkManager:002916]Request belonging to WorkManager default, application myapp is rejected as the WorkManager is shutdown; nested exception is: weblogic.work.WorkRejectedException: [WorkManager:002916]Request belonging to WorkManager default, application myapp is rejected as the WorkManager is shutdown
    javax.ejb.EJBException: [WorkManager:002916]Request belonging to WorkManager default, application myapp is rejected as the WorkManager is shutdown; nested exception is: weblogic.work.WorkRejectedException: [WorkManager:002916]Request belonging to WorkManager default, application myapp is rejected as the WorkManager is shutdown
    weblogic.work.WorkRejectedException: [WorkManager:002916]Request belonging to WorkManager default, application myapp is rejected as the WorkManager is shutdown
    at weblogic.rjvm.ResponseImpl.unmarshalReturn(Respons eImpl.java:221)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicR emoteRef.java:223)
    at com.my.myapp.test.impl.TestService_900zbw_TestServ iceImpl_1030_WLStub.getBalance(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at weblogic.ejb.container.internal.RemoteBusinessIntf Proxy.invoke(RemoteBusinessIntfProxy.java:64)
    at $Proxy0.getBalance(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.remoting.rmi.RmiClientIntercep torUtils.invokeRemoteMethod(RmiClientInterceptorUt ils.java:108)
    at org.springframework.ejb.access.SimpleRemoteSlsbInv okerInterceptor.doInvoke(SimpleRemoteSlsbInvokerIn terceptor.java:98)
    at org.springframework.ejb.access.AbstractRemoteSlsbI nvokerInterceptor.invokeInContext(AbstractRemoteSl sbInvokerInterceptor.java:137)
    at org.springframework.ejb.access.AbstractSlsbInvoker Interceptor.invoke(AbstractSlsbInvokerInterceptor. java:188)
    at org.springframework.aop.framework.ReflectiveMethod Invocation.proceed(ReflectiveMethodInvocation.java :171)
    at org.springframework.aop.framework.JdkDynamicAopPro xy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy1.getBalance(Unknown Source)
    at simple.RemoteTest.pingTest(RemoteTest.java:74)
    at simple.RemoteTest.main(RemoteTest.java:63)
    javax.ejb.EJBException: [WorkManager:002916]Request belonging to WorkManager default, application myapp is rejected as the WorkManager is shutdown; nested exception is: weblogic.work.WorkRejectedException: [WorkManager:002916]Request belonging to WorkManager default, application myapp is rejected as the WorkManager is shutdown
    at weblogic.ejb.container.internal.RemoteBusinessIntf Proxy.invoke(RemoteBusinessIntfProxy.java:81)
    at $Proxy0.getBalance(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.remoting.rmi.RmiClientIntercep torUtils.invokeRemoteMethod(RmiClientInterceptorUt ils.java:108)
    at org.springframework.ejb.access.SimpleRemoteSlsbInv okerInterceptor.doInvoke(SimpleRemoteSlsbInvokerIn terceptor.java:98)
    at org.springframework.ejb.access.AbstractRemoteSlsbI nvokerInterceptor.invokeInContext(AbstractRemoteSl sbInvokerInterceptor.java:137)
    at org.springframework.ejb.access.AbstractSlsbInvoker Interceptor.invoke(AbstractSlsbInvokerInterceptor. java:188)
    at org.springframework.aop.framework.ReflectiveMethod Invocation.proceed(ReflectiveMethodInvocation.java :171)
    at org.springframework.aop.framework.JdkDynamicAopPro xy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy1.getBalance(Unknown Source)
    at simple.RemoteTest.pingTest(RemoteTest.java:74)
    at simple.RemoteTest.main(RemoteTest.java:63)
    63011 [main] DEBUG simple.RemoteTest - waiting for execution


    It seems that if bean reference is stale Weblogic throws EJBException which does not cause Spring to refresh the home. Without caching everything works as expected.

    Can someone tell if this can be fixed or worked around?

  • #2
    Originally posted by olli View Post
    I'm trying to use jee:remote-slsb with Weblogic 10 EJB3. This configuration seems to work with Spring 2.5.5:

    <jee:remote-slsb id="arenaService"
    jndi-name="test.TestService#com.my.myapp.test.TestServi ce"
    business-interface="com.my.myapp.test.TestService"
    cache-home="true"
    lookup-home-on-startup="true"
    resource-ref="false"
    home-interface="com.my.myapp.test.TestService"
    refresh-home-on-connect-failure="true"
    environment-ref="environment" />

    However, if I restart the EJB application to test refresh-home-on-connect-failure, I get the following error:

    63010 [main] DEBUG simple.RemoteTest - [WorkManager:002916]Request belonging to WorkManager default, application myapp is rejected as the WorkManager is shutdown; nested exception is: weblogic.work.WorkRejectedException: [WorkManager:002916]Request belonging to WorkManager default, application myapp is rejected as the WorkManager is shutdown
    javax.ejb.EJBException: [WorkManager:002916]Request belonging to WorkManager default, application myapp is rejected as the WorkManager is shutdown; nested exception is: weblogic.work.WorkRejectedException: [WorkManager:002916]Request belonging to WorkManager default, application myapp is rejected as the WorkManager is shutdown
    weblogic.work.WorkRejectedException: [WorkManager:002916]Request belonging to WorkManager default, application myapp is rejected as the WorkManager is shutdown
    at weblogic.rjvm.ResponseImpl.unmarshalReturn(Respons eImpl.java:221)
    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicR emoteRef.java:223)
    at com.my.myapp.test.impl.TestService_900zbw_TestServ iceImpl_1030_WLStub.getBalance(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at weblogic.ejb.container.internal.RemoteBusinessIntf Proxy.invoke(RemoteBusinessIntfProxy.java:64)
    at $Proxy0.getBalance(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.remoting.rmi.RmiClientIntercep torUtils.invokeRemoteMethod(RmiClientInterceptorUt ils.java:108)
    at org.springframework.ejb.access.SimpleRemoteSlsbInv okerInterceptor.doInvoke(SimpleRemoteSlsbInvokerIn terceptor.java:98)
    at org.springframework.ejb.access.AbstractRemoteSlsbI nvokerInterceptor.invokeInContext(AbstractRemoteSl sbInvokerInterceptor.java:137)
    at org.springframework.ejb.access.AbstractSlsbInvoker Interceptor.invoke(AbstractSlsbInvokerInterceptor. java:188)
    at org.springframework.aop.framework.ReflectiveMethod Invocation.proceed(ReflectiveMethodInvocation.java :171)
    at org.springframework.aop.framework.JdkDynamicAopPro xy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy1.getBalance(Unknown Source)
    at simple.RemoteTest.pingTest(RemoteTest.java:74)
    at simple.RemoteTest.main(RemoteTest.java:63)
    javax.ejb.EJBException: [WorkManager:002916]Request belonging to WorkManager default, application myapp is rejected as the WorkManager is shutdown; nested exception is: weblogic.work.WorkRejectedException: [WorkManager:002916]Request belonging to WorkManager default, application myapp is rejected as the WorkManager is shutdown
    at weblogic.ejb.container.internal.RemoteBusinessIntf Proxy.invoke(RemoteBusinessIntfProxy.java:81)
    at $Proxy0.getBalance(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.remoting.rmi.RmiClientIntercep torUtils.invokeRemoteMethod(RmiClientInterceptorUt ils.java:108)
    at org.springframework.ejb.access.SimpleRemoteSlsbInv okerInterceptor.doInvoke(SimpleRemoteSlsbInvokerIn terceptor.java:98)
    at org.springframework.ejb.access.AbstractRemoteSlsbI nvokerInterceptor.invokeInContext(AbstractRemoteSl sbInvokerInterceptor.java:137)
    at org.springframework.ejb.access.AbstractSlsbInvoker Interceptor.invoke(AbstractSlsbInvokerInterceptor. java:188)
    at org.springframework.aop.framework.ReflectiveMethod Invocation.proceed(ReflectiveMethodInvocation.java :171)
    at org.springframework.aop.framework.JdkDynamicAopPro xy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy1.getBalance(Unknown Source)
    at simple.RemoteTest.pingTest(RemoteTest.java:74)
    at simple.RemoteTest.main(RemoteTest.java:63)
    63011 [main] DEBUG simple.RemoteTest - waiting for execution


    It seems that if bean reference is stale Weblogic throws EJBException which does not cause Spring to refresh the home. Without caching everything works as expected.

    Can someone tell if this can be fixed or worked around?

    Can you try cache-home="false"?

    Comment

    Working...
    X