tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lars-Fredrik Smedberg <itsme...@gmail.com>
Subject Re: Regarding CDI scope and @Asynchronous EJB methods
Date Mon, 06 Oct 2014 20:20:06 GMT
On Mon, Oct 6, 2014 at 6:58 PM, Romain Manni-Bucau <rmannibucau@gmail.com>
wrote:

> 2014-10-06 18:55 GMT+02:00 John D. Ament <john.d.ament@gmail.com>:
> > No, not at all.
> >
>

As far as I understand I can access @RequestScoped and @ApplicationScoped
beans when inside an @Asynchronous EJB method call. However only the
@ApplicationScoped bean will refer to the same scope as the method calling
the @Asynchronous EJB method right? That was the first question and what I
meant when saying "allowed"... not to clear but that was it :)

The second was if it did make any sense to pass @RequestScoped and
@ApplicationScoped beans as parameters to an @Asynchronous EJB method call
and I don't find any good reason to do that and from your and Romains
answer I guess there is not...


> > The solution Romain gave you would likely work, but may fail in other
> > containers as what's passed around is a proxy, not necessarily the real
> > object.
> >
>
> well idea was to compute params before being async. If that's a
> request scoped bean computation is fast (otherwise there is design
> issue IMHO). Request scope bean will likely pass some form/request
> data to the async computation no more, no?
>

This method is simple and I guess will create the least amount of errors
when developers that does not know every aspect of EJB and CDI will build
applications.


>
> > On Mon, Oct 6, 2014 at 12:51 PM, Lars-Fredrik Smedberg <
> itsmeden@gmail.com>
> > wrote:
> >
> >> @John
> >>
> >> But isnt @RequestScoped and @ApplicationScoped allowed scopes when
> running
> >> in an @Asynchronous EJB method?
> >>
> >>
> >>
> >> On Mon, Oct 6, 2014 at 5:24 PM, John D. Ament <john.d.ament@gmail.com>
> >> wrote:
> >>
> >> > Hi,
> >> >
> >> > I would say no to #2.  Thread != RequestScoped.  If you want to start
> a
> >> > request scope with the thread, DeltaSpike has a CDIControl module that
> >> can
> >> > do this for you.
> >> >
> >> > John
> >> >
> >> > On Mon, Oct 6, 2014 at 11:08 AM, Lars-Fredrik Smedberg <
> >> itsmeden@gmail.com
> >> > >
> >> > wrote:
> >> >
> >> > > When executing an EJB @Asynchronous method I know that valid CDI
> scopes
> >> > are
> >> > > request and application.
> >> > >
> >> > > 1. Since @ApplicationScoped beans are available I assume that its
> >> better
> >> > to
> >> > > inject those in the actual code being executed rather than passing
> them
> >> > as
> >> > > arguments to the @Asynchronous method, correct?
> >> > > 2. Since the @Asynchronous method starts a new thread any
> >> @RequestScoped
> >> > > beans passed in will be recreated right when the first business
> method
> >> on
> >> > > them are called, correct?
> >> > > 3. The above leaves me (if correct) with choosing between passing
a
> >> > normal
> >> > > POJO (created with new) or an injected @Dependent scoped CDI Managed
> >> Bean
> >> > > to an @Asynchronous EJB method, the choice depends on wether the
> object
> >> > > passed needs to inject anything, correct?
> >> > >
> >> > > --
> >> > > Med vänlig hälsning / Best regards
> >> > >
> >> > > Lars-Fredrik Smedberg
> >> > >
> >> > > STATEMENT OF CONFIDENTIALITY:
> >> > > The information contained in this electronic message and any
> >> > > attachments to this message are intended for the exclusive use of
> the
> >> > > address(es) and may contain confidential or privileged information.
> If
> >> > > you are not the intended recipient, please notify Lars-Fredrik
> Smedberg
> >> > > immediately at itsmeden@gmail.com, and destroy all copies of this
> >> > > message and any attachments.
> >> > >
> >> >
> >>
> >>
> >>
> >> --
> >> Med vänlig hälsning / Best regards
> >>
> >> Lars-Fredrik Smedberg
> >>
> >> STATEMENT OF CONFIDENTIALITY:
> >> The information contained in this electronic message and any
> >> attachments to this message are intended for the exclusive use of the
> >> address(es) and may contain confidential or privileged information. If
> >> you are not the intended recipient, please notify Lars-Fredrik Smedberg
> >> immediately at itsmeden@gmail.com, and destroy all copies of this
> >> message and any attachments.
> >>
>



-- 
Med vänlig hälsning / Best regards

Lars-Fredrik Smedberg

STATEMENT OF CONFIDENTIALITY:
The information contained in this electronic message and any
attachments to this message are intended for the exclusive use of the
address(es) and may contain confidential or privileged information. If
you are not the intended recipient, please notify Lars-Fredrik Smedberg
immediately at itsmeden@gmail.com, and destroy all copies of this
message and any attachments.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message