Skip to main content

[ejb-spec issues] [JIRA] Issue Comment Edited: (EJB_SPEC-3) Decoupling the @Asynchronous annotation from the EJB component model

  • From: "emailnbw (JIRA)" <jira-no-reply@...>
  • To: issues@...
  • Subject: [ejb-spec issues] [JIRA] Issue Comment Edited: (EJB_SPEC-3) Decoupling the @Asynchronous annotation from the EJB component model
  • Date: Fri, 18 Oct 2013 14:52:22 +0000 (UTC)
  • Auto-submitted: auto-generated


    [ 
https://java.net/jira/browse/EJB_SPEC-3?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=369804#action_369804
 ] 

emailnbw edited comment on EJB_SPEC-3 at 10/18/13 2:50 PM:
-----------------------------------------------------------

+1, again as long as this is backwards compatible and things remain 
consistent. For example, per the spec an implicit REQUIRES_NEW tx is started 
on its boundary in EJB land. It does raise the issue of consistency when used 
in a CDI context. If @Asynchronous does not have  TX implications in CDI by 
default the developer will have to understand the differences in contexts. If 
there is @Transactional @Asychronous on a CDI bean then that @Transactional 
should be a @Transactional(requiresNew = true).

Also it would be nice to make this consistent with the Servlet 3.0 spec's 
async functionality so that there would be one @Asynchronous to rule them 
all. 

      was (Author: emailnbw):
    +1, again as long as this is backwards compatible and things remain 
consistent. For example, per the spec an implicit REQUIRES_NEW tx is started 
on its boundary in EJB land. It does raise the issue of consistency when used 
in a CDI context. If @Asynchronous does not have  TX implications in CDI by 
default the developer will have to understand the differences in contexts. If 
there is @Transactional @Asychronous on a CDI bean then that @Transactional 
should be a @Transactional(requiresNew = true). It might be best to approach 
@Asynchronous as a sterotype that includes the transactional semantics. 
  
> Decoupling the @Asynchronous annotation from the EJB component model
> --------------------------------------------------------------------
>
>                 Key: EJB_SPEC-3
>                 URL: https://java.net/jira/browse/EJB_SPEC-3
>             Project: ejb-spec
>          Issue Type: New Feature
>    Affects Versions: 3.2
>            Reporter: reza_rahman
>            Assignee: marina vatkina
>             Fix For: Future version
>
>
> Currently the EJB @Asynchronous annotation can only be used with the EJB 
> component model. With the introduction of managed beans and CDI, there are 
> not many good technical reasons why the @Asynchronous annotation should not 
> be used in managed beans as well. In fact, many developers that are wary of 
> the EJB component model would opt to use this model instead. In addition, 
> decoupling EJB services such as @Asynchronous from the component model 
> moves towards removing one-off component models in Java EE in favor of 
> unifying around managed beans/CDI.
> We currently allow this capability in Resin. The code looks like this:
> @ApplicationScoped
> public class MyAsyncBean {
>   ...
>   @Asynchronous
>   public void myAsyncTask() { ... }
>   ...
> }
> It should also be possible to use @Asynchronous in CDI stereotypes so that 
> developers can compose custom component types to meet the needs of their 
> individual applications. The code for this could look like the following:
> @ApplicationScoped
> @Stereotype
> @Retention(RUNTIME)
> @Target(TYPE)
> @Asynchronous
> public @interface AsyncTask {}
> Now, one outstanding item we did not resolve in Resin is the 
> SessionContext.wasCancelCalled() method in managed beans, primarily because 
> we did not want to introduce new APIs for EJB functionality and wanted to 
> stick to what was available in the standard.

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

        


[ejb-spec issues] [JIRA] Issue Comment Edited: (EJB_SPEC-3) Decoupling the @Asynchronous annotation from the EJB component model

emailnbw (JIRA) 10/18/2013

<Possible follow-up(s)>

[ejb-spec issues] [JIRA] Issue Comment Edited: (EJB_SPEC-3) Decoupling the @Asynchronous annotation from the EJB component model

emailnbw (JIRA) 10/18/2013
 
 
Close
loading
Please Confirm
Close