caelum / vraptor-quartzjob

A simple quartz job
3 stars 11 forks source link

Allow quartz.properties by environment #11

Open nykolaslima opened 10 years ago

nykolaslima commented 10 years ago

We can have one quartz configuration for QA environment and other to Production.

Would be nice if we can add quartz.properties into environment packages using VRaptor's environment:

src/main/resources/qa/quartz.properties
src/main/resources/production/quartz.properties

The quartz.properties will be loaded using VRaptor's environment configuration.

csokol commented 10 years ago

What kind of configuration this quartz.properties would store? Currently we don't have anything to configure in this plugin, do we? Can you give us an example?

nykolaslima commented 10 years ago

quartz.properties store configurations about what data store it will use to manage schedules. In a real project, we do have one data store for QA and other for production. e.g.

#quartz.properties
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
org.quartz.jobStore.tablePrefix=QRTZ_
org.quartz.jobStore.isClustered=false
org.quartz.jobStore.dataSource=myDS
org.quartz.dataSource.myDS.driver=org.postgresql.Driver
org.quartz.dataSource.myDS.URL=jdbc:postgresql://blablabla:123/production
org.quartz.dataSource.myDS.user=user
org.quartz.dataSource.myDS.password=pass
org.quartz.dataSource.myDS.maxConnections=30
org.quartz.threadPool.threadCount=1

We could have another file for QA, pointing to jdbc:postgresql://blablabla:123/qa

csokol commented 10 years ago

Huum, I didn't know that quartz configuration could be that complex, I think it makes sense to develop this solution, then. I think we will need to instantiate the StdSchedulerFactory specifying the right properties file, here: https://github.com/caelum/vraptor-quartzjob/blob/master/src/main/java/br/com/caelum/vraptor/quartzjob/QuartzConfigurator.java#L41

On Thu Nov 13 2014 at 2:51:27 PM Nykolas Laurentino de Lima < notifications@github.com> wrote:

quartz.properties store configurations about what data store it will use to manage schedules. In a real project, we do have one data store for QA and other for production. e.g.

org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate org.quartz.jobStore.tablePrefix=QRTZ_ org.quartz.jobStore.isClustered=false org.quartz.jobStore.dataSource=myDS org.quartz.dataSource.myDS.driver=org.postgresql.Driver org.quartz.dataSource.myDS.URL=jdbc:postgresql://blablabla:123/production org.quartz.dataSource.myDS.user=user org.quartz.dataSource.myDS.password=pass org.quartz.dataSource.myDS.maxConnections=30 org.quartz.threadPool.threadCount=1

We could have another file for QA, pointing to jdbc:postgresql://blablabla:123/qa

— Reply to this email directly or view it on GitHub https://github.com/caelum/vraptor-quartzjob/issues/11#issuecomment-62924708 .

nykolaslima commented 10 years ago

Looks like this is the place that we need to change :+1: I think it will not be complicated. I've added the issue to keep track of it. I'll try to do it latter.