Ok, just a little update:
- I configured the JBoss run script adding the following statement to the JVM
parameters:-Dorg.quartz.properties="C:/jboss/jboss-4.2.1.GA/server/default/deploy/scheduler.ear/scheduler.war/WEB-INF/classes/db_quartz.properties"
The db_quartz.properties looks like that:
org.quartz.scheduler.instanceName = DefaultQuartzScheduler
| org.quartz.scheduler.rmi.export = false
| org.quartz.scheduler.rmi.proxy = false
| org.quartz.scheduler.wrapJobExecutionInUserTransaction = false
|
| org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
| org.quartz.threadPool.threadCount = 10
| org.quartz.threadPool.threadPriority = 5
| org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true
|
| org.quartz.jobStore.misfireThreshold = 10000
|
| org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
| org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
| org.quartz.jobStore.driverDelegateClass =
org.quartz.impl.jdbcjobstore.StdJDBCDelegate
| org.quartz.jobStore.dataSource = quartzDS
| org.quartz.jobStore.tablePrefix = QRTZ_
|
| org.quartz.dataSource.quartzDS.driver = com.mysql.jdbc.Driver
| org.quartz.dataSource.quartzDS.URL = jdbc:mysql://localhost:3306/scheduler
| org.quartz.dataSource.quartzDS.user = myuser
| org.quartz.dataSource.quartzDS.password = mypswd
| org.quartz.dataSource.quartzDS.maxConnections = 5
At this point I receved class not found errors I solved by adding the following jars in
the shared library dir of JBoss:
- commons-pool-1.3.jar
| - commons-dbcp-1.2.2.jar
I downloaded these files from the apache site (since I did not find them in the JBoss
installation) and they do work only if installed at the server level, not in the
application.
Now I had errors caused by the missing of tables in the db. I created the tables by using
the sql script from the last quartz version I downloaded from the quartz site (since I did
not find them in the JBoss installation).
Here I got an error for the PROPERTY field of the TRIGGER table had not default (I think
it should be a problem from different versions of Quartz): I added quick&dirty a
default and, at the end, I received an error caused by the impossibility to find a
classloader for the Quartz classes (I report this error below).
At this point I try to add the following statement to the db_quartz.properties:
org.quartz.scheduler.useClassLoaderOfInitializer = true
but it did not work.
I even try to copy the file quartz-all-1.6.0.jar under the server shared lib directory,
but I got no results.
Here I am at the end. Can anyone help me or sugest some docs to read in order to get full
use of Quartz with SEAM/JBoss?
Since all the integration with Quartz (for both JBoss & SEAM) seams to rely on the In
Memory configuration of Quartz, can anyone suggest me an alternative way to use it (maybe
saving jobs parameters in my own Hybernate classes and restoring them at the server start,
or something like that...)
The following is the error I'm receving when I start JBoss:
| 09:59:38,562 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml
in .../deploy/quartz-ra.rar
| 09:59:38,578 INFO [QuartzResourceAdapter] start quartz!!!
| 09:59:38,687 INFO [SimpleThreadPool] Job execution threads will use class loader of
thread: main
| 09:59:38,734 INFO [QuartzScheduler] Quartz Scheduler v.1.6.0 created.
| 09:59:38,734 INFO [JobStoreTX] Using thread monitor-based data access locking
(synchronization).
| 09:59:40,187 INFO [JobStoreTX] Removed 0 Volatile Trigger(s).
| 09:59:40,187 INFO [JobStoreTX] Removed 0 Volatile Job(s).
| 09:59:40,203 INFO [JobStoreTX] JobStoreTX initialized.
| 09:59:40,203 INFO [StdSchedulerFactory] Quartz scheduler
'DefaultQuartzScheduler' initialized from specified file:
'C:/jboss/jboss-4.2.1.GA/server/default/deploy/scheduler.ear/scheduler.war/WEB-INF/classes/db_quartz.properties'
| 09:59:40,203 INFO [StdSchedulerFactory] Quartz scheduler version: 1.6.0
| 09:59:40,203 INFO [JobStoreTX] Freed 0 triggers from 'acquired' /
'blocked' state.
| 09:59:40,203 INFO [JobStoreTX] Handling 1 trigger(s) that missed their scheduled
fire-time.
| 09:59:40,265 WARN [ServiceController] Problem starting service
jboss.jca:service=RARDeployment,name='quartz-ra.rar'
| javax.resource.spi.ResourceAdapterInternalException:
org.quartz.SchedulerConfigException: Failure occured during job recovery. [See nested
exception: org.quartz.JobPersistenceException: Couldn't store trigger: No ClassLoaders
found for: org.jboss.seam.async.QuartzDispatcher$QuartzJob [See nested exception:
java.lang.ClassNotFoundException: No ClassLoaders found for:
org.jboss.seam.async.QuartzDispatcher$QuartzJob]]
| at
org.jboss.resource.adapter.quartz.inflow.QuartzResourceAdapter.start(QuartzResourceAdapter.java:62)
| at org.jboss.resource.deployment.RARDeployment.startService(RARDeployment.java:109)
| at
org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
| at
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
| at
org.jboss.system.ServiceDynamicMBeanSupport.invoke(ServiceDynamicMBeanSupport.java:124)
| at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
| at $Proxy0.start(Unknown Source)
| at org.jboss.system.ServiceController.start(ServiceController.java:417)
| at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy39.start(Unknown Source)
| at
org.jboss.deployment.SimpleSubDeployerSupport.startService(SimpleSubDeployerSupport.java:356)
| at
org.jboss.deployment.SimpleSubDeployerSupport.start(SimpleSubDeployerSupport.java:127)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
| at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy9.deploy(Unknown Source)
| at
org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
| at
org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
| at
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
| at
org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
| at
org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
| at
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
| at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
| at $Proxy0.start(Unknown Source)
| at org.jboss.system.ServiceController.start(ServiceController.java:417)
| at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy4.start(Unknown Source)
| at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy5.deploy(Unknown Source)
| at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
| at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
| at org.jboss.Main.boot(Main.java:200)
| at org.jboss.Main$1.run(Main.java:508)
| at java.lang.Thread.run(Thread.java:619)
| Caused by: org.quartz.SchedulerConfigException: Failure occured during job recovery.
[See nested exception: org.quartz.JobPersistenceException: Couldn't store trigger: No
ClassLoaders found for: org.jboss.seam.async.QuartzDispatcher$QuartzJob [See nested
exception: java.lang.ClassNotFoundException: No ClassLoaders found for:
org.jboss.seam.async.QuartzDispatcher$QuartzJob]]
| at
org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.java:575)
| at org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:449)
| at org.quartz.impl.StdScheduler.start(StdScheduler.java:146)
| at
org.jboss.resource.adapter.quartz.inflow.QuartzResourceAdapter.start(QuartzResourceAdapter.java:58)
| ... 88 more
| Caused by: org.quartz.JobPersistenceException: Couldn't store trigger: No
ClassLoaders found for: org.jboss.seam.async.QuartzDispatcher$QuartzJob [See nested
exception: java.lang.ClassNotFoundException: No ClassLoaders found for:
org.jboss.seam.async.QuartzDispatcher$QuartzJob]
| at
org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1182)
| at
org.quartz.impl.jdbcjobstore.JobStoreSupport.doUpdateOfMisfiredTrigger(JobStoreSupport.java:950)
| at
org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:898)
| at
org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverJobs(JobStoreSupport.java:780)
| at org.quartz.impl.jdbcjobstore.JobStoreSupport$2.execute(JobStoreSupport.java:752)
| at
org.quartz.impl.jdbcjobstore.JobStoreSupport$40.execute(JobStoreSupport.java:3628)
| at
org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3662)
| at
org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3624)
| at
org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverJobs(JobStoreSupport.java:748)
| at
org.quartz.impl.jdbcjobstore.JobStoreSupport.schedulerStarted(JobStoreSupport.java:573)
| ... 91 more
| Caused by: java.lang.ClassNotFoundException: No ClassLoaders found for:
org.jboss.seam.async.QuartzDispatcher$QuartzJob
| at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:212)
| at
org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:514)
| at
org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:408)
| at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
| 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:897)
| at
org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1138)
| ... 100 more
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4073459#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...