I’m not aware that frameworks like Log4j actually adhere to those guidelines. It is too difficult to write code that works in both the JEE and non-JEE environments.
Ralph > On Jul 14, 2016, at 1:07 PM, Paul Benedict <[email protected]> wrote: > > In an EE environment, don't create your own threads. If you do create your > own threads, the EE server has no way to shut them down when an application > gets undeployed. You'd want to have the EE server manage the thread creations. > > Cheers, > Paul > > On Thu, Jul 14, 2016 at 2:41 PM, Gary Gregory <[email protected] > <mailto:[email protected]>> wrote: > I'll get around to it ;-) > > Gary > > On Thu, Jul 14, 2016 at 11:35 AM, Matt Sicker <[email protected] > <mailto:[email protected]>> wrote: > Anyone wanna make a jira ticket for this? I'm not sure on how best to > describe this. > > On 5 July 2016 at 09:00, Matt Sicker <[email protected] > <mailto:[email protected]>> wrote: > I'm not sure how many threads we spawn are actually reusable, but gathering > them into a single pool would definitely help figure out which ones can be > used. > > Also, would this be vaguely related to the custom Log4j ThreadLocal object we > were thinking about a little while ago? > > On 5 July 2016 at 04:52, Mikael Ståldal <[email protected] > <mailto:[email protected]>> wrote: > Sounds like a good idea. I think it's also good to reuse threads for > performance. > > On Mon, Jul 4, 2016 at 10:00 PM, Matt Sicker <[email protected] > <mailto:[email protected]>> wrote: > This sounds like an interesting idea worth pursuing. > > On 4 July 2016 at 14:56, Gary Gregory <[email protected] > <mailto:[email protected]>> wrote: > When I see code like: > > LOGGER.debug("RollingFileManager executing async {}", > descriptor.getAsynchronous()); > thread = new Log4jThread(new > AsyncAction(descriptor.getAsynchronous(), this)); > thread.start(); > > and: > > final Thread thread = new Log4jThread(new > ReconfigurationWorker(listener, reconfigurable)); > thread.setDaemon(true); > thread.start(); > > and other places, I think: "and poof, I've lost track of that thread". > > What if we used a thread pool (ExecutorService) to track all of our threads? > This would allow for at least trying for an orderly shutdown. This would > avoid problems like one part of an app thinking that rollovers should be done > when they are not because a log4j context has been stopped (like in our test > probably) but the rollover thread is still going about doing its work. > > This would be for 2.7 I think. > > We could then have a different context stop API, maybe with a timeout or not, > something like ExecutorService's shutdown() vs. shutdownNow(). > > Thoughts? > > Happy 4th! > > Gary > > -- > E-Mail: [email protected] <mailto:[email protected]> | > [email protected] <mailto:[email protected]> > Java Persistence with Hibernate, Second Edition > <http://www.manning.com/bauer3/> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> > Spring Batch in Action <http://www.manning.com/templier/> > Blog: http://garygregory.wordpress.com <http://garygregory.wordpress.com/> > Home: http://garygregory.com/ <http://garygregory.com/> > Tweet! http://twitter.com/GaryGregory <http://twitter.com/GaryGregory> > > > -- > Matt Sicker <[email protected] <mailto:[email protected]>> > > > > -- > > > Mikael Ståldal > Senior software developer > > Magine TV > [email protected] <mailto:[email protected]> > Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com > <http://www.magine.com/> > > Privileged and/or Confidential Information may be contained in this message. > If you are not the addressee indicated in this message > (or responsible for delivery of the message to such a person), you may not > copy or deliver this message to anyone. In such case, > you should destroy this message and kindly notify the sender by reply email. > > > > > -- > Matt Sicker <[email protected] <mailto:[email protected]>> > > > > -- > Matt Sicker <[email protected] <mailto:[email protected]>> > > > > -- > E-Mail: [email protected] <mailto:[email protected]> | > [email protected] <mailto:[email protected]> > Java Persistence with Hibernate, Second Edition > <http://www.manning.com/bauer3/> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> > Spring Batch in Action <http://www.manning.com/templier/> > Blog: http://garygregory.wordpress.com <http://garygregory.wordpress.com/> > Home: http://garygregory.com/ <http://garygregory.com/> > Tweet! http://twitter.com/GaryGregory <http://twitter.com/GaryGregory>
