You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Rachid KRAIEM <ra...@gmail.com> on 2016/11/01 10:49:10 UTC

camel-quartz failed camel route creation when database is unreachable

Hi Everyone: 

My bundle osgi installed into karaf container 4.0.7, that use
camel-quartz2-2.17.3 In camelContext I have many routes such as "myRoute",
it call a job quatrz (using camel-quartz2) configured in postgresql
database:

--------------------------------------------------------------------------------------------
Camel route
--------------------------------------------------------------------------------------------


 <camelContext id="myCamelContext"
xmlns="http://camel.apache.org/schema/blueprint">

        <route id="myRoute">
            <from
               
uri="quartz2://statGroup/startupTimer?cron={{stat.purge.wan.volume.daily.dc}}"
/>
            <bean ref="myProcessor" method="myMethod" />
        </route>

 </camelContext>

--------------------------------------------------------------------------------------------
Bean quartz2
--------------------------------------------------------------------------------------------

 <bean id="quartz2"
class="org.apache.camel.component.quartz2.QuartzComponent">
		<property name="propertiesFile" value="file:etc/stat_quartz.cfg" />
 </bean>

--------------------------------------------------------------------------------------------
quartz2 configuration : stat_quartz.cfg
--------------------------------------------------------------------------------------------


#============================================================================
# Configure Main Scheduler Properties  
#============================================================================
org.quartz.scheduler.instanceName=Scheduler
org.quartz.scheduler.instanceId=AUTO
org.quartz.scheduler.skipUpdateCheck=true
org.quartz.scheduler.jobFactory.class=org.quartz.simpl.SimpleJobFactory
#============================================================================
# Configure ThreadPool  
#============================================================================
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount=10
#============================================================================
# Configure JobStore  
#============================================================================
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
org.quartz.jobStore.dataSource=statQuartzDS
org.quartz.jobStore.tablePrefix=stat_qrtz_
org.quartz.jobStore.isClustered=true
org.quartz.jobStore.clusterCheckinInterval=20000
org.quartz.jobStore.useProperties=false 
#============================================================================
# Configure Datasources  
#============================================================================
org.quartz.dataSource.statQuartzDS.jndiURL=osgi:service/statQuartzDS


--------------------------------------------------------------------------------------------
Problem
--------------------------------------------------------------------------------------------


My issue is when I try to starting the karaf container and postgresql is
stopped, I have the log problem below and the camelContext "myCamelContext"
will be shutdown.


2016-10-14 17:21:40,201 | ERROR | FelixStartLevel  | BlueprintCamelContext           
| 80 - org.apache.camel.camel-blueprint - 2.17.3 | Error occurred during
starting Camel: CamelContext(statisticsContext) due Failed to create route
myRoute: Route(myRoute)[[From[quartz2://stat... because of Failed to resolve
endpoint:
quartz2://statGroup/startupTimer?trigger.repeatCount=0&trigger.repeatInterval=1
due to: Failed to obtain DB connection from data source 'statQuartzDS':
java.sql.SQLException: Could not retrieve datasource via JNDI url
'osgi:service/statQuartzDS' java.sql.SQLException: Unable to acquire a new
connection from the pool
org.apache.camel.FailedToCreateRouteException: Failed to create route
myRoute: Route(myRoute)[[From[quartz2://stat... because of Failed to resolve
endpoint:
quartz2://statGroup/startupTimer?trigger.repeatCount=0&trigger.repeatInterval=1
due to: Failed to obtain DB connection from data source 'statQuartzDS':
java.sql.SQLException: Could not retrieve datasource via JNDI url
'osgi:service/statQuartzDS' java.sql.SQLException: Unable to acquire a new
connection from the pool
    at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:201)
    at
org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:974)[83:org.apache.camel.camel-core:2.17.3]
    at
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:3301)[83:org.apache.camel.camel-core:2.17.3]
    at
org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3024)[83:org.apache.camel.camel-core:2.17.3]
    at
org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:175)[83:org.apache.camel.camel-core:2.17.3]
    at
org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2854)
    at
org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2850)
    at
org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2873)[83:org.apache.camel.camel-core:2.17.3]
    at
org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2850)[83:org.apache.camel.camel-core:2.17.3]
    at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
    at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2819)[83:org.apache.camel.camel-core:2.17.3]
    at
org.apache.camel.blueprint.BlueprintCamelContext.start(BlueprintCamelContext.java:180)
    at
org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:212)
    at
