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 07:00:32 GMT
shouldn't work for sure in tomee *by default*.
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2014-04-11 8:52 GMT+02:00 Mark Struberg <struberg@yahoo.de>:
> Concurrency utils is a completely different spec and IS broken as it does
> _not_ define it properly. But for @Asynchronous it's perfectly well defined
> in the spec.
>
> I use this as thread starter for BatchEE and I've tested it in
> * TomEE
> * WAS-8.0.0.6
> * WAS-8.5.5.1
> * JBossAS-7.0.3.Final
> * latest WildFly
>
> LieGrue,
> strub
>
>
> On Friday, 11 April 2014, 7:15, Romain Manni-Bucau <rmannibucau@gmail.com>
> wrote:
>
> 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