Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-7078

cannot configure quartz clustering inside JBoss

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.4.1
    • Fix Version/s: 5.5
    • Component/s: Clustering
    • Upgrade notes:
      Hide

      On jboss, you should provide a dedicated quartz.properties in nuxeo's config folder for injecting the quartz clustering configuration. See nuxeo documentation for how configuring quartz in cluster : https://doc.nuxeo.com/display/KB/Nuxeo+clustering+configuration

      Show
      On jboss, you should provide a dedicated quartz.properties in nuxeo's config folder for injecting the quartz clustering configuration. See nuxeo documentation for how configuring quartz in cluster : https://doc.nuxeo.com/display/KB/Nuxeo+clustering+configuration

      Description

      The quartz scheduler obtained by the nuxeo application is shared with the JBoss. This is an impact of the class path loading configuration put in the deployment descriptor jboss-app.xml :

           <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
      

      The quartz classes are taken from the common lib folder instead of the nuxeo EAR. The scheduler is started by the quartz resource adapator that bind quartz with message beans (JMS). The jobs launched by nuxeo are loaded in the context of that adaptor that do not have access to the nuxeo's classpath.

      	java.lang.ClassNotFoundException: org.nuxeo.ecm.platform.scheduler.core.EventJob from BaseClassLoader@2434887{VFSClassLoaderPolicy@f4e983a{name=vfszip:/home/jboss/dev/servers/nuxeo-newlea-server/server/default/deploy/quartz-ra.rar/ domain=ClassLoaderDomain@55eb1db2{name=DefaultDomain parentPolicy=BEFORE parent=org.jboss.bootstrap.NoAnnotationURLClassLoader@7eb05acd} roots=[MemoryContextHandler@1894518703[path= context=vfsmemory://3j011-6u2jn1-gobla5z0-1-goblamz0-24 real=vfsmemory://3j011-6u2jn1-gobla5z0-1-goblamz0-24], DelegatingHandler@435807252[path=quartz-ra.rar context=file:/home/jboss/dev/servers/nuxeo-newlea-server/server/default/deploy/ real=file:/home/jboss/dev/servers/nuxeo-newlea-server/server/default/deploy/quartz-ra.rar], DelegatingHandler@1693248094[path=quartz-ra.rar/quartz-ra.jar context=file:/home/jboss/dev/servers/nuxeo-newlea-server/server/default/deploy/ real=file:/home/jboss/dev/servers/nuxeo-newlea-server/server/default/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:448)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
      	at org.quartz.simpl.InitThreadContextClassLoadHelper.loadClass(InitThreadContextClassLoadHelper.java:74)
      	at org.quartz.simpl.CascadingClassLoadHelper.loadClass(CascadingClassLoadHelper.java:118)
      	at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectJobDetail(StdJDBCDelegate.java:947)
      	at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1021)
      	at org.quartz.impl.jdbcjobstore.JobStoreSupport.triggerFired(JobStoreSupport.java:1818)
      	at org.quartz.impl.jdbcjobstore.JobStoreCMT.triggerFired(JobStoreCMT.java:1261)
      	at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:308)
      

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: