[concurrency-interest] Executors, Work Manager, JEE
Brian Goetz
brian at quiotix.com
Thu Feb 1 12:02:22 EST 2007
The JEE philosophy is that it has to be in control of all resource
management, in order to make good global resource allocation decisions.
In the real world, however, sometimes this is too theoretical a goal.
Different containers have different degrees of tolerance for breaking
these rules. Some (e.g., JBoss) let "anything go"; others (e.g.,
WebSphere) may install security managers that won't even let you create
a thread.
Assuming that your security manager and class loader don't fight with
you, this is one of those purity-vs-practicality decisions you need to
make for yourself. Bear in mind that going down this route makes your
app no longer JEE compliant, and therefore not portable across
containers (do you care?), as well as potentially compromises overall
performance (maybe, maybe not) because of resource management issues.
I've written applications that have both EE and SE components; I use an
EE container to manage the EE components, and run the SE components
in-process. JBoss makes this easy, as you just write an MBean to invoke
your service start method, which can do anything it wants. In those
cases, I found the flexibility outweighed the loss of conformance; in
other cases, it gets complicated and you may be better off segregating
code employing the SE approach from your EE container. Your mileage may
vary.
EE is a tool, not a religion. Use it appropriately, and it gives you
leverage. Use it inappropriately, and you risk hurting yourself.
Ryan LeCompte wrote:
> Hello,
>
> I'd like to know how "safe" it is to use the new Java concurrency
> utilities within a JEE container, also taking into account the Work
> Manager API designed/implemented by IBM/BEA. Traditionally it has been
> discouraged to spawn your own threads within the JEE container, because
> the container can't manage those threads, etc. Does the same of thinking
> hold true if I utilize the new Java concurrency utilities for thread
> pools, etc? What are my options if my JEE container doesn't support the
> Work Manager specification (which, if I recall, hasn't even been finally
> approved as a standard part of JEE).
>
> Thanks,
> Ryan
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Concurrency-interest mailing list
> Concurrency-interest at altair.cs.oswego.edu
> http://altair.cs.oswego.edu/mailman/listinfo/concurrency-interest
More information about the Concurrency-interest
mailing list