Results 1 to 2 of 2

Thread: Weblogic EJB3 refresh-home-on-connect-failure

  1. #1
    Join Date
    Jun 2008
    Posts
    3

    Default 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. #2

    Default

    Quote 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"?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •