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 Thu, 10 Apr 2014 21:17:35 GMT
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