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>

Reply via email to