org.apache.camel.blueprint.BlueprintCamelContext.serviceChanged(BlueprintCamelContext.java:150)
    at
org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:991)[org.apache.felix.framework-5.4.0.jar:]
    at
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:839)[org.apache.felix.framework-5.4.0.jar:]
    at
org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:546)[org.apache.felix.framework-5.4.0.jar:]
    at
org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4557)[org.apache.felix.framework-5.4.0.jar:]
    at
org.apache.felix.framework.Felix.registerService(Felix.java:3549)[org.apache.felix.framework-5.4.0.jar:]
    at
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348)
    at
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:355)
    at
org.apache.camel.blueprint.BlueprintCamelContext.init(BlueprintCamelContext.java:100)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)[:1.8.0_101]
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_101]
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_101]
    at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_101]
    at
org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)[12:org.apache.aries.blueprint.core:1.6.2]
    at
org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980)[12:org.apache.aries.blueprint.core:1.6.2]
    at
org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:736)[12:org.apache.aries.blueprint.core:1.6.2]
    at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:848)[12:org.apache.aries.blueprint.core:1.6.2]
    at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)[12:org.apache.aries.blueprint.core:1.6.2]
    at
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[12:org.apache.aries.blueprint.core:1.6.2]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_101]



--------------------------------------------------------------------------------------------
Proposed solution
--------------------------------------------------------------------------------------------


To allow route creation when database is unreachable, i've make an other
"QuartzComponent" named "CustomQuartzComponent" which extends
QuartzComponent and override EndPoint creation (see attached file)

In fact, i've change the treatment of method "addJobInScheduler" like this


private void addJobInScheduler() throws Exception {
		// Add or use existing trigger to/from scheduler
		Scheduler scheduler = getComponent().getScheduler();
		JobDetail jobDetail;
		Trigger oldTrigger = null;
		//parameter added for check existing database connection 
		boolean hasConn = true;
		try {
			oldTrigger = scheduler.getTrigger(getTriggerKey());
		} catch (org.quartz.JobPersistenceException e) {
			// catch Exception added by me, that permit to continue
			// creating new CamelJob when database connection is unreachable
			hasConn = false;
			LOG.error("Customized ERROR : " + e.getMessage() + " : " + e.getCause());
		}
		boolean triggerExisted = oldTrigger != null;
		if (triggerExisted && !isRecoverableJob()) {
			ensureNoDupTriggerKey();
		}

		jobDetail = createJobDetail();
		Trigger trigger = createTrigger(jobDetail);

		QuartzHelper.updateJobDataMap(getCamelContext(), jobDetail,
getEndpointUri(), isUsingFixedCamelContextName());

		if (triggerExisted) {
			// Reschedule job if trigger settings were changed
			if (hasTriggerChanged(oldTrigger, trigger)) {
				scheduler.rescheduleJob(getTriggerKey(), trigger);
			}
			// condition added by me make job scheduling only when
			// database connection exist
		} else if (hasConn) {
			try {
				// Schedule it now. Remember that scheduler might not be started
				// it, but we can schedule now.
				scheduler.scheduleJob(jobDetail, trigger);
			} catch (ObjectAlreadyExistsException ex) {
				// some other VM might may have stored the job & trigger in DB
				// in clustered mode, in the mean time
				if (!(getComponent().isClustered())) {
					throw ex;
				} else {
					trigger = scheduler.getTrigger(getTriggerKey());
					if (trigger == null) {
						throw new SchedulerException("Trigger could not be found in quartz
scheduler.");
					}
				}
			}
		}

		if (LOG.isInfoEnabled()) {
			LOG.info("Job {} (triggerType={}, jobClass={}) is scheduled. Next fire
date is {}", new Object[] { trigger.getKey(),
					trigger.getClass().getSimpleName(),
jobDetail.getJobClass().getSimpleName(), trigger.getNextFireTime() });
		}

		// Increase camel job count for this endpoint
		AtomicInteger number = (AtomicInteger)
scheduler.getContext().get(QuartzConstants.QUARTZ_CAMEL_JOBS_COUNT);
		if (number != null) {
			number.incrementAndGet();
		}

		jobAdded.set(true);
	}



*You confirm this proposal?*

CustomQuartzComponent.java
<http://camel.465427.n5.nabble.com/file/n5789552/CustomQuartzComponent.java>  

CustomQuartzEndpoint.java
<http://camel.465427.n5.nabble.com/file/n5789552/CustomQuartzEndpoint.java>  





