openwebbeans-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Romain Manni-Bucau <rmannibu...@gmail.com>
Subject Re: Design - CDI and worker threads
Date Fri, 11 Apr 2014 05:14:41 GMT
Ok about the spec but propagation doesnt work for sure (it is a kind of
issue for concurrency utilities)

You are right for the config but i just realize i was really not clear
(throw new TooLateException). If you sont configure the container, you can
use a semaphore with 20 permits and the container block you to 10. So it is
important to have a look too and it can be enough avoiding custom
potentially buggy code.
Le 10 avr. 2014 22:40, "Mark Struberg" <struberg@yahoo.de> a écrit :

>
>
> > But not propagated in async pool..and not in ejb 3.1
> Of course it is!
> But you wont find this in the EJB spec - you need to look in the EE
> umbrella spec and the CDI spec ;)
>
>
> > Ps: you can configure async pool or stateless pool
> Yes, some container allow to configure this. But I'm pretty sure there is
> nothing in the spec which requires it. So I'd rather hack it myself.
>
> LieGrue,
> strub
>
>
> On Thursday, 10 April 2014, 23:18, Romain Manni-Bucau <
> rmannibucau@gmail.com> wrote:
>
> Ps: you can configure async pool or stateless pool to limit concurrency
> depending the container...but a semaphore enforces it portably
> >Le 10 avr. 2014 22:15, "Romain Manni-Bucau" <rmannibucau@gmail.com> a
> écrit :
> >
> >But not propagated in async pool..and not in ejb 3.1
> >>Le 10 avr. 2014 20:54, "Mark Struberg" <struberg@yahoo.de> a écrit :
> >>
> >>
> >>>
> >>>Nope, not right.
> >>>The CDI spec mandates that @RequestScoped is active for all EJB calls.
> And every subsequent invocation as well of course.
> >>>
> >>>LieGrue,
> >>>strub
> >>>
> >>>
> >>>On Thursday, 10 April 2014, 17:52, Romain Manni-Bucau <
> rmannibucau@gmail.com> wrote:
> >>>
> >>>actually @Asynch doesn't mandates to start cdi contexts so request
> >>>>scopes can or not be here but transactions are handled if you remove
> >>>>transaction management.
> >>>>Romain Manni-Bucau
> >>>>Twitter: @rmannibucau
> >>>>Blog: http://rmannibucau.wordpress.com/
> >>>>LinkedIn: http://fr.linkedin.com/in/rmannibucau
> >>>>Github: https://github.com/rmannibucau
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>2014-04-10 17:49 GMT+02:00 Mark Struberg <struberg@yahoo.de>:
> >>>>> Hi Lars-Fredrik!
> >>>>>
> >>>>> This is one of the rare situations where @Asynchronous is good
> >>>>>
> >>>>> @Stateless
> >>>>> @TransactionManagement(TransactionManagementType.BEAN)
> >>>>> public class ThreadExecutorEjb {
> >>>>>
> >>>>>     @Asynchronous
> >>>>>     public void executeTask(Runnable work, Object config) {
> >>>>>         work.run();
> >>>>>     }
> >>>>> }
> >>>>>
> >>>>> The problem with this approach is that WAS is _really_ picky (and
> far from
> >>>>> the spec imo) when it comes to transactions.
> >>>>> You might play a bit with the TransactionManagement and other stuff
> >>>>> probably.
> >>>>>
> >>>>> LieGrue,
> >>>>> strub
> >>>>> On Thursday, 10 April 2014, 16:21, Romain Manni-Bucau
> >>>>> <rmannibucau@gmail.com> wrote:
> >>>>>
> >>>>> Hmm deltaspike is a lib you can put in your app but if you really
> want
> >>>>> to get rid of it you can copy
> >>>>>
> https://git-wip-us.apache.org/repos/asf?p=deltaspike.git;a=blob;f=deltaspike/cdictrl/impl-owb/src/main/java/org/apache/deltaspike/cdise/owb/OpenWebBeansContextControl.java;h=9e8ba98d46abc3843e8e5b872c882989a98fe16a;hb=HEAD
> >>>>> Romain Manni-Bucau
> >>>>> Twitter: @rmannibucau
> >>>>> Blog: http://rmannibucau.wordpress.com/
> >>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> >>>>> Github: https://github.com/rmannibucau
> >>>>>
> >>>>>
> >>>>>
> >>>>> 2014-04-10 15:52 GMT+02:00 Lars-Fredrik Smedberg <itsmeden@gmail.com
> >:
> >>>>>> Hi
> >>>>>>
> >>>>>> Thanks for the hint, however I'm not able to use Deltaspike
but
> only the
> >>>>>> OpenWebbeans included with WebSphere 8.5.5.x...
> >>>>>>
> >>>>>> How can I do this with OpenWebbeans only?
> >>>>>>
> >>>>>> Regards
> >>>>>> Lars-Fredrik
> >>>>>>
> >>>>>>
> >>>>>> On Thu, Apr 10, 2014 at 3:47 PM, Romain Manni-Bucau
> >>>>>> <rmannibucau@gmail.com>
> >>>>>> wrote:
> >>>>>>>
> >>>>>>> Hi
> >>>>>>>
> >>>>>>> with CdiCtrl of deltaspike you can start/stop contexts.
Decorate
> your
> >>>>>>> executorService to do it and it should be fine:
> >>>>>>> http://openwebbeans.apache.org/testing_cdictrl.html
> >>>>>>> Romain Manni-Bucau
> >>>>>>> Twitter: @rmannibucau
> >>>>>>> Blog: http://rmannibucau.wordpress.com/
> >>>>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> >>>>>>> Github: https://github.com/rmannibucau
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> 2014-04-10 15:37 GMT+02:00 Lars-Fredrik Smedberg <
> itsmeden@gmail.com>:
> >>>>>>> > Hi
> >>>>>>> >
> >>>>>>> > If I within a thread wishes to start asynchronous "jobs"
using
> the
> >>>>>>> > ExecutorService (and Executors.newFixedThreadPool(...))
and wait
> for
> >>>>>>> > the
> >>>>>>> > Future-result within that same thread I run into the
following
> >>>>>>> > exception:
> >>>>>>> >
> >>>>>>> > "WebBeans context with scope type annotation @RequestScoped
does
> not
> >>>>>>> > exist
> >>>>>>> > within current thread"
> >>>>>>> >
> >>>>>>> > which is understandable since the managed bean passed
used in the
> >>>>>>> > Callable
> >>>>>>> > passed to ExecutorService.submit(...) contains injected
beans
> iteself
> >>>>>>> > that
> >>>>>>> > are @RequestScoped.
> >>>>>>> >
> >>>>>>> > Is there any way around this? Suggestions on changing
the design
> >>>>>>> > perhaps?
> >>>>>>> >
> >>>>>>> > Regards
> >>>>>>> > 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 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
View raw message