this normally meant I didn't check by tests or code review (=AFAIK ;))

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


2014-08-27 8:42 GMT+02:00 Lars-Fredrik Smedberg <[email protected]>:
> @Romain
>
> Thanks, makes me understand it more.
>
> You scare me little when you say "normally". In what  cases does it not?
> Regards
> Lars-Fredrik
> On 27 Aug 2014 08:30, "Romain Manni-Bucau" <[email protected]> wrote:
>
>> normally yes
>>
>>
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>> 2014-08-27 8:00 GMT+02:00 Lars-Fredrik Smedberg <[email protected]>:
>> > Good to know...
>> >
>> > So in the case no CDI-proxy is created the EJB-proxy will also run the
>> > CDI-interceptors?
>> >
>> > I read that any EJB-interceptors will run after any tx has started (the
>> EJB
>> > or EJB-method is annotated with @TransactionAttribute).
>> >
>> > In the case of an CDI-proxy I assume that any CDI-interceptors will run
>> > before the tx is started, is that the case?
>> >
>> > In the case of the CDI-interceptors being run by the EJB-proxy will they
>> > then also run beefore the tx is started?
>> >
>> > Hope you can clarify the above, would help me alot.
>> >
>> > Thanks
>> > Lars-Fredrik
>> >
>> >
>> >
>> >
>> > On Wed, Aug 27, 2014 at 6:56 AM, Romain Manni-Bucau <
>> [email protected]>
>> > wrote:
>> >
>> >> It works but it is handled by the ejb itself, not cdi
>> >> Le 26 août 2014 21:53, "Lars-Fredrik Smedberg" <[email protected]> a
>> >> écrit :
>> >>
>> >> > @Romain
>> >> >
>> >> > I though that I could @Inject an EJB and apply CDI-interceptors to the
>> >> EJB
>> >> > or methods on it.
>> >> >
>> >> > Reading your answer it seems like I only can do that if the injceted
>> EJB
>> >> is
>> >> > a scoped stateful EJB because in other cases no CDI-proxy is
>> created....
>> >> >
>> >> > Did I get that right or did I misunderstand you?
>> >> >
>> >> > Thanks
>> >> > Lars-Fredrik
>> >> >
>> >> >
>> >> > On Tue, Aug 26, 2014 at 10:46 PM, Romain Manni-Bucau <
>> >> > [email protected]>
>> >> > wrote:
>> >> >
>> >> > > no only for scoped stateful. for singleton/stateless you get the ejb
>> >> > > proxy directly
>> >> > >
>> >> > >
>> >> > > Romain Manni-Bucau
>> >> > > Twitter: @rmannibucau
>> >> > > Blog: http://rmannibucau.wordpress.com/
>> >> > > LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> >> > > Github: https://github.com/rmannibucau
>> >> > >
>> >> > >
>> >> > > 2014-08-26 21:10 GMT+02:00 Lars-Fredrik Smedberg <
>> [email protected]>:
>> >> > > > Sorry for that, ofcourse I meant @Stateful, that was what we
>> >> discussed
>> >> > in
>> >> > > > the previous posts :)
>> >> > > >
>> >> > > > Thinking of the CDI proxy in front of the EJB proxy makes it
>> easier
>> >> to
>> >> > > > understand what is going on under the hood.
>> >> > > >
>> >> > > > A follow up question:
>> >> > > >
>> >> > > > - Will a CDI proxy always be created in front of the EJB proxy if
>> the
>> >> > EJB
>> >> > > > is injected using @Inject? Or is that also the case when using
>> @EJB?
>> >> I
>> >> > > > guess even for dependent scoped CDI beans a proxy is used to be
>> able
>> >> to
>> >> > > > trigger interceptors etc.
>> >> > > >
>> >> > > >
>> >> > > > Regards
>> >> > > > LF
>> >> > > >
>> >> > > >
>> >> > > > On Tue, Aug 26, 2014 at 7:06 PM, Romain Manni-Bucau <
>> >> > > [email protected]>
>> >> > > > wrote:
>> >> > > >
>> >> > > >> replace @Stateless by @Stateful and it is that
>> >> > > >>
>> >> > > >> cdi scope is just a proxy in front of ejb proxy
>> >> > > >>
>> >> > > >>
>> >> > > >> Romain Manni-Bucau
>> >> > > >> Twitter: @rmannibucau
>> >> > > >> Blog: http://rmannibucau.wordpress.com/
>> >> > > >> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> >> > > >> Github: https://github.com/rmannibucau
>> >> > > >>
>> >> > > >>
>> >> > > >> 2014-08-26 17:54 GMT+02:00 Lars-Fredrik Smedberg <
>> >> [email protected]
>> >> > >:
>> >> > > >> > Thanks for the answer.
>> >> > > >> >
>> >> > > >> > So to summarize the scoping rules from CDI apply and the
>> >> concurrency
>> >> > > >> > management from EJB apply when combining @Stateless and any of
>> the
>> >> > > >> > @NormalScopes...
>> >> > > >> >
>> >> > > >> > Regards
>> >> > > >> > Lars-Fredrik
>> >> > > >> > On 26 Aug 2014 16:50, "Romain Manni-Bucau" <
>> [email protected]
>> >> >
>> >> > > >> wrote:
>> >> > > >> >
>> >> > > >> >> Hi
>> >> > > >> >>
>> >> > > >> >> 2014-08-26 16:45 GMT+02:00 Lars-Fredrik Smedberg <
>> >> > [email protected]
>> >> > > >:
>> >> > > >> >> > Hi
>> >> > > >> >> >
>> >> > > >> >> > I have a few questions on EJB, CDI and Concurrency when I
>> read
>> >> > > >> >> >
>> >> > http://tomee.apache.org/examples-trunk/access-timeout/README.html,
>> >> > > I
>> >> > > >> >> read
>> >> > > >> >> >
>> >> > > >> >> > - Concurrent access to a @Stateful bean is serialized by the
>> >> > > >> container.
>> >> > > >> >> >
>> >> > > >> >> > I also understand that I can annotate the EJBs with any of
>> the
>> >> > > >> CDI-scopes
>> >> > > >> >> > (in my case I'm interested in @RequestScoped, @SessionScoped
>> >> and
>> >> > > >> >> > @ApplicationScoped).
>> >> > > >> >> >
>> >> > > >> >> > Questions:
>> >> > > >> >> >
>> >> > > >> >> > 1. If I annotate the @Stateful bean with @RequestScoped I
>> >> assume
>> >> > > that
>> >> > > >> I
>> >> > > >> >> get
>> >> > > >> >> > a separate bean instance for each call? Correct?
>> >> > > >> >>
>> >> > > >> >> yes
>> >> > > >> >>
>> >> > > >> >> > 2. If I annotate the @Stateful bean with @SessionScoped I
>> >> assume
>> >> > > that
>> >> > > >> I
>> >> > > >> >> per
>> >> > > >> >> > sesion get a separate bean instance that allows concurrent
>> >> calls
>> >> > > >> withing
>> >> > > >> >> > that particular session without wait? Correct?
>> >> > > >> >>
>> >> > > >> >> you get one instance by session and calls are serialized if
>> >> needed
>> >> > to
>> >> > > >> >> ensure thread safety
>> >> > > >> >>
>> >> > > >> >> > 3. If I annotate the @Stateful bean with @ApplicationScoped
>> I
>> >> > > assume
>> >> > > >> >> that I
>> >> > > >> >> > per application get one bean instance that allows concurrent
>> >> > calls
>> >> > > >> >> without
>> >> > > >> >> > wait? Correct?
>> >> > > >> >> >
>> >> > > >> >>
>> >> > > >> >> same as before, thread safety is ensured
>> >> > > >> >>
>> >> > > >> >> > The reason I ask is that as far as I understand CDI does not
>> >> have
>> >> > > any
>> >> > > >> >> > concurrency management but the EJB has. What will be the
>> case
>> >> > when
>> >> > > >> doing
>> >> > > >> >> as
>> >> > > >> >> > above?
>> >> > > >> >> >
>> >> > > >> >> > Please help me get some in-depth understanding on this.
>> >> > > >> >> >
>> >> > > >> >>
>> >> > > >> >> for @AppScoped => look @javax.ejb.Singleton and @Lock which is
>> >> > surely
>> >> > > >> >> better
>> >> > > >> >>
>> >> > > >> >> > Thanks
>> >> > > >> >> > Lars-Fredrik Smedberg
>> >> > > >> >> >
>> >> > > >> >> >
>> >> > > >> >> >
>> >> > > >> >> > --
>> >> > > >> >> > 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 [email protected], 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 [email protected], 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 [email protected], 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 [email protected], and destroy all copies of this
>> > message and any attachments.
>>

Reply via email to