serrutom
asked on
Error while deploying quartz InterruptableJob with a TriggerListener in JBoss
I created an InterruptableJob with a TriggerListener because i want to set a timeout for the job, and want to deploy it in JBoss. Everytime i deploy my application I get following error message:
java.lang.RuntimeException : An exception occurred initialising interceptors for class be.mycompany.incidentmanag ement.conn ectors.Inc identManag ementJob.t riggerMisf ired
at org.jboss.ejb3.interceptor .EJB3Inter ceptorsFac tory.creat ePerJoinpo int(EJB3In terceptors Factory.ja va:108)
at org.jboss.aop.advice.Aspec tFactoryDe legator.cr eatePerJoi npoint(Asp ectFactory Delegator. java:119)
at org.jboss.aop.advice.Scope dIntercept orFactory. create(Sco pedInterce ptorFactor y.java:113 )
at org.jboss.aop.Advisor.crea teIntercep torChain(A dvisor.jav a:618)
at org.jboss.aop.Advisor.poin tcutResolv ed(Advisor .java:888)
at org.jboss.aop.Advisor.reso lveMethodP ointcut(Ad visor.java :650)
at org.jboss.aop.ClassContain er.createI nterceptor Chains(Cla ssContaine r.java:248 )
at org.jboss.aop.ClassContain er.rebuild Intercepto rs(ClassCo ntainer.ja va:115)
at org.jboss.aop.ClassContain er.initial izeClassCo ntainer(Cl assContain er.java:58 )
at org.jboss.ejb3.EJBContaine r.processM etadata(EJ BContainer .java:342)
at org.jboss.ejb3.Ejb3Deploym ent.proces sEJBContai nerMetadat a(Ejb3Depl oyment.jav a:292)
at org.jboss.ejb3.Ejb3Deploym ent.start( Ejb3Deploy ment.java: 356)
at org.jboss.ejb3.Ejb3Module. startServi ce(Ejb3Mod ule.java:9 1)
at org.jboss.system.ServiceMB eanSupport .jbossInte rnalStart( ServiceMBe anSupport. java:289)
at org.jboss.system.ServiceMB eanSupport .jbossInte rnalLifecy cle(Servic eMBeanSupp ort.java:2 45)
at sun.reflect.GeneratedMetho dAccessor3 .invoke(Un known Source)
at sun.reflect.DelegatingMeth odAccessor Impl.invok e(Delegati ngMethodAc cessorImpl .java:25)
at java.lang.reflect.Method.i nvoke(Meth od.java:58 5)
at org.jboss.mx.interceptor.R eflectedDi spatcher.i nvoke(Refl ectedDispa tcher.java :155)
at org.jboss.mx.server.Invoca tion.dispa tch(Invoca tion.java: 94)
at org.jboss.mx.server.Invoca tion.invok e(Invocati on.java:86 )
at org.jboss.mx.server.Abstra ctMBeanInv oker.invok e(Abstract MBeanInvok er.java:26 4)
at org.jboss.mx.server.MBeanS erverImpl. invoke(MBe anServerIm pl.java:65 9)
at org.jboss.system.ServiceCo ntroller$S erviceProx y.invoke(S erviceCont roller.jav a:978)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceCo ntroller.s tart(Servi ceControll er.java:41 7)
at sun.reflect.GeneratedMetho dAccessor9 .invoke(Un known Source)
at sun.reflect.DelegatingMeth odAccessor Impl.invok e(Delegati ngMethodAc cessorImpl .java:25)
at java.lang.reflect.Method.i nvoke(Meth od.java:58 5)
at org.jboss.mx.interceptor.R eflectedDi spatcher.i nvoke(Refl ectedDispa tcher.java :155)
at org.jboss.mx.server.Invoca tion.dispa tch(Invoca tion.java: 94)
at org.jboss.mx.server.Invoca tion.invok e(Invocati on.java:86 )
at org.jboss.mx.server.Abstra ctMBeanInv oker.invok e(Abstract MBeanInvok er.java:26 4)
at org.jboss.mx.server.MBeanS erverImpl. invoke(MBe anServerIm pl.java:65 9)
at org.jboss.mx.util.MBeanPro xyExt.invo ke(MBeanPr oxyExt.jav a:210)
at $Proxy33.start(Unknown Source)
at org.jboss.ejb3.EJB3Deploye r.start(EJ B3Deployer .java:512)
at sun.reflect.NativeMethodAc cessorImpl .invoke0(N ative Method)
at sun.reflect.NativeMethodAc cessorImpl .invoke(Na tiveMethod AccessorIm pl.java:39 )
at sun.reflect.DelegatingMeth odAccessor Impl.invok e(Delegati ngMethodAc cessorImpl .java:25)
at java.lang.reflect.Method.i nvoke(Meth od.java:58 5)
at org.jboss.mx.interceptor.R eflectedDi spatcher.i nvoke(Refl ectedDispa tcher.java :155)
at org.jboss.mx.server.Invoca tion.dispa tch(Invoca tion.java: 94)
at org.jboss.mx.interceptor.A bstractInt erceptor.i nvoke(Abst ractInterc eptor.java :133)
at org.jboss.mx.server.Invoca tion.invok e(Invocati on.java:88 )
at org.jboss.mx.interceptor.M odelMBeanO perationIn terceptor. invoke(Mod elMBeanOpe rationInte rceptor.ja va:142)
at org.jboss.mx.interceptor.D ynamicInte rceptor.in voke(Dynam icIntercep tor.java:9 7)
at org.jboss.system.Intercept orServiceM BeanSuppor t.invokeNe xt(Interce ptorServic eMBeanSupp ort.java:2 38)
at org.jboss.wsf.container.jb oss42.Depl oyerInterc eptor.star t(Deployer Intercepto r.java:87)
at org.jboss.deployment.SubDe ployerInte rceptorSup port$XMBea nIntercept or.start(S ubDeployer Intercepto rSupport.j ava:188)
at org.jboss.deployment.SubDe ployerInte rceptor.in voke(SubDe ployerInte rceptor.ja va:95)
at org.jboss.mx.server.Invoca tion.invok e(Invocati on.java:88 )
at org.jboss.mx.server.Abstra ctMBeanInv oker.invok e(Abstract MBeanInvok er.java:26 4)
at org.jboss.mx.server.MBeanS erverImpl. invoke(MBe anServerIm pl.java:65 9)
at org.jboss.mx.util.MBeanPro xyExt.invo ke(MBeanPr oxyExt.jav a:210)
at $Proxy34.start(Unknown Source)
at org.jboss.deployment.MainD eployer.st art(MainDe ployer.jav a:1025)
at org.jboss.deployment.MainD eployer.st art(MainDe ployer.jav a:1015)
at org.jboss.deployment.MainD eployer.st art(MainDe ployer.jav a:1015)
at org.jboss.deployment.MainD eployer.de ploy(MainD eployer.ja va:819)
at org.jboss.deployment.MainD eployer.de ploy(MainD eployer.ja va:782)
at sun.reflect.GeneratedMetho dAccessor2 5.invoke(U nknown Source)
at sun.reflect.DelegatingMeth odAccessor Impl.invok e(Delegati ngMethodAc cessorImpl .java:25)
at java.lang.reflect.Method.i nvoke(Meth od.java:58 5)
at org.jboss.mx.interceptor.R eflectedDi spatcher.i nvoke(Refl ectedDispa tcher.java :155)
at org.jboss.mx.server.Invoca tion.dispa tch(Invoca tion.java: 94)
at org.jboss.mx.interceptor.A bstractInt erceptor.i nvoke(Abst ractInterc eptor.java :133)
at org.jboss.mx.server.Invoca tion.invok e(Invocati on.java:88 )
at org.jboss.mx.interceptor.M odelMBeanO perationIn terceptor. invoke(Mod elMBeanOpe rationInte rceptor.ja va:142)
at org.jboss.mx.server.Invoca tion.invok e(Invocati on.java:88 )
at org.jboss.mx.server.Abstra ctMBeanInv oker.invok e(Abstract MBeanInvok er.java:26 4)
at org.jboss.mx.server.MBeanS erverImpl. invoke(MBe anServerIm pl.java:65 9)
at org.jboss.mx.util.MBeanPro xyExt.invo ke(MBeanPr oxyExt.jav a:210)
at $Proxy9.deploy(Unknown Source)
at org.jboss.deployment.scann er.URLDepl oymentScan ner.deploy (URLDeploy mentScanne r.java:421 )
at org.jboss.deployment.scann er.URLDepl oymentScan ner.scan(U RLDeployme ntScanner. java:634)
at org.jboss.deployment.scann er.Abstrac tDeploymen tScanner$S cannerThre ad.doScan( AbstractDe ploymentSc anner.java :263)
at org.jboss.deployment.scann er.Abstrac tDeploymen tScanner.s tartServic e(Abstract Deployment Scanner.ja va:336)
at org.jboss.system.ServiceMB eanSupport .jbossInte rnalStart( ServiceMBe anSupport. java:289)
at org.jboss.system.ServiceMB eanSupport .jbossInte rnalLifecy cle(Servic eMBeanSupp ort.java:2 45)
at sun.reflect.GeneratedMetho dAccessor3 .invoke(Un known Source)
at sun.reflect.DelegatingMeth odAccessor Impl.invok e(Delegati ngMethodAc cessorImpl .java:25)
at java.lang.reflect.Method.i nvoke(Meth od.java:58 5)
at org.jboss.mx.interceptor.R eflectedDi spatcher.i nvoke(Refl ectedDispa tcher.java :155)
at org.jboss.mx.server.Invoca tion.dispa tch(Invoca tion.java: 94)
at org.jboss.mx.server.Invoca tion.invok e(Invocati on.java:86 )
at org.jboss.mx.server.Abstra ctMBeanInv oker.invok e(Abstract MBeanInvok er.java:26 4)
at org.jboss.mx.server.MBeanS erverImpl. invoke(MBe anServerIm pl.java:65 9)
at org.jboss.system.ServiceCo ntroller$S erviceProx y.invoke(S erviceCont roller.jav a:978)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceCo ntroller.s tart(Servi ceControll er.java:41 7)
at sun.reflect.GeneratedMetho dAccessor9 .invoke(Un known Source)
at sun.reflect.DelegatingMeth odAccessor Impl.invok e(Delegati ngMethodAc cessorImpl .java:25)
at java.lang.reflect.Method.i nvoke(Meth od.java:58 5)
at org.jboss.mx.interceptor.R eflectedDi spatcher.i nvoke(Refl ectedDispa tcher.java :155)
at org.jboss.mx.server.Invoca tion.dispa tch(Invoca tion.java: 94)
at org.jboss.mx.server.Invoca tion.invok e(Invocati on.java:86 )
at org.jboss.mx.server.Abstra ctMBeanInv oker.invok e(Abstract MBeanInvok er.java:26 4)
at org.jboss.mx.server.MBeanS erverImpl. invoke(MBe anServerIm pl.java:65 9)
at org.jboss.mx.util.MBeanPro xyExt.invo ke(MBeanPr oxyExt.jav a:210)
at $Proxy4.start(Unknown Source)
at org.jboss.deployment.SARDe ployer.sta rt(SARDepl oyer.java: 304)
at org.jboss.deployment.MainD eployer.st art(MainDe ployer.jav a:1025)
at org.jboss.deployment.MainD eployer.de ploy(MainD eployer.ja va:819)
at org.jboss.deployment.MainD eployer.de ploy(MainD eployer.ja va:782)
at org.jboss.deployment.MainD eployer.de ploy(MainD eployer.ja va:766)
at sun.reflect.NativeMethodAc cessorImpl .invoke0(N ative Method)
at sun.reflect.NativeMethodAc cessorImpl .invoke(Na tiveMethod AccessorIm pl.java:39 )
at sun.reflect.DelegatingMeth odAccessor Impl.invok e(Delegati ngMethodAc cessorImpl .java:25)
at java.lang.reflect.Method.i nvoke(Meth od.java:58 5)
at org.jboss.mx.interceptor.R eflectedDi spatcher.i nvoke(Refl ectedDispa tcher.java :155)
at org.jboss.mx.server.Invoca tion.dispa tch(Invoca tion.java: 94)
at org.jboss.mx.interceptor.A bstractInt erceptor.i nvoke(Abst ractInterc eptor.java :133)
at org.jboss.mx.server.Invoca tion.invok e(Invocati on.java:88 )
at org.jboss.mx.interceptor.M odelMBeanO perationIn terceptor. invoke(Mod elMBeanOpe rationInte rceptor.ja va:142)
at org.jboss.mx.server.Invoca tion.invok e(Invocati on.java:88 )
at org.jboss.mx.server.Abstra ctMBeanInv oker.invok e(Abstract MBeanInvok er.java:26 4)
at org.jboss.mx.server.MBeanS erverImpl. invoke(MBe anServerIm pl.java:65 9)
at org.jboss.mx.util.MBeanPro xyExt.invo ke(MBeanPr oxyExt.jav a:210)
at $Proxy5.deploy(Unknown Source)
at org.jboss.system.server.Se rverImpl.d oStart(Ser verImpl.ja va:482)
at org.jboss.system.server.Se rverImpl.s tart(Serve rImpl.java :362)
at org.jboss.Main.boot(Main.j ava:200)
at org.jboss.Main$1.run(Main. java:508)
at java.lang.Thread.run(Threa d.java:595 )
Caused by: java.lang.RuntimeException : unable to determine messagingType interface for MDB
at org.jboss.ejb3.mdb.MDB.get MessagingT ype(MDB.ja va:88)
at org.jboss.ejb3.interceptor .EJB3Inter ceptorsFac tory.getBu sinessInte rfaces(EJB 3Intercept orsFactory .java:167)
at org.jboss.ejb3.interceptor .EJB3Inter ceptorsFac tory.isBus inessMetho d(EJB3Inte rceptorsFa ctory.java :122)
at org.jboss.ejb3.interceptor .EJB3Inter ceptorsFac tory.creat ePerJoinpo int(EJB3In terceptors Factory.ja va:98)
... 124 more
I checked a lot of forums, wiki's, but with no result.
java.lang.RuntimeException
at org.jboss.ejb3.interceptor
at org.jboss.aop.advice.Aspec
at org.jboss.aop.advice.Scope
at org.jboss.aop.Advisor.crea
at org.jboss.aop.Advisor.poin
at org.jboss.aop.Advisor.reso
at org.jboss.aop.ClassContain
at org.jboss.aop.ClassContain
at org.jboss.aop.ClassContain
at org.jboss.ejb3.EJBContaine
at org.jboss.ejb3.Ejb3Deploym
at org.jboss.ejb3.Ejb3Deploym
at org.jboss.ejb3.Ejb3Module.
at org.jboss.system.ServiceMB
at org.jboss.system.ServiceMB
at sun.reflect.GeneratedMetho
at sun.reflect.DelegatingMeth
at java.lang.reflect.Method.i
at org.jboss.mx.interceptor.R
at org.jboss.mx.server.Invoca
at org.jboss.mx.server.Invoca
at org.jboss.mx.server.Abstra
at org.jboss.mx.server.MBeanS
at org.jboss.system.ServiceCo
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceCo
at sun.reflect.GeneratedMetho
at sun.reflect.DelegatingMeth
at java.lang.reflect.Method.i
at org.jboss.mx.interceptor.R
at org.jboss.mx.server.Invoca
at org.jboss.mx.server.Invoca
at org.jboss.mx.server.Abstra
at org.jboss.mx.server.MBeanS
at org.jboss.mx.util.MBeanPro
at $Proxy33.start(Unknown Source)
at org.jboss.ejb3.EJB3Deploye
at sun.reflect.NativeMethodAc
at sun.reflect.NativeMethodAc
at sun.reflect.DelegatingMeth
at java.lang.reflect.Method.i
at org.jboss.mx.interceptor.R
at org.jboss.mx.server.Invoca
at org.jboss.mx.interceptor.A
at org.jboss.mx.server.Invoca
at org.jboss.mx.interceptor.M
at org.jboss.mx.interceptor.D
at org.jboss.system.Intercept
at org.jboss.wsf.container.jb
at org.jboss.deployment.SubDe
at org.jboss.deployment.SubDe
at org.jboss.mx.server.Invoca
at org.jboss.mx.server.Abstra
at org.jboss.mx.server.MBeanS
at org.jboss.mx.util.MBeanPro
at $Proxy34.start(Unknown Source)
at org.jboss.deployment.MainD
at org.jboss.deployment.MainD
at org.jboss.deployment.MainD
at org.jboss.deployment.MainD
at org.jboss.deployment.MainD
at sun.reflect.GeneratedMetho
at sun.reflect.DelegatingMeth
at java.lang.reflect.Method.i
at org.jboss.mx.interceptor.R
at org.jboss.mx.server.Invoca
at org.jboss.mx.interceptor.A
at org.jboss.mx.server.Invoca
at org.jboss.mx.interceptor.M
at org.jboss.mx.server.Invoca
at org.jboss.mx.server.Abstra
at org.jboss.mx.server.MBeanS
at org.jboss.mx.util.MBeanPro
at $Proxy9.deploy(Unknown Source)
at org.jboss.deployment.scann
at org.jboss.deployment.scann
at org.jboss.deployment.scann
at org.jboss.deployment.scann
at org.jboss.system.ServiceMB
at org.jboss.system.ServiceMB
at sun.reflect.GeneratedMetho
at sun.reflect.DelegatingMeth
at java.lang.reflect.Method.i
at org.jboss.mx.interceptor.R
at org.jboss.mx.server.Invoca
at org.jboss.mx.server.Invoca
at org.jboss.mx.server.Abstra
at org.jboss.mx.server.MBeanS
at org.jboss.system.ServiceCo
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceCo
at sun.reflect.GeneratedMetho
at sun.reflect.DelegatingMeth
at java.lang.reflect.Method.i
at org.jboss.mx.interceptor.R
at org.jboss.mx.server.Invoca
at org.jboss.mx.server.Invoca
at org.jboss.mx.server.Abstra
at org.jboss.mx.server.MBeanS
at org.jboss.mx.util.MBeanPro
at $Proxy4.start(Unknown Source)
at org.jboss.deployment.SARDe
at org.jboss.deployment.MainD
at org.jboss.deployment.MainD
at org.jboss.deployment.MainD
at org.jboss.deployment.MainD
at sun.reflect.NativeMethodAc
at sun.reflect.NativeMethodAc
at sun.reflect.DelegatingMeth
at java.lang.reflect.Method.i
at org.jboss.mx.interceptor.R
at org.jboss.mx.server.Invoca
at org.jboss.mx.interceptor.A
at org.jboss.mx.server.Invoca
at org.jboss.mx.interceptor.M
at org.jboss.mx.server.Invoca
at org.jboss.mx.server.Abstra
at org.jboss.mx.server.MBeanS
at org.jboss.mx.util.MBeanPro
at $Proxy5.deploy(Unknown Source)
at org.jboss.system.server.Se
at org.jboss.system.server.Se
at org.jboss.Main.boot(Main.j
at org.jboss.Main$1.run(Main.
at java.lang.Thread.run(Threa
Caused by: java.lang.RuntimeException
at org.jboss.ejb3.mdb.MDB.get
at org.jboss.ejb3.interceptor
at org.jboss.ejb3.interceptor
at org.jboss.ejb3.interceptor
... 124 more
I checked a lot of forums, wiki's, but with no result.
import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jboss.annotation.ejb.ResourceAdapter;
import org.quartz.InterruptableJob;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Trigger;
import org.quartz.TriggerListener;
import org.quartz.UnableToInterruptJobException;
@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "cronTrigger", propertyValue = "0/5 * * * * ?"),
@ActivationConfigProperty(propertyName = "jobName", propertyValue = "JOBNAME"),
@ActivationConfigProperty(propertyName = "jobGroup", propertyValue = "JOBGROUP")
})
@ResourceAdapter("quartz-ra.rar")
public class IncidentJob implements InterruptableJob, TriggerListener {
protected static Log log = LogFactory.getLog(IncidentJob.class);
private Thread timer = new Timer();
private JobExecutionContext context = null;
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
log.info("Execute my job...");
}
@Override
public void interrupt() throws UnableToInterruptJobException {
log.info("Job was killed due to timeout");
}
@Override
public String getName() {
return null;
}
@Override
public void triggerComplete(Trigger trigger, JobExecutionContext context, int arg2) {
log.info("Stopping job timer");
this.timer.stop();
}
@Override
public void triggerFired(Trigger trigger, JobExecutionContext context) {
log.info("Starting job timer");
this.context = context;
this.timer.start();
}
@Override
public void triggerMisfired(Trigger trigger) {
}
@Override
public boolean vetoJobExecution(Trigger trigger, JobExecutionContext context) {
return false;
}
private class Timer extends Thread {
public void run() {
try {
sleep(1000);
try {
((InterruptableJob) context.getJobInstance()).interrupt();
} catch (UnableToInterruptJobException e) {
throw new RuntimeException("exception", e);
}
} catch (InterruptedException e) {
}
}
}
}
It could be something due to fact that you re implementing TriggerListener.
Just for the test try to remove TriggerListener implementation from your class.
Just for the test try to remove TriggerListener implementation from your class.
ASKER
I'm using JBoss-4.2.3.GA.
Without the TriggerListener everyting works just fine.
But i need the trigger listener to set a timeout on my job. If the job is running too long, it should be killed.
P.S: Life's great, we should get to gether some time and have a drink and talk up :o)
Without the TriggerListener everyting works just fine.
But i need the trigger listener to set a timeout on my job. If the job is running too long, it should be killed.
P.S: Life's great, we should get to gether some time and have a drink and talk up :o)
First of all don't use a internal fields in stateless EJB (MDB is a stateless). Your context initially always will be null.
Another thing from TriggerListener javadoc: "The interface to be implemented by classes that want to be informed when a Trigger fires. In general, applications that use a Scheduler will not have use for this mechanism. "
But if you use MessageDriven annotation with crontirigger it will use internal Scheduler of JBoss. So need to find some other mechanism for interrupting a job.
P.S: I'm always ready for a drink ;) so let's tak a date.
Another thing from TriggerListener javadoc: "The interface to be implemented by classes that want to be informed when a Trigger fires. In general, applications that use a Scheduler will not have use for this mechanism. "
But if you use MessageDriven annotation with crontirigger it will use internal Scheduler of JBoss. So need to find some other mechanism for interrupting a job.
P.S: I'm always ready for a drink ;) so let's tak a date.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I got the standard Quartz installation of JBoss replaced by latest release from the OpenSymphony site (http://www.opensymphony.com/quartz/download.action).
I use following settings in my quartz-service.xml file:
org.quartz.scheduler.insta nceName=De faultQuart zScheduler
org.quartz.scheduler.rmi.e xport=fals e
org.quartz.scheduler.rmi.p roxy=false
org.quartz.scheduler.xaTra nsacted=fa lse
org.quartz.threadPool.clas s=org.quar tz.simpl.S impleThrea dPool
org.quartz.threadPool.thre adCount=5
org.quartz.threadPool.thre adPriority =4
org.quartz.jobStore.class= org.quartz .impl.jdbc jobstore.J obStoreCMT
org.quartz.jobStore.driver DelegateCl ass= org.quartz.impl.jdbcjobsto re.StdJDBC Delegate
org.quartz.jobStore.dataSo urce=QUART Z
org.quartz.jobStore.nonMan agedTXData Source=QUA RTZ_NO_TX
org.quartz.jobStore.tableP refix=QRTZ _
org.quartz.dataSource.QUAR TZ.jndiURL =java:/DSO neaQZ
org.quartz.dataSource.QUAR TZ_NO_TX.j ndiURL=jav a:/DSOneaQ Z
I created the tables using the SQL script, and i added the datasource to my mysql-ds.xml config file:
<local-tx-datasource>
<jndi-name>DSOneaQZ</jndi- name>
<connection-url>jdbc:mysql ://localho st:3306/on eaqz</conn ection-url >
<driver-class>com.mysql.jd bc.Driver< /driver-cl ass>
<user-name>root</user-name >
<password>******</password >
<exception-sorter-class-na me>org.jbo ss.resourc e.adapter. jdbc.vendo r.MySQLExc eptionSort er</except ion-sorter -class-nam e>
<metadata>
<type-mapping>mySQL</type- mapping>
</metadata>
</local-tx-datasource>
My JBoss starts without error messages, but when i try to start my job with the code below, i get following error message:
13:43:02,836 ERROR [STDERR] Caused by: java.sql.SQLException: Could not retrieve datasource via JNDI url 'java:/DSOneaQZ' org.jboss.util.NestedSQLEx ception: Cou
ld not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemE xception: java.lang.Throwable: Unabled to enlist reso
urce, see the previous warnings. tx=TransactionImple < ac, BasicAction: -3f57561f:11cd:4a0025c6:49 status: ActionStatus.ABORT_ONLY >); - nested throwable: (org.
jboss.resource.JBossResour ceExceptio n: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemE xception: j
ava.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: -3f57561f:11cd:4a0025c6:49 status: ActionStatu
s.ABORT_ONLY >))
Any idea?
I use following settings in my quartz-service.xml file:
org.quartz.scheduler.insta
org.quartz.scheduler.rmi.e
org.quartz.scheduler.rmi.p
org.quartz.scheduler.xaTra
org.quartz.threadPool.clas
org.quartz.threadPool.thre
org.quartz.threadPool.thre
org.quartz.jobStore.class=
org.quartz.jobStore.driver
org.quartz.jobStore.dataSo
org.quartz.jobStore.nonMan
org.quartz.jobStore.tableP
org.quartz.dataSource.QUAR
org.quartz.dataSource.QUAR
I created the tables using the SQL script, and i added the datasource to my mysql-ds.xml config file:
<local-tx-datasource>
<jndi-name>DSOneaQZ</jndi-
<connection-url>jdbc:mysql
<driver-class>com.mysql.jd
<user-name>root</user-name
<password>******</password
<exception-sorter-class-na
<metadata>
<type-mapping>mySQL</type-
</metadata>
</local-tx-datasource>
My JBoss starts without error messages, but when i try to start my job with the code below, i get following error message:
13:43:02,836 ERROR [STDERR] Caused by: java.sql.SQLException: Could not retrieve datasource via JNDI url 'java:/DSOneaQZ' org.jboss.util.NestedSQLEx
ld not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemE
urce, see the previous warnings. tx=TransactionImple < ac, BasicAction: -3f57561f:11cd:4a0025c6:49
jboss.resource.JBossResour
ava.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: -3f57561f:11cd:4a0025c6:49
s.ABORT_ONLY >))
Any idea?
try {
InitialContext ctx = new InitialContext();
StdScheduler scheduler = (StdScheduler) ctx.lookup("Quartz");
JobDetail jd = new JobDetail("JobName", scheduler.DEFAULT_GROUP, Class.forName(tmp.getClassName()));
CronTrigger ct = new CronTrigger("JobName"", scheduler.DEFAULT_GROUP, "0/5 * * * * ?");
scheduler.scheduleJob(jd, ct);
} catch (Exception e) {
e.printStackTrace();
}
ASKER
What datasource should i use for the nonManagedTXDataSource?
ASKER
Ok, i got it working:
I used my web application datasource as managed datasource, and created a separate datasource as non managed datasource.
Thx a lot.
I used my web application datasource as managed datasource, and created a separate datasource as non managed datasource.
Thx a lot.
which version of JBOSS do you use ?
in JBoss 4.2 it worked well.
Check http://www.jboss.org/community/wiki/QuartzSchedulerIntegration
P.S: How is life ? ;)