Tring to set up another instance on the same quartz DB I get this
http://quartz-scheduler.org/api/2.0.0/org/quartz/ObjectAlreadyExistsException.html

I think that before creating a Trigger you should already check if exists

org.quartz.ObjectAlreadyExistsException: Unable to store Trigger with name: 'OPEN_EJB_TIMEOUT_TRIGGER_MyTimer_1' and group: 'OPEN_EJB_TIMEOUT_TRIGGER_GROUP', because one already exists with this identification. at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1168) at org.quartz.impl.jdbcjobstore.JobStoreSupport$4.execute(JobStoreSupport.java:1149) at org.quartz.impl.jdbcjobstore.JobStoreSupport$45.execute(JobStoreSupport.java:3739) at org.quartz.impl.jdbcjobstore.JobStoreCMT.executeInLock(JobStoreCMT.java:245) at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInLock(JobStoreSupport.java:3735) at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1145) at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:886)
    at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:259)
at org.apache.openejb.core.timer.EjbTimerServiceImpl.schedule(EjbTimerServiceImpl.java:285) at org.apache.openejb.core.timer.TimerData.transactionComplete(TimerData.java:236) at org.apache.openejb.core.timer.TimerData.registerTimerDataSynchronization(TimerData.java:266)
    at org.apache.openejb.core.timer.TimerData.newTimer(TimerData.java:199)
at org.apache.openejb.core.timer.EjbTimerServiceImpl.initializeNewTimer(EjbTimerServiceImpl.java:425) at org.apache.openejb.core.timer.EjbTimerServiceImpl.start(EjbTimerServiceImpl.java:227) at org.apache.openejb.core.stateless.StatelessContainer.start(StatelessContainer.java:111) at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:812) at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:521) at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:783) at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:736) at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:118) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5173)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)



Il 11/08/2012 14:35, Romain Manni-Bucau ha scritto:
your sample now works for me (commited)

Some not related notes:
1) org.apache.openejb.client.LocalInitialContextFactory should
be org.apache.openejb.core.LocalInitialContextFactory
2) log4j is no more used by default
3) instead of new INitialContext you can use EJBContainer API which is
standard (and don't forget the close at the end ;))

- Romain


2012/8/11 Romain Manni-Bucau <rmannibu...@gmail.com>

Hi,

thks i'll have a look,

why hsqldb you get: Caused by: java.sql.SQLSyntaxErrorException: user
lacks privilege or object not found: QRTZ_TRIGGERS
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
  at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source)
  at org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source)
at
org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:281)
  at
org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:281)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:601)
at
org.quartz.impl.jdbcjobstore.AttributeRestoringConnectionInvocationHandler.invoke(AttributeRestoringConnectionInvocationHandler.java:73)
  at $Proxy9.prepareStatement(Unknown Source)
at
org.quartz.impl.jdbcjobstore.StdJDBCDelegate.updateTriggerStatesFromOtherStates(StdJDBCDelegate.java:254)
  at
org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverJobs(JobStoreSupport.java:844)
... 49 more
Caused by: org.hsqldb.HsqlException: user lacks privilege or object not
found: QRTZ_TRIGGERS
at org.hsqldb.error.Error.error(Unknown Source)
  at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.SchemaManager.getTable(Unknown Source)
  at org.hsqldb.ParserDQL.readTableName(Unknown Source)
at org.hsqldb.ParserDQL.readSimpleRangeVariable(Unknown Source)
  at org.hsqldb.ParserDML.compileUpdateStatement(Unknown Source)
at org.hsqldb.ParserCommand.compilePart(Unknown Source)
  at org.hsqldb.ParserCommand.compileStatement(Unknown Source)
