[weld-dev] @ThreadScoped for Weld SE
Peter Royle
pete at screamingcoder.com
Thu Dec 10 20:10:31 EST 2009
On Thu, 2009-12-10 at 20:01 -0500, Dan Allen wrote:
> That's a cool idea. It more or less brings ThreadLocal in line with
> the CDI scoping mechanism, correct?
yep
> I would think this would be useful even in Java EE because you could
> use it for async threads, I suppose. A specific usage scenario isn't
> coming to me at the moment.
>
> -Dan
>
> On Thu, Dec 10, 2009 at 7:45 PM, Peter Royle
> <howardmoon at screamingcoder.com> wrote:
> Hi,
>
> I've implemented ThreadContext and @ThreadScoped (revision
> 5267) for Weld SE.
>
> Quick example:
>
> ---
> public class DateFormatterProducer {
>
> /** Produces a thread-safe date formatter (one instance per
> thread). */
> @Produces @ThreadScoped
> public SimpleDateFormat dateFormat() {
> return new SimpleDateFormat("yyyyMMdd HHmm");
> }
> }
> ---
> public class ThreadThing implements Runnable {
> @Inject SimpleDateFormat dateFormat;
> public void run() {
> ...
> dateFormat.format(date);
> ...
> }
> }
> ---
> public class MainClass {
>
> public void main(@Observes ContainerInitialized,
> Instance<ThreadThing> threadThing, WeldContainer weld) {
> Thread thread1 = new Thread(threadThing.select().get());
> thread1.start();
>
> Thread thread2 = new Thread(threadThing.select().get());
> thread2.start();
>
> thread1.join();
> thread2.join();
>
> weld.shutdown();
> }
>
> }
> --- requires this decorator to be enabled ---
> <beans>
> <decorators>
>
> <decorator>org.jboss.weld.environment.se.threading.RunnableDecorator</decorator>
> </decorator>
> </beans>
>
> Anyone please let me know how you think this could be
> improved.
>
> Thanks,
>
> Pete R.
>
>
>
> _______________________________________________
> weld-dev mailing list
> weld-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/weld-dev
>
>
>
> --
> Dan Allen
> Senior Software Engineer, Red Hat | Author of Seam in Action
> Registered Linux User #231597
>
> http://mojavelinux.com
> http://mojavelinux.com/seaminaction
> http://www.google.com/profiles/dan.j.allen
More information about the weld-dev
mailing list