I am upgrading from JBoss AS 4.05 to JBoss 5.01. The code mentioned below works fine in JBoss 4.05.
I have a quartz job that is unable to get a remote access to a deployed EJB. I know that the EJB is deployed because I see it in the JMX console. Additionally, I wrote a client program that uses the same code (as is used by the quartz job) to access the EJB remotely. The client program works fine. It seems to be a class loader issue (where quartz is running). Here is the relevant part of the stack trace: | 2009-05-07 17:30:00,101 INFO [com.squaretrade.locator.Locator] (DefaultQuartzScheduler_Worker-2) LOOKING UP SESSION: batch/QueueingEngineMessageSenderImpl/remote | 2009-05-07 17:30:00,101 INFO [com.squaretrade.locator.Locator] (DefaultQuartzScheduler_Worker-2) USING PROVIDER URL FOR REMOTE CONTEXT: jboss-batch-local-11:1100,jboss-batch-local-12:1100 2009-05-07 17:30:00,102 DEBUG [org.jboss.ejb3.proxy.objectfactory.ProxyObjectFactory] (DefaultQuartzScheduler_Worker-2) org.jboss.ejb3.proxy.objectfactory.ProxyObjectFactory servicing request for batch/QueueingEngineMessageSenderImpl/remote | 2009-05-07 17:30:00,140 DEBUG [org.jboss.remoting.InvokerRegistry] (DefaultQuartzScheduler_Worker-2) removed org.jboss.remoting.transport.local.localclientinvo...@1ac1a45 from registry | 2009-05-07 17:30:00,140 DEBUG [org.jboss.ejb3.proxy.objectfactory.session.SessionProxyObjectFactory] (DefaultQuartzScheduler_Worker-2) Created Proxy of type $Proxy271 for EJB3 Business Interface: com.squaretrade.queueing.QueueingEngineMessageSenderRemote | 2009-05-07 17:30:00,140 INFO [com.squaretrade.locator.Locator] (DefaultQuartzScheduler_Worker-2) CAUGHT NAMING EXCEPTION: Could not dereference object ATTEMPTING RETRY | 2009-05-07 17:30:00,201 ERROR [com.squaretrade.locator.Locator] (DefaultQuartzScheduler_Worker-2) CAUGHT NAMING EXCEPTION: Could not dereference object FINISHED RETRYING | 2009-05-07 17:30:00,201 ERROR [com.squaretrade.queueing.AbstractQueueingOperation] (DefaultQuartzScheduler_Worker-2) Exception caught in AbstractQueueingOperation.execute when executing queueing spec: com.squaretrade.queueing.spec.WarrantyOrderRequeueingOperation | javax.naming.NamingException: Could not dereference object [Root exception is java.lang.RuntimeException: Can not find interface declared by Proxy in our CL + baseclassloa...@16fde80{vfszip:/usr/local/jboss-5.0.1.GA/server/batch/deploy/quartz-ra.rar/}] | at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1472) | at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:818) | at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682) | at javax.naming.InitialContext.lookup(InitialContext.java:392) | at com.squaretrade.locator.Locator.getSession(Locator.java:196) | at com.squaretrade.queueing.AbstractQueueingOperation.sendMessage(AbstractQueueingOperation.java:137) | at com.squaretrade.queueing.AbstractQueueingOperation.execute(AbstractQueueingOperation.java:101) | at com.squaretrade.semaphore.quartz.AbstractSerialQuartzJob.execute(AbstractSerialQuartzJob.java:56) | at sun.reflect.GeneratedMethodAccessor436.invoke(Unknown Source) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:597) | at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111) | at org.jboss.ejb3.EJBContainerInvocationWrapper.invokeNext(EJBContainerInvocationWrapper.java:69) | at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:73) | at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:59) | at sun.reflect.GeneratedMethodAccessor435.invoke(Unknown Source) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | at java.lang.reflect.Method.invoke(Method.java:597) | at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) | at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72) | at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_11445709.invoke(InvocationContextInterceptor_z_fillMethod_11445709.java) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) | at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.setup(InvocationContextInterceptor.java:88) | at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_setup_11445709.invoke(InvocationContextInterceptor_z_setup_11445709.java) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) | at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:62) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) | at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:56) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) | at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) | at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) | at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:68) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) | at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) | at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:194) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) | at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) | at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:80) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) | at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) | at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) | at org.jboss.ejb3.mdb.MessagingContainer.localInvoke(MessagingContainer.java:262) | at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.delivery(MessageInflowLocalProxy.java:270) | at org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.invoke(MessageInflowLocalProxy.java:140) | at $Proxy212.execute(Unknown Source) | at org.jboss.resource.adapter.quartz.inflow.QuartzJob.execute(QuartzJob.java:57) | at org.quartz.core.JobRunShell.run(JobRunShell.java:203) | at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) | Caused by: java.lang.RuntimeException: Can not find interface declared by Proxy in our CL + baseclassloa...@16fde80{vfszip:/usr/local/jboss-5.0.1.GA/server/batch/deploy/quartz-ra.rar/} | at org.jboss.ejb3.proxy.objectfactory.ProxyObjectFactory.redefineProxyInTcl(ProxyObjectFactory.java:341) | at org.jboss.ejb3.proxy.objectfactory.session.SessionProxyObjectFactory.createProxy(SessionProxyObjectFactory.java:134) | at org.jboss.ejb3.proxy.objectfactory.session.stateless.StatelessSessionProxyObjectFactory.getProxy(StatelessSessionProxyObjectFactory.java:79) | at org.jboss.ejb3.proxy.objectfactory.ProxyObjectFactory.getObjectInstance(ProxyObjectFactory.java:156) | at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304) | at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1447) | at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1464) | ... 54 more | Caused by: java.lang.ClassNotFoundException: com.squaretrade.queueing.QueueingEngineMessageSenderRemote from baseclassloa...@16fde80{vfsclassloaderpolicy@178d35f{name=vfszip:/usr/local/jboss-5.0.1.GA/server/batch/deploy/quartz-ra.rar/ domain=classloaderdom...@790192{name=defaultdomain parentPolicy=BEFORE parent=org.jboss.system.noannotationurlclassloa...@1c247a0} roots=[memorycontexthand...@24978055[path= context=vfsmemory://4sg251y-ua7hys-fug1iydt-1-fug1kcb3-22 real=vfsmemory://4sg251y-ua7hys-fug1iydt-1-fug1kcb3-22], delegatinghand...@6674454[path=quartz-ra.rar context=file:/usr/local/jboss-5.0.1.GA/server/batch/deploy/ real=file:/usr/local/jboss-5.0.1.GA/server/batch/deploy/quartz-ra.rar], delegatinghand...@5091970[path=quartz-ra.rar/quartz-ra.jar context=file:/usr/local/jboss-5.0.1.GA/server/batch/deploy/ real=file:/usr/local/jboss-5.0.1.GA/server/batch/deploy/quartz-ra.rar/quartz-ra.jar]] delegates=null exported=[org.jboss.resource.adapter.quartz.inflow, META-INF] <! IMPORT-ALL>NON_EMPTY}} | at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:422) | at java.lang.ClassLoader.loadClass(ClassLoader.java:251) | at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) | at java.lang.Class.forName0(Native Method) | at java.lang.Class.forName(Class.java:247) | at org.jboss.ejb3.proxy.objectfactory.ProxyObjectFactory.redefineProxyInTcl(ProxyObjectFactory.java:337) | ... 60 more | 2009-05-07 17:30:00,207 DEBUG [org.jboss.jpa.deployment.ManagedEntityManagerFactory] (DefaultQuartzScheduler_Worker-2) ************** closing entity managersession ************** | View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4229587#4229587 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4229587 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user