Thanks Romain/Andy, openejb.environment.default = true fixed it
Does this property merely indicate that the resources should be bound into the JNDI tree or does it control whether they are created or not by the container? I found it interesting that this works fine even with that property set to false: @Resource private ManagedExecutorService mes; ~~~ In terms of why I need the executor: The systems we build almost always do a lot in the background in addition to servicing incoming requests over HTTP and other protocols. Background threads are needed to do things like service discovery, service monitoring, rating, event processing, polling external systems etc etc. I bootstrap this "background" functionality via a servlet with loadOnStartup and an init function that would kick everything off. I was experimenting with moving all this background code to be loaded and managed by CDI. As the initial servlet init function is within a managed context I could inject from there on into the code base to boot everything up. I was thinking of using @Singleton/@ApplicationScope managed beans as a way of neatly starting these background objects with @PostConstruct once and only once so they could do their thing with executors in the background. My recent issues with controlling @Singleton/@ApplicationScope objects in circumstances with multiple skinny wars in a EAR lead me to rethink using CDI and rather use good old Singletons where I can fully control the lifecycle of the instance and be sure its background processing is only started once. Instead of creating my own threads I'd prefer to use ManagedExecutorService and ManagedScheduledExecutorService. It was easy to get these when I could inject them but now with singletons and classes that are being created outside of the managed context (i.e. with Foo.getInstance() as opposed to @Inject Foo) I need to get them from JNDI and this is where I hit this particular issue. Paul On 11 October 2017 at 01:46, agumbrecht <[email protected]> wrote: > Properties are somewhat documented here: > http://tomee.apache.org/admin/configuration/server.html - It's not totally > obvious in your case that the property named here does what Romain > describes, but please feel free to create a ticket on the jira here: > https://issues.apache.org/jira/browse/TOMEE if you would like a better > description. > > The managed executor is a way to start threads that the server will attempt > to stop on a shutdown. The app server is already multithreaded, so there > might be a better way to do what you are intending? > > Andy. > > > > ----- > -- > Andy Gumbrecht > > http://www.tomitribe.com > [email protected] > https://twitter.com/AndyGeeDe > > TomEE treibt Tomitribe ! | http://tomee.apache.org > -- > Sent from: http://tomee-openejb.979440.n4.nabble.com/TomEE-Users- > f979441.html > -- *Paul Carter-Brown* *Group Chief Information Officer* *Smile Communications Pty (Ltd) * Smile +234 (0) 702 000 1234 Mobile +27 (0) 83 4427 179 Skype PaulC-B [email protected] www.smilecoms.com -- This email is subject to the disclaimer of Smile Communications at http://www.smilecoms.com/home/email-disclaimer/ <http://www.smilecoms.com/disclaimer>
