got it but knowing 1.7.2 has the same issue helps to identify if we need to
solve an unidentified issue or a fixed issue with potentially a workwround.


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com>

2015-09-28 12:52 GMT-07:00 Leonardo K. Shikida <[email protected]>:

> I am sorry, 1.6.0 is in production here.
>
> :-(
>
>
> []
>
> Leo
>
> On Mon, Sep 28, 2015 at 4:38 PM, Romain Manni-Bucau <[email protected]
> >
> wrote:
>
> > Hi Leo,
> >
> > can you quickly check it on 1.7.2 before digging into 1.6.0 bugs? I know
> we
> > enhanced a bit this area (singleton) so can be fixed.
> >
> >
> > Romain Manni-Bucau
> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> > <http://rmannibucau.wordpress.com> | Github <
> > https://github.com/rmannibucau> |
> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
> > <http://www.tomitribe.com>
> >
> > 2015-09-28 12:16 GMT-07:00 Leonardo K. Shikida <[email protected]>:
> >
> > > Hi
> > >
> > > I have a singleton that initialized my own scheduler.
> > >
> > > Please don't ask me why do I need another schedule, since TomEE already
> > > provides one by default. Actually, I need this because since the JavaEE
> > > spec is not clear about how the timers must be hadled when they're
> > > persistent, I had to do this. But anyway.
> > >
> > >
> > > @Startup
> > > @Singleton
> > > @DependsOn("SystemInitializerEJB")
> > > public class TimerEJB{
> > >
> > >     private Scheduler scheduler;
> > >
> > >     private static Logger log = Logger.getLogger(TimerEJB.class);
> > >
> > >     @PostConstruct
> > >     public void initialize() throws SchedulerException{
> > >         log.info("Initialize "+this);
> > >         StdSchedulerFactory factory = new StdSchedulerFactory();
> > >
> > >
> > >
> >
> factory.initialize(this.getClass().getResourceAsStream("my.quartz.properties"));
> > >         scheduler = factory.getScheduler();
> > >         scheduler.start();
> > >         log.info("scheduler
> > "+scheduler.getMetaData().getSchedulerName());
> > >     }
> > >
> > >
> > > SOMETIMES...
> > >
> > > it seems to be initialized twice, because I get this message
> > >
> > > INFO: Started Ejb(deployment-id=SystemInitializerEJB,
> > > ejb-name=SystemInitializerEJB, container=Default Singleton Container)
> > >
> > > 2015-09-28 17:40:02,806 INFO   [TimerEJB] Initialize
> > > com.company.software.tomee.timer.TimerEJB@4d8818cd
> > > 2015-09-28 17:40:02,807 INFO   [TimerEJB] Initialize
> > > com.company.software.tomee.timer.TimerEJB@7e2715a4 Sep 28, 2015
> 5:40:02
> > PM
> > > org.quartz.impl.StdSchedulerFactory instantiate
> > > INFO: Using default implementation for ThreadExecutor
> > > Sep 28, 2015 5:40:02 PM org.quartz.impl.StdSchedulerFactory instantiate
> > > INFO: Using default implementation for ThreadExecutor
> > > Sep 28, 2015 5:40:02 PM org.quartz.core.SchedulerSignalerImpl <init>
> > > INFO: Initialized Scheduler Signaller of type: class
> > > org.quartz.core.SchedulerSignalerImpl
> > > Sep 28, 2015 5:40:02 PM org.quartz.core.QuartzScheduler <init>
> > > INFO: Quartz Scheduler v.2.2.0 created.
> > > Sep 28, 2015 5:40:02 PM org.quartz.simpl.RAMJobStore initialize
> > > INFO: RAMJobStore initialized.
> > > Sep 28, 2015 5:40:02 PM org.quartz.core.QuartzScheduler initialize
> > > INFO: Scheduler meta-data: Quartz Scheduler (v2.2.0)
> > > 'MyClusteredScheduler2' 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.quartz.simpl.SimpleThreadPool' - with 30
> > threads.
> > >   Using job-store 'org.quartz.simpl.RAMJobStore' - which does not
> support
> > > persistence. and is not clustered.
> > >
> > > Sep 28, 2015 5:40:02 PM org.quartz.impl.StdSchedulerFactory instantiate
> > > INFO: Quartz scheduler 'MyClusteredScheduler2' initialized from an
> > > externally opened InputStream.
> > > Sep 28, 2015 5:40:02 PM org.quartz.impl.StdSchedulerFactory instantiate
> > > INFO: Quartz scheduler version: 2.2.0
> > > Sep 28, 2015 5:40:02 PM org.quartz.core.QuartzScheduler start
> > > INFO: Scheduler MyClusteredScheduler2_$_NON_CLUSTERED started.
> > >
> > > 2015-09-28 17:40:02,847 INFO   [TimerEJB] scheduler
> MyClusteredScheduler2
> > > Sep 28, 2015 5:40:02 PM org.apache.openejb.assembler.classic.Assembler
> > > startEjbs
> > > INFO: Started Ejb(deployment-id=myTimerEJB, ejb-name=myTimerEJB,
> > > container=Default Singleton Container)
> > > Sep 28, 2015 5:40:02 PM org.quartz.core.SchedulerSignalerImpl <init>
> > > INFO: Initialized Scheduler Signaller of type: class
> > > org.quartz.core.SchedulerSignalerImpl
> > > Sep 28, 2015 5:40:02 PM org.quartz.core.QuartzScheduler <init>
> > > INFO: Quartz Scheduler v.2.2.0 created.
> > > Sep 28, 2015 5:40:02 PM org.quartz.simpl.RAMJobStore initialize
> > > INFO: RAMJobStore initialized.
> > > Sep 28, 2015 5:40:02 PM org.quartz.core.QuartzScheduler initialize
> > > INFO: Scheduler meta-data: Quartz Scheduler (v2.2.0)
> > > 'MyClusteredScheduler2' 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.quartz.simpl.SimpleThreadPool' - with 30
> > threads.
> > >   Using job-store 'org.quartz.simpl.RAMJobStore' - which does not
> support
> > > persistence. and is not clustered.
> > >
> > > Sep 28, 2015 5:40:02 PM org.quartz.impl.StdSchedulerFactory instantiate
> > > INFO: Quartz scheduler 'MyClusteredScheduler2' initialized from an
> > > externally opened InputStream.
> > > Sep 28, 2015 5:40:02 PM org.quartz.impl.StdSchedulerFactory instantiate
> > > INFO: Quartz scheduler version: 2.2.0
> > > Sep 28, 2015 5:40:02 PM org.quartz.core.QuartzScheduler shutdown
> > > INFO: Scheduler MyClusteredScheduler2_$_NON_CLUSTERED shutting down.
> > > Sep 28, 2015 5:40:02 PM org.quartz.core.QuartzScheduler standby
> > > INFO: Scheduler MyClusteredScheduler2_$_NON_CLUSTERED paused.
> > > Sep 28, 2015 5:40:02 PM org.quartz.core.QuartzScheduler shutdown
> > > INFO: Scheduler MyClusteredScheduler2_$_NON_CLUSTERED shutdown
> complete.
> > > Sep 28, 2015 5:40:02 PM
> > > org.apache.openejb.core.transaction.EjbTransactionUtil
> > > handleSystemException
> > > SEVERE: EjbTransactionUtil.handleSystemException: Scheduler with name
> > > 'MyClusteredScheduler2' already exists.
> > > org.quartz.SchedulerException: Scheduler with name
> > 'MyClusteredScheduler2'
> > > already exists.
> > >     at
> > > org.quartz.impl.SchedulerRepository.bind(SchedulerRepository.java:80)
> > >     at
> > >
> > >
> >
> org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:1352)
> > >     at
> > >
> > >
> >
> org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1517)
> > >     at
> > > com.company.software.tomee.timer.TimerEJB.initialize(TimerEJB.java:71)
> > >     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:606)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:182)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$LifecycleInvocation.invoke(ReflectionInvocationContext.java:214)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:164)
> > >     at
> > >
> > >
> >
> org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:180)
> > >     at
> > >
> > >
> >
> org.apache.openejb.monitoring.StatsInterceptor.PostConstruct(StatsInterceptor.java:108)
> > >     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:606)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:182)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:164)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:80)
> > >     at
> org.apache.openejb.BeanContext.newInstance(BeanContext.java:1565)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.createInstance(SingletonInstanceManager.java:175)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.access$100(SingletonInstanceManager.java:67)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:116)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:114)
> > >     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.getInstance(SingletonInstanceManager.java:125)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.initialize(SingletonInstanceManager.java:91)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.access$400(SingletonInstanceManager.java:67)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$Data.initialize(SingletonInstanceManager.java:367)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.initializeDependencies(SingletonInstanceManager.java:166)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.createInstance(SingletonInstanceManager.java:173)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.access$100(SingletonInstanceManager.java:67)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:116)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:114)
> > >     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.getInstance(SingletonInstanceManager.java:125)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.initialize(SingletonInstanceManager.java:91)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.access$400(SingletonInstanceManager.java:67)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$Data.initialize(SingletonInstanceManager.java:367)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.initializeDependencies(SingletonInstanceManager.java:166)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.createInstance(SingletonInstanceManager.java:173)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.access$100(SingletonInstanceManager.java:67)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:116)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:114)
> > >     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.getInstance(SingletonInstanceManager.java:125)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.initialize(SingletonInstanceManager.java:91)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.access$400(SingletonInstanceManager.java:67)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$Data.initialize(SingletonInstanceManager.java:367)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.initializeDependencies(SingletonInstanceManager.java:166)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.createInstance(SingletonInstanceManager.java:173)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.access$100(SingletonInstanceManager.java:67)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:116)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:114)
> > >     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.getInstance(SingletonInstanceManager.java:125)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.initialize(SingletonInstanceManager.java:91)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.access$400(SingletonInstanceManager.java:67)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$Data.initialize(SingletonInstanceManager.java:367)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.initializeDependencies(SingletonInstanceManager.java:166)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.createInstance(SingletonInstanceManager.java:173)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.access$100(SingletonInstanceManager.java:67)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:116)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:114)
> > >     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.getInstance(SingletonInstanceManager.java:125)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.initialize(SingletonInstanceManager.java:91)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.access$400(SingletonInstanceManager.java:67)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$Data.initialize(SingletonInstanceManager.java:367)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.initializeDependencies(SingletonInstanceManager.java:166)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.createInstance(SingletonInstanceManager.java:173)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.access$100(SingletonInstanceManager.java:67)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:116)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$1.call(SingletonInstanceManager.java:114)
> > >     at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.getInstance(SingletonInstanceManager.java:125)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.initialize(SingletonInstanceManager.java:91)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager.access$400(SingletonInstanceManager.java:67)
> > >     at
> > >
> > >
> >
> org.apache.openejb.core.singleton.SingletonInstanceManager$Data.initialize(SingletonInstanceManager.java:367)
> > > (...)
> > >
> > > I can understand it seems to be like some dependency cycle, but I need
> to
> > > know why it does not happen all the time and how to avoid this sort of
> > > thing, because it really breaks the app.
> > >
> > > Any help is welcome. thanks
> > >
> > >
> > > []
> > >
> > > Leo
> > >
> >
>

Reply via email to