--
View this message in context: http://camel.465427.n5.nabble.com/camel-quartz-failed-camel-route-creation-when-database-is-unreachable-tp5789552.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: camel-quartz failed camel route creation when database is unreachable

Posted by Claus Ibsen <cl...@gmail.com>.
Yes there is no re-connection or the likes when starting a quartz route.

You can do as you did with your own custom component.

Its a bit tricky to do re-connection as it would entail a background
thread keep running and trying to startup the route until its
succesful, and then you need ways to configure how often it should
try, and whatnot.

Camel 3.x will introduce async startup of routes and as well a way of
configuring retry strategies etc. that would work generic for all
routes/consumers.


On Tue, Nov 1, 2016 at 11:49 AM, Rachid KRAIEM <ra...@gmail.com> wrote:
> Hi Everyone:
>
> My bundle osgi installed into karaf container 4.0.7, that use
> camel-quartz2-2.17.3 In camelContext I have many routes such as "myRoute",
> it call a job quatrz (using camel-quartz2) configured in postgresql
> database:
>
> --------------------------------------------------------------------------------------------
> Camel route
> --------------------------------------------------------------------------------------------
>
>
>  <camelContext id="myCamelContext"
> xmlns="http://camel.apache.org/schema/blueprint">
>
>         <route id="myRoute">
>             <from
>
> uri="quartz2://statGroup/startupTimer?cron={{stat.purge.wan.volume.daily.dc}}"
> />
>             <bean ref="myProcessor" method="myMethod" />
>         </route>
>
>  </camelContext>
>
> --------------------------------------------------------------------------------------------
> Bean quartz2
> --------------------------------------------------------------------------------------------
>
>  <bean id="quartz2"
> class="org.apache.camel.component.quartz2.QuartzComponent">
>                 <property name="propertiesFile" value="file:etc/stat_quartz.cfg" />
>  </bean>
>
> --------------------------------------------------------------------------------------------
> quartz2 configuration : stat_quartz.cfg
> --------------------------------------------------------------------------------------------
>
>
> #============================================================================
> # Configure Main Scheduler Properties
> #============================================================================
> org.quartz.scheduler.instanceName=Scheduler
> org.quartz.scheduler.instanceId=AUTO
> org.quartz.scheduler.skipUpdateCheck=true
> org.quartz.scheduler.jobFactory.class=org.quartz.simpl.SimpleJobFactory
> #============================================================================
> # Configure ThreadPool
> #============================================================================
> org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
> org.quartz.threadPool.threadCount=10
> #============================================================================
> # Configure JobStore
> #============================================================================
> org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
> org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
> org.quartz.jobStore.dataSource=statQuartzDS
> org.quartz.jobStore.tablePrefix=stat_qrtz_
> org.quartz.jobStore.isClustered=true
> org.quartz.jobStore.clusterCheckinInterval=20000
> org.quartz.jobStore.useProperties=false
> #============================================================================
> # Configure Datasources
> #============================================================================
> org.quartz.dataSource.statQuartzDS.jndiURL=osgi:service/statQuartzDS
>
>
> --------------------------------------------------------------------------------------------
> Problem
> --------------------------------------------------------------------------------------------
>
>
> My issue is when I try to starting the karaf container and postgresql is
> stopped, I have the log problem below and the camelContext "myCamelContext"
> will be shutdown.
>
>
> 2016-10-14 17:21:40,201 | ERROR | FelixStartLevel  | BlueprintCamelContext
> | 80 - org.apache.camel.camel-blueprint - 2.17.3 | Error occurred during
> starting Camel: CamelContext(statisticsContext) due Failed to create route
> myRoute: Route(myRoute)[[From[quartz2://stat... because of Failed to resolve
> endpoint:
> quartz2://statGroup/startupTimer?trigger.repeatCount=0&trigger.repeatInterval=1
> due to: Failed to obtain DB connection from data source 'statQuartzDS':
> java.sql.SQLException: Could not retrieve datasource via JNDI url
> 'osgi:service/statQuartzDS' java.sql.SQLException: Unable to acquire a new
> connection from the pool
> org.apache.camel.FailedToCreateRouteException: Failed to create route
> myRoute: Route(myRoute)[[From[quartz2://stat... because of Failed to resolve
> endpoint:
> quartz2://statGroup/startupTimer?trigger.repeatCount=0&trigger.repeatInterval=1
> due to: Failed to obtain DB connection from data source 'statQuartzDS':
> java.sql.SQLException: Could not retrieve datasource via JNDI url
> 'osgi:service/statQuartzDS' java.sql.SQLException: Unable to acquire a new
> connection from the pool
>     at
> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:201)
>     at
> org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:974)[83:org.apache.camel.camel-core:2.17.3]
>     at
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:3301)[83:org.apache.camel.camel-core:2.17.3]
>     at
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3024)[83:org.apache.camel.camel-core:2.17.3]
>     at
> org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:175)[83:org.apache.camel.camel-core:2.17.3]
>     at
> org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2854)
>     at
> org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:2850)
>     at
> org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:2873)[83:org.apache.camel.camel-core:2.17.3]
>     at
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:2850)[83:org.apache.camel.camel-core:2.17.3]
>     at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
>     at
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:2819)[83:org.apache.camel.camel-core:2.17.3]
>     at
> org.apache.camel.blueprint.BlueprintCamelContext.start(BlueprintCamelContext.java:180)
>     at
> org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:212)
>     at
> org.apache.camel.blueprint.BlueprintCamelContext.serviceChanged(BlueprintCamelContext.java:150)
>     at
> org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:991)[org.apache.felix.framework-5.4.0.jar:]
>     at
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:839)[org.apache.felix.framework-5.4.0.jar:]
>     at
> org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:546)[org.apache.felix.framework-5.4.0.jar:]
>     at
> org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4557)[org.apache.felix.framework-5.4.0.jar:]
>     at
> org.apache.felix.framework.Felix.registerService(Felix.java:3549)[org.apache.felix.framework-5.4.0.jar:]
>     at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348)
>     at
> org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:355)
>     at
> org.apache.camel.blueprint.BlueprintCamelContext.init(BlueprintCamelContext.java:100)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)[:1.8.0_101]
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_101]
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_101]
>     at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_101]
>     at
> org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)[12:org.apache.aries.blueprint.core:1.6.2]
>     at
> org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980)[12:org.apache.aries.blueprint.core:1.6.2]
>     at
> org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:736)[12:org.apache.aries.blueprint.core:1.6.2]
>     at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:848)[12:org.apache.aries.blueprint.core:1.6.2]
>     at
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811)[12:org.apache.aries.blueprint.core:1.6.2]
>     at
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[12:org.apache.aries.blueprint.core:1.6.2]
>     at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_101]
>
>
>
> --------------------------------------------------------------------------------------------
> Proposed solution
> --------------------------------------------------------------------------------------------
>
>
> To allow route creation when database is unreachable, i've make an other
> "QuartzComponent" named "CustomQuartzComponent" which extends
> QuartzComponent and override EndPoint creation (see attached file)
>
> In fact, i've change the treatment of method "addJobInScheduler" like this
>
>
> private void addJobInScheduler() throws Exception {
>                 // Add or use existing trigger to/from scheduler
>                 Scheduler scheduler = getComponent().getScheduler();
>                 JobDetail jobDetail;
>                 Trigger oldTrigger = null;
>                 //parameter added for check existing database connection
>                 boolean hasConn = true;
>                 try {
>                         oldTrigger = scheduler.getTrigger(getTriggerKey());
>                 } catch (org.quartz.JobPersistenceException e) {
>                         // catch Exception added by me, that permit to continue
>                         // creating new CamelJob when database connection is unreachable
>                         hasConn = false;
>                         LOG.error("Customized ERROR : " + e.getMessage() + " : " + e.getCause());
>                 }
>                 boolean triggerExisted = oldTrigger != null;
>                 if (triggerExisted && !isRecoverableJob()) {
>                         ensureNoDupTriggerKey();
>                 }
>
>                 jobDetail = createJobDetail();
>                 Trigger trigger = createTrigger(jobDetail);
>
>                 QuartzHelper.updateJobDataMap(getCamelContext(), jobDetail,
> getEndpointUri(), isUsingFixedCamelContextName());
>
>                 if (triggerExisted) {
>                         // Reschedule job if trigger settings were changed
>                         if (hasTriggerChanged(oldTrigger, trigger)) {
>                                 scheduler.rescheduleJob(getTriggerKey(), trigger);
>                         }
>                         // condition added by me make job scheduling only when
>                         // database connection exist
>                 } else if (hasConn) {
>                         try {
>                                 // Schedule it now. Remember that scheduler might not be started
>                                 // it, but we can schedule now.
>                                 scheduler.scheduleJob(jobDetail, trigger);
>                         } catch (ObjectAlreadyExistsException ex) {
>                                 // some other VM might may have stored the job & trigger in DB
>                                 // in clustered mode, in the mean time
>                                 if (!(getComponent().isClustered())) {
>                                         throw ex;
>                                 } else {
>                                         trigger = scheduler.getTrigger(getTriggerKey());
>                                         if (trigger == null) {
>                                                 throw new SchedulerException("Trigger could not be found in quartz
> scheduler.");
>                                         }
>                                 }
>                         }
>                 }
>
>                 if (LOG.isInfoEnabled()) {
>                         LOG.info("Job {} (triggerType={}, jobClass={}) is scheduled. Next fire
> date is {}", new Object[] { trigger.getKey(),
>                                         trigger.getClass().getSimpleName(),
> jobDetail.getJobClass().getSimpleName(), trigger.getNextFireTime() });
>                 }
>
>                 // Increase camel job count for this endpoint
>                 AtomicInteger number = (AtomicInteger)
> scheduler.getContext().get(QuartzConstants.QUARTZ_CAMEL_JOBS_COUNT);
>                 if (number != null) {
>                         number.incrementAndGet();
>                 }
>
>                 jobAdded.set(true);
>         }
>
>
>
> *You confirm this proposal?*
>
> CustomQuartzComponent.java
> <http://camel.465427.n5.nabble.com/file/n5789552/CustomQuartzComponent.java>
>
> CustomQuartzEndpoint.java
> <http://camel.465427.n5.nabble.com/file/n5789552/CustomQuartzEndpoint.java>
>
>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/camel-quartz-failed-camel-route-creation-when-database-is-unreachable-tp5789552.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Re: camel-quartz failed camel route creation when database is unreachable

