0 Replies Latest reply on Jun 18, 2010 4:07 AM by Evans Armitage

    CNFE for EJB in quartz job

    Evans Armitage Newbie

      Greetings,

       

      I'm getting the exception

      {code}

      09:38:00,786 SEVERE [SBLookupFactory] exception caught
      javax.naming.NamingException: Could not dereference object [Root exception is java.lang.RuntimeException: Can not find interface declared by Proxy in our CL + BaseClassLoader@51288e12{vfsfile:/home/armitagee/appservers/jboss-5.1.0.GA/server/node03/deploy/quartz-service.xml}]
          at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1504)
          at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:822)
          at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
          at javax.naming.InitialContext.lookup(InitialContext.java:392)
          at cib.ibot.core.web.lookup.CachingServiceLocator.lookup(CachingServiceLocator.java:53)
          at cib.ibot.core.web.lookup.CachingServiceLocator.getLocalHome(CachingServiceLocator.java:67)
          at cib.ibot.jmis.ejb3.lookup.SBLookupFactory.getApplicationFacade(SBLookupFactory.java:206)
          at cib.ibot.jmis.ejb3.session.service.StatusChecker.execute(StatusChecker.java:31)
          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 + BaseClassLoader@51288e12{vfsfile:/home/armitagee/appservers/jboss-5.1.0.GA/server/node03/deploy/quartz-service.xml}
          at org.jboss.ejb3.proxy.impl.objectfactory.ProxyObjectFactory.redefineProxyInTcl(ProxyObjectFactory.java:410)
          at org.jboss.ejb3.proxy.impl.objectfactory.session.SessionProxyObjectFactory.createProxy(SessionProxyObjectFactory.java:134)
          at org.jboss.ejb3.proxy.impl.objectfactory.session.stateless.StatelessSessionProxyObjectFactory.getProxy(StatelessSessionProxyObjectFactory.java:79)
          at org.jboss.ejb3.proxy.impl.objectfactory.ProxyObjectFactory.getObjectInstance(ProxyObjectFactory.java:161)
          at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
          at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1479)
          at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1496)
          ... 9 more

       

      Caused by: java.lang.ClassNotFoundException: cib.ibot.jmis.ejb3.session.facade.ApplicationFacadeLocal from BaseClassLoader@51288e12{VFSClassLoaderPolicy@3d87695e{name=vfsfile:/home/armitagee/appservers/jboss-5.1.0.GA/server/node03/deploy/quartz-service.xml domain=ClassLoaderDomain@666c5482{name=DefaultDomain parentPolicy=BEFORE parent=org.jboss.bootstrap.NoAnnotationURLClassLoader@15ded0fd} roots=[MemoryContextHandler@85375457[path= context=vfsmemory://a55192o-ckzqub-gakphfk8-1-gakphvtz-1h real=vfsmemory://a55192o-ckzqub-gakphfk8-1-gakphvtz-1h]]  delegates=null exported=[] <IMPORT-ALL>NON_EMPTY}}
          at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:448)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Class.java:247)
          at org.jboss.ejb3.proxy.impl.objectfactory.ProxyObjectFactory.redefineProxyInTcl(ProxyObjectFactory.java:406)
          ... 15 more
      09:46:00,016 ERROR [JobRunShell] Job DEFAULT.Application Statuses threw an unhandled Exception:
      java.lang.RuntimeException: javax.naming.NamingException: Could not dereference object [Root exception is java.lang.RuntimeException: Can not find interface declared by Proxy in our CL + BaseClassLoader@51288e12{vfsfile:/home/armitagee/appservers/jboss-5.1.0.GA/server/node03/deploy/quartz-service.xml}]
          at cib.ibot.jmis.ejb3.lookup.SBLookupFactory.getApplicationFacade(SBLookupFactory.java:209)
          at cib.ibot.jmis.ejb3.session.service.StatusChecker.execute(StatusChecker.java:31)
          at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
          at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
      Caused by: javax.naming.NamingException: Could not dereference object [Root exception is java.lang.RuntimeException: Can not find interface declared by Proxy in our CL + BaseClassLoader@51288e12{vfsfile:/home/armitagee/appservers/jboss-5.1.0.GA/server/node03/deploy/quartz-service.xml}]
          at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1504)
          at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:822)
          at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
          at javax.naming.InitialContext.lookup(InitialContext.java:392)
          at cib.ibot.core.web.lookup.CachingServiceLocator.lookup(CachingServiceLocator.java:53)
          at cib.ibot.core.web.lookup.CachingServiceLocator.getLocalHome(CachingServiceLocator.java:67)
          at cib.ibot.jmis.ejb3.lookup.SBLookupFactory.getApplicationFacade(SBLookupFactory.java:206)
          ... 3 more
      Caused by: java.lang.RuntimeException: Can not find interface declared by Proxy in our CL + BaseClassLoader@51288e12{vfsfile:/home/armitagee/appservers/jboss-5.1.0.GA/server/node03/deploy/quartz-service.xml}
          at org.jboss.ejb3.proxy.impl.objectfactory.ProxyObjectFactory.redefineProxyInTcl(ProxyObjectFactory.java:410)
          at org.jboss.ejb3.proxy.impl.objectfactory.session.SessionProxyObjectFactory.createProxy(SessionProxyObjectFactory.java:134)
          at org.jboss.ejb3.proxy.impl.objectfactory.session.stateless.StatelessSessionProxyObjectFactory.getProxy(StatelessSessionProxyObjectFactory.java:79)
          at org.jboss.ejb3.proxy.impl.objectfactory.ProxyObjectFactory.getObjectInstance(ProxyObjectFactory.java:161)
          at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
          at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1479)
          at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1496)
          ... 9 more

      {code}

      My lookup factory uses JNDI to lookup the EJBs and works for that and other EJBs is other parts of the code.

      I'm running jboss 5.1.0 and I ran the jboss EJB3 plugin version 1.0.19 against it (I renamed my node to default before runnig it and renamed it back to node03 for excution).

      My run script was /home/armitagee/appservers/jboss-5.1.0.GA/bin/run.sh -c node03 -Djboss.service.binding.set=ports-03 -b 0.0.0.0

       

      The code works when I turn isolation off in the ear deployers file but turning off isolation is not an option in this node.

      I have deployed an ear file that consists of an ejb-jar,war file and jar file.

       

      The jobs are registered by a listener in the war project and the registration works. The listener simply invokes an EJB which reads the DB for the cron times and registers the job.

      The StatusChecker class is the actual Job class (implements org.quartz.Job).

      Let me know if you need any more details.

       

      Thanks in advance.