Nuxeo 7.10 Clustring - Quartz configured but starts as NON_CLUSTERED
Hi, I configured a Cluster with 2 Nuxeo Nodes (Nuxeo 7.10) and, in order to use Quartz job scheduler, following https://doc.nuxeo.com/nxdoc/nuxeo-clustering-configuration/ guide, used Oracle Tamplate, populated DB with DDL provided, and, in main nuxeo config file, set “nuxeo.quartz.enable=true”. Starting Cluster Nodes, on each node, seems that quartz template is ignored, and follow logs are readable:
09:24:41,781 INFO [org.quartz.impl.StdSchedulerFactory] (MSC service thread 1-2) Using default implementation for ThreadExecutor 09:24:41,834 INFO [org.quartz.core.SchedulerSignalerImpl] (MSC service thread 1-2) Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl 09:24:41,834 INFO [org.quartz.core.QuartzScheduler] (MSC service thread 1-2) Quartz Scheduler v.2.2.2 created. 09:24:41,837 INFO [org.quartz.simpl.RAMJobStore] (MSC service thread 1-2) RAMJobStore initialized. 09:24:41,840 INFO [org.quartz.core.QuartzScheduler] (MSC service thread 1-2) Scheduler meta-data: Quartz Scheduler (v2.2.2) 'Quartz' with instanceId 'NON_CLUSTERED' Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. NOT STARTED. Currently in standby mode. Number of jobs executed: 0 Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 1 threads. Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
09:24:41,840 INFO [org.quartz.impl.StdSchedulerFactory] (MSC service thread 1-2) Quartz scheduler 'Quartz' initialized from an externally provided properties instance. 09:24:41,840 INFO [org.quartz.impl.StdSchedulerFactory] (MSC service thread 1-2) Quartz scheduler version: 2.2.2 09:24:41,840 INFO [org.quartz.core.QuartzScheduler] (MSC service thread 1-2) Scheduler Quartz$NON_CLUSTERED started.
Could someone please help me with this? Thank you in advance.
The files are correct, the nuxeo version is 7.10 or LTS2015 and the server is Wildfly 8.1 “Kenny”. I have gone in the debug mode, with org.nuxeo.ecm.core.scheduler.SchedulerServiceImpl, in the setupScheduler method and at 77th line the below code
URL cfg = context.getRuntimeContext().getResource(“config/quartz.properties”);
returns the cfg variable equals null. Then I have setup an debug expression, in the eclipse debug, with the below statement
URL cfg = context.getRuntimeContext().getResource(“config/“);
and the cfg was vfs:/content/nuxeo-oracle.war/WEB-INF/lib/elasticsearch-1.5.2.jar/config/
This is the log:
15:41:49,319 INFO [org.quartz.impl.StdSchedulerFactory] (MSC service thread 1-4) Using default implementation for ThreadExecutor 15:41:49,474 INFO [org.quartz.core.SchedulerSignalerImpl] (MSC service thread 1-4) Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl 15:41:49,475 INFO [org.quartz.core.QuartzScheduler] (MSC service thread 1-4) Quartz Scheduler v.2.2.2 created. 15:41:49,481 INFO [org.quartz.simpl.RAMJobStore] (MSC service thread 1-4) RAMJobStore initialized. 15:41:49,487 INFO [org.quartz.core.QuartzScheduler] (MSC service thread 1-4) Scheduler meta-data: Quartz Scheduler (v2.2.2) 'Quartz' with instanceId 'NON_CLUSTERED' Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. NOT STARTED. Currently in standby mode. Number of jobs executed: 0 Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 1 threads. Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
15:41:49,487 INFO [org.quartz.impl.StdSchedulerFactory] (MSC service thread 1-4) Quartz scheduler 'Quartz' initialized from an externally provided properties instance. 15:41:49,487 INFO [org.quartz.impl.StdSchedulerFactory] (MSC service thread 1-4) Quartz scheduler version: 2.2.2 15:41:49,487 INFO [org.quartz.core.QuartzScheduler] (MSC service thread 1-4) Scheduler Quartz$NON_CLUSTERED started.
Thank you very much.
Hi, first of all, tnx for your answer.
nuxeo.force.generation=true
in my nuxeo main configuration file, and my quartz.properties is:
org.quartz.scheduler.instanceName = Quartz org.quartz.scheduler.threadName = Quartz_Scheduler org.quartz.scheduler.instanceId = AUTO org.quartz.scheduler.makeSchedulerThreadDaemon = true org.quartz.scheduler.skipUpdateCheck = true org.quartz.scheduler.xaTransacted = true org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool org.quartz.threadPool.threadCount = 2 org.quartz.threadPool.threadPriority = 4 org.quartz.threadPool.makeThreadsDaemons = true org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreCMT org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate org.quartz.jobStore.dataSource = nxquartz org.quartz.jobStore.nonManagedTXDataSource = nxquartz_no_tx org.quartz.jobStore.acquireTriggersWithinLock = true org.quartz.jobStore.tablePrefix = qrtz_ org.quartz.jobStore.isClustered = true org.quartz.dataSource.nxquartz.jndiURL = ${jndi.base}/jdbc/nxquartz org.quartz.dataSource.nxquartz.connectionProvider.class = org.nuxeo.ecm.core.scheduler.NuxeoQuartzConnectionProvider org.quartz.dataSource.nxquartz_no_tx.jndiURL = ${jndi.base}/jdbc/nxquartz_no_tx org.quartz.dataSource.nxquartz_no_tx.connectionProvider.class = org.nuxeo.ecm.core.scheduler.NuxeoQuartzConnectionProvider
nxserver/config/quartz.properties
contain? Do you havenuxeo.force.generation=true
inbin/nuxeo.conf
?