Posted by souciance <so...@gmail.com>.
I cannot comment on the code for starting the route when the database is
unavailable but why  not add some default properties to use when the
database is not available. Then you catch the exception and use those
properties instead.



--
View this message in context: http://camel.465427.n5.nabble.com/camel-quartz-failed-camel-route-creation-when-database-is-unreachable-tp5789552p5789827.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: camel-quartz failed camel route creation when database is unreachable

Posted by Rachid KRAIEM <ra...@gmail.com>.
Hi Everyone,

Can you validate this proposal



--
View this message in context: http://camel.465427.n5.nabble.com/camel-quartz-failed-camel-route-creation-when-database-is-unreachable-tp5789552p5789822.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: camel-quartz failed camel route creation when database is unreachable

Posted by Rachid KRAIEM <ra...@gmail.com>.
Hello,

Yes, it's my message

Cordialement,

*Rachid KRAIEM*




2016-12-20 17:45 GMT+01:00 Rachid KRAIEM [via Camel] <
ml-node+s465427n5791747h11@n5.nabble.com>:

> Hi,
>
> Given the best practice is not to change the APIs, can you raise a JIRA
> that contain this solution and include him in the next release of
> camel-quartz ?
>
> ------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
> http://camel.465427.n5.nabble.com/camel-quartz-failed-camel-
> route-creation-when-database-is-unreachable-tp5789552p5791747.html
> To unsubscribe from camel-quartz failed camel route creation when database
> is unreachable, click here
> <http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5789552&code=cmFjaGlka3JhaWVtQGdtYWlsLmNvbXw1Nzg5NTUyfC0xMDI3MzAyOTk=>
> .
> NAML
> <http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: http://camel.465427.n5.nabble.com/camel-quartz-failed-camel-route-creation-when-database-is-unreachable-tp5789552p5791749.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: camel-quartz failed camel route creation when database is unreachable

Posted by Rachid KRAIEM <ra...@gmail.com>.
Hi,

Given the best practice is not to change the APIs, can you raise a JIRA that
contain this solution and include him in the next release of camel-quartz ?



--
View this message in context: http://camel.465427.n5.nabble.com/camel-quartz-failed-camel-route-creation-when-database-is-unreachable-tp5789552p5791747.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: camel-quartz failed camel route creation when database is unreachable

Posted by Rachid KRAIEM <ra...@gmail.com>.
Thanks Claus,

Can you raise a JIRA that contain this solution ?



--
View this message in context: http://camel.465427.n5.nabble.com/camel-quartz-failed-camel-route-creation-when-database-is-unreachable-tp5789552p5789852.html
Sent from the Camel - Users mailing list archive at Nabble.com.