at org.hsqldb.Session.compileStatement(Unknown Source)
  at org.hsqldb.StatementManager.compile(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
  ... 61 more


- Romain



2012/8/11 Enrico Olivelli <eolive...@gmail.com>

Attaching a simple Maven project with some simples test
in contains:
- CreateQuartzDatabase --> to create the database locally
- RunTimerWithStardardQuartzConf**ig -> this works, uses standard
OpenEJB Quartz configuration
- RunClusteredTimerWithTXStore -> not working
- RunClusteredTimerWithCMTStore -> not working

When configuring JobStoreTX or CMT the bean is not deployed, I don't
known it is a a hssqldb problem (in MySQL I got other errors)
even when not configuring org.quartz.jobStore.**isClustered=true

I hope it helps

(I could not upload the ZIP on issues.apache.prg because it is
out-of-order)

example log...
Informazioni - Using 'org.quartz.jobStore.class=**
org.quartz.impl.jdbcjobstore.**JobStoreTX'
Informazioni - Using 'org.quartz.jobStore.**dataSource=quartzdb'
Informazioni - Using 'org.quartz.dataSource.**quartzdb.jndiURL=openejb:**
Resource/quartzdb'
Informazioni - Using 'org.quartz.jobStore.class=**
org.quartz.impl.jdbcjobstore.**JobStoreTX'
Informazioni - Using 'org.quartz.jobStore.**dataSource=quartzdb'
Informazioni - Using 'org.quartz.dataSource.**quartzdb.jndiURL=openejb:**
Resource/quartzdb'
Informazioni - Using default implementation for ThreadExecutor
Informazioni - Initialized Scheduler Signaller of type: class
org.quartz.core.**SchedulerSignalerImpl
Informazioni - Quartz Scheduler v.2.1.5 created.
Informazioni - Using thread monitor-based data access locking
(synchronization).
Informazioni - JobStoreTX initialized.
Informazioni - Scheduler meta-data: Quartz Scheduler (v2.1.5)
'OpenEJB-TimerService-**Scheduler' with instanceId 'NON_CLUSTERED'
   Scheduler class: 'org.quartz.core.**QuartzScheduler' - running locally.
   NOT STARTED.
   Currently in standby mode.
   Number of jobs executed: 0
   Using thread pool 
'org.apache.openejb.core.**timer.**DefaultTimerThreadPoolAdapter'
- with 0 threads.
   Using job-store 'org.quartz.impl.jdbcjobstore.**JobStoreTX' - which
supports persistence. and is not clustered.

Informazioni - Quartz scheduler 'OpenEJB-TimerService-**Scheduler'
initialized from an externally provided properties instance.
Informazioni - Quartz scheduler version: 2.1.5



Il 07/08/2012 19:50, Romain Manni-Bucau ha scritto:

Hi,

do you have a simple test you can share to ease the work on this topic?

- Romain


2012/8/7 Enrico Olivelli <eolive...@gmail.com>

  Yep ! I didn't update my test server very well
this is the new error...

Grave: An error occurred while scanning for the next triggers to fire.
org.quartz.****JobPersistenceException: Couldn't acquire next trigger:

Couldn't retrieve trigger: No record found for selection of Trigger with
key: 'OPEN_EJB_TIMEOUT_TRIGGER_****GROUP.OPEN_EJB_TIMEOUT_****
TRIGGER_MyTimer_1'

and statement: SELECT * FROM QRTZ_CRON_TRIGGERS WHERE SCHED_NAME =
'OpenEJB-TimerService-****Scheduler' AND TRIGGER_NAME = ? AND
TRIGGER_GROUP
= ? [See nested exception: org.quartz.****JobPersistenceException:
Couldn't

retrieve trigger: No record found for selection of Trigger with key:
'OPEN_EJB_TIMEOUT_TRIGGER_****GROUP.OPEN_EJB_TIMEOUT_****
TRIGGER_MyTimer_1'

and statement: SELECT * FROM QRTZ_CRON_TRIGGERS WHERE SCHED_NAME =
'OpenEJB-TimerService-****Scheduler' AND TRIGGER_NAME = ? AND
TRIGGER_GROUP
= ? [See nested exception: java.lang.****IllegalStateException: No
record
found for selection of Trigger with key: 'OPEN_EJB_TIMEOUT_TRIGGER_**
GROUP.OPEN_EJB_TIMEOUT_****TRIGGER_MyTimer_1' and statement: SELECT *
FROM
QRTZ_CRON_TRIGGERS WHERE SCHED_NAME = 'OpenEJB-TimerService-****
Scheduler'

AND TRIGGER_NAME = ? AND TRIGGER_GROUP = ?]]
      at org.quartz.impl.jdbcjobstore.****JobStoreSupport.**
acquireNextTrigger(****JobStoreSupport.java:2840)
      at org.quartz.impl.jdbcjobstore.****JobStoreSupport$41.execute(**
JobStoreSupport.java:2755)
      at org.quartz.impl.jdbcjobstore.****JobStoreSupport.**
executeInNonManagedTXLock(****JobStoreSupport.java:3811)
      at org.quartz.impl.jdbcjobstore.****JobStoreSupport.**
acquireNextTriggers(****JobStoreSupport.java:2751)
      at org.quartz.core.****QuartzSchedulerThread.run(**
QuartzSchedulerThread.java:****264)
Caused by: org.quartz.****JobPersistenceException: Couldn't retrieve

trigger: No record found for selection of Trigger with key:
'OPEN_EJB_TIMEOUT_TRIGGER_****GROUP.OPEN_EJB_TIMEOUT_****
TRIGGER_MyTimer_1'

and statement: SELECT * FROM QRTZ_CRON_TRIGGERS WHERE SCHED_NAME =
'OpenEJB-TimerService-****Scheduler' AND TRIGGER_NAME = ? AND
TRIGGER_GROUP
= ? [See nested exception: java.lang.****IllegalStateException: No
record
found for selection of Trigger with key: 'OPEN_EJB_TIMEOUT_TRIGGER_**
GROUP.OPEN_EJB_TIMEOUT_****TRIGGER_MyTimer_1' and statement: SELECT *
FROM
QRTZ_CRON_TRIGGERS WHERE SCHED_NAME = 'OpenEJB-TimerService-****
Scheduler'

AND TRIGGER_NAME = ? AND TRIGGER_GROUP = ?]
      at org.quartz.impl.jdbcjobstore.****JobStoreSupport.****
retrieveTrigger(**
JobStoreSupport.java:1524)
      at org.quartz.impl.jdbcjobstore.****JobStoreSupport.**
acquireNextTrigger(****JobStoreSupport.java:2790)
      ... 4 more
Caused by: java.lang.****IllegalStateException: No record found for
selection of Trigger with key: 'OPEN_EJB_TIMEOUT_TRIGGER_**
GROUP.OPEN_EJB_TIMEOUT_****TRIGGER_MyTimer_1' and statement: SELECT *
FROM
QRTZ_CRON_TRIGGERS WHERE SCHED_NAME = 'OpenEJB-TimerService-****
Scheduler'

AND TRIGGER_NAME = ? AND TRIGGER_GROUP = ?
      at org.quartz.impl.jdbcjobstore.******
CronTriggerPersistenceDelegate****.**
loadExtendedTriggerProperties(******CronTriggerPersistenceDelegate**
**.java:92)
      at org.quartz.impl.jdbcjobstore.****StdJDBCDelegate.**
selectTrigger(**
StdJDBCDelegate.java:1801)
      at org.quartz.impl.jdbcjobstore.****JobStoreSupport.****
retrieveTrigger(**

JobStoreSupport.java:1520)
      ... 5 more

ago 07, 2012 7:29:53

Il 07/08/2012 09:51, Romain Manni-Bucau ha scritto:

  Hi,
sure you got the last revision?

just enhanced the test to be sure:
http://svn.apache.org/repos/****asf/openejb/trunk/openejb/**<http://svn.apache.org/repos/**asf/openejb/trunk/openejb/**>
container/openejb-core/src/****test/java/org/apache/openejb/***
*timer/**
EjbTimerImplSerializableTest.****java<http://svn.apache.org/**
repos/asf/openejb/trunk/**openejb/container/openejb-**
core/src/test/java/org/apache/**openejb/timer/**
EjbTimerImplSerializableTest.**java<http://svn.apache.org/repos/asf/openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/timer/EjbTimerImplSerializableTest.java>

seems jobdatamap is serializable

- Romain


2012/8/7 Enrico Olivelli <eolive...@gmail.com>

   I'm sorry,

I does not work.....


Avvertenza: Could not schedule timer Calendar scheduleExpression =
[javax.ejb.ScheduleExpression@******4ed0efda]
org.quartz.******JobPersistenceException: Couldn't store trigger
'OPEN_EJB_TIMEOUT_TRIGGER_******GROUP.OPEN_EJB_TIMEOUT_****
TRIGGER_MyTimer_1'
for 'OPENEJB_TIMEOUT_GROUP.******OPENEJB_TIMEOUT_JOB' job:Unable to

serialize

JobDataMap for insertion into database because the value of property
'TIMER_DATA' is not serializable: org.apache.openejb.core.timer.****
**CalendarTimerData
[See nested exception: java.io.******NotSerializableException:
Unable to


serialize JobDataMap for insertion into database because the value of
property 'TIMER_DATA' is not serializable:
org.apache.openejb.core.timer.
***
*CalendarTimerData]
using context file C:\work\MyTomEE11\TestQuartz\******
build\web\META-INF\context.xml
       at org.quartz.impl.jdbcjobstore.******JobStoreSupport.**
storeTrigger(**
**
JobStoreSupport.java:1212)
       at org.quartz.impl.jdbcjobstore.***
***JobStoreSupport$4.execute(****
JobStoreSupport.java:1149)
       at org.quartz.impl.jdbcjobstore.***
***JobStoreSupport$45.execute(****
JobStoreSupport.java:3739)
       at org.quartz.impl.jdbcjobstore.***
***JobStoreCMT.executeInLock(****
JobStoreCMT.java:245)
       at org.quartz.impl.jdbcjobstore.******JobStoreSupport.**
executeInLock(**
JobStoreSupport.java:3735)
       at org.quartz.impl.jdbcjobstore.******JobStoreSupport.**
storeTrigger(**
**
JobStoreSupport.java:1145)
       at org.quartz.core.******QuartzScheduler.scheduleJob(**
QuartzScheduler.java:886)
       at org.quartz.impl.StdScheduler.***
***scheduleJob(StdScheduler.**
java:**259)
       at org.apache.openejb.core.timer.******EjbTimerServiceImpl.**
schedule(**
EjbTimerServiceImpl.java:261)
       at org.apache.openejb.core.timer.******TimerData.**
transactionComplete(**
TimerData.java:183)
       at org.apache.openejb.core.timer.******TimerData.**
registerTimerDataSynchronizati******on(TimerData.java:212)
       at org.apache.openejb.core.timer.******TimerData.newTimer(**
TimerData.**
java:147)
       at org.apache.openejb.core.timer.******EjbTimerServiceImpl.**
initializeNewTimer(******EjbTimerServiceImpl.java:401)
       at org.apache.openejb.core.timer.**
****EjbTimerServiceImpl.start(****
EjbTimerServiceImpl.java:203)
       at org.apache.openejb.core.******stateless.StatelessContainer.*
*****
deploy(StatelessContainer.******java:106)
       at org.apache.openejb.assembler.******classic.Assembler.**
createApplication(Assembler.******java:788)
       at org.apache.openejb.assembler.******classic.Assembler.**
createApplication(Assembler.******java:516)
       at org.apache.tomee.catalina.******TomcatWebAppBuilder.****
startInternal(**
TomcatWebAppBuilder.java:755)
       at org.apache.tomee.catalina.******TomcatWebAppBuilder.****
configureStart(**
TomcatWebAppBuilder.java:708)
       at org.apache.tomee.catalina.******GlobalListenerSupport.****
lifecycleEvent(
**GlobalListenerSupport.java:******118)
       at org.apache.catalina.util.******LifecycleSupport.****
fireLifecycleEvent(**
LifecycleSupport.java:119)
       at org.apache.catalina.util.******LifecycleBase.****
fireLifecycleEvent(**
LifecycleBase.java:90)
       at org.apache.catalina.core.******
StandardContext.startInternal(******
StandardContext.java:5173)
       at org.apache.catalina.util.******LifecycleBase.start(**
LifecycleBase.java:150)
       at org.apache.catalina.core.******ContainerBase.****
addChildInternal(**
ContainerBase.java:901)
       at org.apache.catalina.core.******ContainerBase.addChild(**
ContainerBase.java:877)
       at org.apache.catalina.core.******StandardHost.addChild(**
StandardHost.java:618)
       at org.apache.catalina.startup.****
**HostConfig.deployDescriptor(****
HostConfig.java:650)
       at org.apache.catalina.startup.****
**HostConfig$DeployDescriptor.****
run(HostConfig.java:1582)
       at java.util.concurrent.******Executors$RunnableAdapter.**
call(Executors.java:471)
       at java.util.concurrent.******FutureTask$Sync.innerRun(**
FutureTask.java:334)
       at java.util.concurrent.******FutureTask.run(FutureTask.******
java:166)
       at java.util.concurrent.******ThreadPoolExecutor.runWorker(***
***
ThreadPoolExecutor.java:1110)
       at java.util.concurrent.******ThreadPoolExecutor$Worker.run(**
****
ThreadPoolExecutor.java:603)
       at java.lang.Thread.run(Thread.******java:722)
Caused by: java.io.******NotSerializableException: Unable to
serialize


JobDataMap for insertion into database because the value of property
'TIMER_DATA' is not serializable: org.apache.openejb.core.timer.**
****
CalendarTimerData
       at org.quartz.impl.jdbcjobstore.******StdJDBCDelegate.****
serializeJobData(*
*StdJDBCDelegate.java:3038)
       at org.quartz.impl.jdbcjobstore.******StdJDBCDelegate.**
insertTrigger(**
StdJDBCDelegate.java:1052)
       at org.quartz.impl.jdbcjobstore.******JobStoreSupport.**
storeTrigger(**

**

JobStoreSupport.java:1209)
       ... 34 more




Il 06/08/2012 10:03, Romain Manni-Bucau (JIRA) ha scritto:

         [ https://issues.apache.org/******
jira/browse/TOMEE-345?page=**<https://issues.apache.org/****jira/browse/TOMEE-345?page=**>
<**https://issues.apache.org/****jira/browse/TOMEE-345?page=**<https://issues.apache.org/**jira/browse/TOMEE-345?page=**>
com.atlassian.jira.plugin.******system.issuetabpanels:comment-******
tabpanel&focusedCommentId=******13429016#comment-13429016<**http**
s://issues.apache.org/jira/****browse/TOMEE-345?page=com.**<http://issues.apache.org/jira/**browse/TOMEE-345?page=com.**>
atlassian.jira.plugin.system.****issuetabpanels:comment-**

tabpanel&focusedCommentId=****13429016#comment-13429016<http**
s://issues.apache.org/jira/**browse/TOMEE-345?page=com.**
atlassian.jira.plugin.system.**issuetabpanels:comment-**
tabpanel&focusedCommentId=**13429016#comment-13429016<https://issues.apache.org/jira/browse/TOMEE-345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13429016#comment-13429016>
]

Romain Manni-Bucau commented on TOMEE-345:
------------------------------******------------


just made timerdata serializable


   make EjbTimerServiceImpl serializable

------------------------------******-------

                    Key: TOMEE-345
                    URL: https://issues.apache.org/****
jira/browse/TOMEE-345<https://**issues.apache.org/**jira/**
browse/TOMEE-345<https://issues.apache.org/**jira/browse/TOMEE-345>
<https://**issues.apache.org/**jira/browse/**TOMEE-345<http://issues.apache.org/jira/browse/**TOMEE-345>
<https:**//issues.apache.org/jira/**browse/TOMEE-345<https://issues.apache.org/jira/browse/TOMEE-345>
                Project: TomEE
             Issue Type: Improvement
               Reporter: Romain Manni-Bucau
                Fix For: 1.1.0



   --

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA
administrators: 
https://issues.apache.org/******jira/secure/**<https://issues.apache.org/****jira/secure/**>
<https://issues.**apache.org/**jira/secure/**<https://issues.apache.org/**jira/secure/**>
ContactAdministrators!default.******jspa<https://issues.**apache.<https://issues.apache.>
**
org/jira/secure/****ContactAdministrators!default.****jspa<
https://issues.apache.**org/jira/secure/**ContactAdministrators%**
21default.jspa<https://issues.apache.org/jira/secure/ContactAdministrators%21default.jspa>
For more information on JIRA, see: http://www.atlassian.com/**
software/jira 
<http://www.atlassian.com/****software/jira<http://www.atlassian.com/**software/jira>
<http://www.**atlassian.com/software/jira<http://www.atlassian.com/software/jira>




Reply via email to