Hi, I am trying to set up quartz in clustered mode to work with camel quartz in my camel route.
(i.e) we have deployed the bundle with the camel route having camel quartz endpoint, in all the cluster nodes. But I would like to have my camel route triggered only in one of the nodes in the cluster at the scheduled time & I am hoping that if the camel quartz refers to quartz in clustered mode, then the trigger will reach the camel route in only one node. The datasources are available as OSGI services in the cluster. But I need to configure the data source by its name (JNDI name) in the quartz properties of the QuartzComponent & I am getting a missing datsasource exception. Pls. find attached the spring xml with the camel route beans.xml <http://camel.465427.n5.nabble.com/file/n5738400/beans.xml> Any suggestions to make this work are welcome. Kindly help. Thanks, Lakshmi Code snippet used for clustering: <bean id="quartz" class="org.apache.camel.component.quartz.QuartzComponent"> <property name="properties"> <props> <prop key="dataSource">osgi:service/javax.sql.DataSource/(dataSourceName=default)</prop> <prop key="org.quartz.jobStore.dataSource"> osgi:service/javax.sql.DataSource/(dataSourceName=default)</</prop> … </props> </property> </bean> Exception trace: org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'default': java.sql.SQLException: There is no DataSource named 'osgi:service/javax.sql.DataSource/(dataSourceName=default)'[See nested exception: java.sql.SQLException: There is no DataSource named 'default'] at org.quartz.impl.jdbcjobstore.JobStoreSupport.getConnection(JobStoreSupport.java:715) at org.quartz.impl.jdbcjobstore.JobStoreTX.getNonManagedTXConnection(JobStoreTX.java:69) at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3785) at org.quartz.impl.jdbcjobstore.JobStoreTX.executeInLock(JobStoreTX.java:90) at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeWithoutLock(JobStoreSupport.java:3693) at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveTrigger(JobStoreSupport.java:1561) at org.quartz.core.QuartzScheduler.getTrigger(QuartzScheduler.java:1448) at org.quartz.impl.StdScheduler.getTrigger(StdScheduler.java:551) Caused by: java.sql.SQLException: There is no DataSource named 'osgi:service/javax.sql.DataSource/(dataSourceName=default)' at org.quartz.utils.DBConnectionManager.getConnection(DBConnectionManager.java:105) at org.quartz.impl.jdbcjobstore.JobStoreSupport.getConnection(JobStoreSupport.java:712) org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'jdbc/DefaultDB': java.sql.SQLException: There is no DataSource named 'jdbc/DefaultDB' [See nested exception: java.sql.SQLException: There is no DataSource named 'jdbc/DefaultDB'] -- View this message in context: http://camel.465427.n5.nabble.com/Missing-datasource-exception-while-referring-to-OSGI-datasource-for-clustering-quartz-with-camel-quaz-tp5738400.html Sent from the Camel - Users mailing list archive at Nabble.com.