[jboss-user] [JBoss Seam] - Re: Quartz configuration in Seam 2.0B

pierospinelli do-not-reply at jboss.com
Mon Aug 13 04:10:24 EDT 2007


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#4073459

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4073459



More information about the jboss-user mailing list