[jboss-jira] [JBoss JIRA] Commented: (EJBTHREE-1701) getTimerService() can no longer be called in @Service start()

Erik Lupander (JIRA) jira-events at lists.jboss.org
Tue Sep 14 07:36:12 EDT 2010


    [ https://jira.jboss.org/browse/EJBTHREE-1701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12550772#action_12550772 ] 

Erik Lupander commented on EJBTHREE-1701:
-----------------------------------------

A possible workaround:

We enountered this issue migrating from 4.2.3.GA to 5.1.0.GA. After patching JBoss 5.1.0.GA with the latest JBoss EJB3 plugin, the @TimerService stuff works again in our @Service annotated POJO:s lifecycle methods. E.g. start(). Version of the JBoss EJB3 Plugin: 1.0.19

http://www.jboss.org/ejb3/ejb3plugin.html

> getTimerService() can no longer be called in @Service start()
> -------------------------------------------------------------
>
>                 Key: EJBTHREE-1701
>                 URL: https://jira.jboss.org/browse/EJBTHREE-1701
>             Project: EJB 3.0
>          Issue Type: Bug
>          Components: core
>    Affects Versions: trunk
>         Environment: 5.0.0.GA
>            Reporter: Matt C
>            Assignee: Andrew Rubinger
>         Attachments: EJBTHREE-1701_testcase_v1.patch, EJBTHREE-1701_testcase_v2.patch
>
>
> Calling getTimerService() is no longer allowed from the lifecycle methods of @Service.
> Exception java.lang.IllegalStateException: getTimerService() not allowed during injection (EJB3 4.5.2).
> This occurs in the start() method of a @Service bean. The effect is to disallow setup of application-wide timers.
> This action is erroneously disallowed based on Table 2 in the EJB3 specification, section 4.5.2 (IMHO).
> Service lifecycle methods are not dependency injection methods, furthermore @Service beans are outside of the EJB3 specification.
> Lifecycle methods of a service should probably be considered business methods, not DI in the context of Table 2. They are in the @Management business interface.
> There is no workaround yet for this backwards incompatible change which breaks apps that set up application-wide timers from Services when they are migrated to 5.0.0.GA. This used to work in 4.2.x.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list