You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by tschuler <th...@opentext.com> on 2013/07/26 10:37:32 UTC

EjbTimeout before scheduler bean available

Hi!

We are using the TomEE 1.6.0 snapshot from yesterday.
We have scheduled beans (e.g. JobSchedulerBean) that handle persistent
timers.
While server is starting (and a timeout happened while server was down) the
ejbTimeout happens before according scheduler bean is registered and the
trigger gets lost.

Following log message appears:

26.07.2013 09:56:54 org.apache.openejb.core.timer.EjbTimerServiceImpl
ejbTimeout
WARNUNG: Exception from ejbTimeout on JobSchedulerBean
org.apache.openejb.OpenEJBException: Deployment does not exist in this
container. Deployment(id='JobSchedulerBean'), Container(id='Default
Singleton Container')
	at
org.apache.openejb.core.singleton.SingletonContainer.invoke(SingletonContainer.java:156)
	at
org.apache.openejb.core.timer.EjbTimerServiceImpl.ejbTimeout(EjbTimerServiceImpl.java:734)
	at
org.apache.openejb.core.timer.EjbTimeoutJob.execute(EjbTimeoutJob.java:39)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
	at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)

Followed by:

26.07.2013 09:56:54 org.apache.openejb.core.timer.EjbTimerServiceImpl
ejbTimeout
WARNUNG: Failed to execute ejbTimeout on JobSchedulerBean successfully
within 1 attempts

Later the EJB is started:

26.07.2013 09:56:54 org.apache.openejb.assembler.classic.Assembler startEjbs
INFO: Created Ejb(deployment-id=JobSchedulerBean, ejb-name=JobSchedulerBean,
container=Default Singleton Container)

Is there a way to get the scheduling started after all ejbs are started?

Best regards,
Thomas



--
View this message in context: http://openejb.979440.n4.nabble.com/EjbTimeout-before-scheduler-bean-available-tp4664366.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

AW: EjbTimeout before scheduler bean available

Posted by tschuler <th...@opentext.com>.
Hi Romain!

We use different scheduled beans and one of them did the timerservice injection (including @timeout method) on an abstract class.
That seems to confuse the handling of the other scheduled beans.
After removing the injection and annotation from the abstract class: The scheduled beans start firing after a server restart at EJB deployment of the scheduled beans as expected.

Thanks and best regards,
                Thomas

Von: Romain Manni-Bucau [via OpenEJB] [mailto:ml-node+s979440n4664374h4@n4.nabble.com]
Gesendet: Freitag, 26. Juli 2013 16:25
An: Thomas Schuler
Betreff: Re: EjbTimeout before scheduler bean available

the best would be to share something reproducing this issue.

normally the timer is started when the EJB is deployed.

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*



2013/7/26 tschuler <[hidden email]</user/SendEmail.jtp?type=node&node=4664374&i=0>>

> Hi Romain!
>
> We define the scheduler using an application.properties file included in a
> jar file that itself is part of the ear.
>
> Best regards,
> Thomas
>
>
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/EjbTimeout-before-scheduler-bean-available-tp4664366p4664373.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>

________________________________
If you reply to this email, your message will be added to the discussion below:
http://openejb.979440.n4.nabble.com/EjbTimeout-before-scheduler-bean-available-tp4664366p4664374.html
To unsubscribe from EjbTimeout before scheduler bean available, click here<http://openejb.979440.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=4664366&code=dGhvbWFzLnNjaHVsZXJAb3BlbnRleHQuY29tfDQ2NjQzNjZ8LTE4NTIyNTQ0OTI=>.
NAML<http://openejb.979440.n4.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>




--
View this message in context: http://openejb.979440.n4.nabble.com/EjbTimeout-before-scheduler-bean-available-tp4664366p4664423.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Re: EjbTimeout before scheduler bean available

Posted by Romain Manni-Bucau <rm...@gmail.com>.
the best would be to share something reproducing this issue.

normally the timer is started when the EJB is deployed.

*Romain Manni-Bucau*
*Twitter: @rmannibucau <https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*



2013/7/26 tschuler <th...@opentext.com>

> Hi Romain!
>
> We define the scheduler using an application.properties file included in a
> jar file that itself is part of the ear.
>
> Best regards,
> Thomas
>
>
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/EjbTimeout-before-scheduler-bean-available-tp4664366p4664373.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>

Re: EjbTimeout before scheduler bean available

Posted by tschuler <th...@opentext.com>.
Hi Romain!

We define the scheduler using an application.properties file included in a
jar file that itself is part of the ear.

Best regards,
Thomas



--
View this message in context: http://openejb.979440.n4.nabble.com/EjbTimeout-before-scheduler-bean-available-tp4664366p4664373.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Re: EjbTimeout before scheduler bean available

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi,

Did you configure the scheduler by bean or so you use the global one
(default)
Le 26 juil. 2013 10:39, "tschuler" <th...@opentext.com> a écrit :

> Hi!
>
> We are using the TomEE 1.6.0 snapshot from yesterday.
> We have scheduled beans (e.g. JobSchedulerBean) that handle persistent
> timers.
> While server is starting (and a timeout happened while server was down) the
> ejbTimeout happens before according scheduler bean is registered and the
> trigger gets lost.
>
> Following log message appears:
>
> 26.07.2013 09:56:54 org.apache.openejb.core.timer.EjbTimerServiceImpl
> ejbTimeout
> WARNUNG: Exception from ejbTimeout on JobSchedulerBean
> org.apache.openejb.OpenEJBException: Deployment does not exist in this
> container. Deployment(id='JobSchedulerBean'), Container(id='Default
> Singleton Container')
>         at
>
> org.apache.openejb.core.singleton.SingletonContainer.invoke(SingletonContainer.java:156)
>         at
>
> org.apache.openejb.core.timer.EjbTimerServiceImpl.ejbTimeout(EjbTimerServiceImpl.java:734)
>         at
> org.apache.openejb.core.timer.EjbTimeoutJob.execute(EjbTimeoutJob.java:39)
>         at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
>         at
>
> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557)
>
> Followed by:
>
> 26.07.2013 09:56:54 org.apache.openejb.core.timer.EjbTimerServiceImpl
> ejbTimeout
> WARNUNG: Failed to execute ejbTimeout on JobSchedulerBean successfully
> within 1 attempts
>
> Later the EJB is started:
>
> 26.07.2013 09:56:54 org.apache.openejb.assembler.classic.Assembler
> startEjbs
> INFO: Created Ejb(deployment-id=JobSchedulerBean,
> ejb-name=JobSchedulerBean,
> container=Default Singleton Container)
>
> Is there a way to get the scheduling started after all ejbs are started?
>
> Best regards,
> Thomas
>
>
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/EjbTimeout-before-scheduler-bean-available-tp4664366.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>