SystemUtils xref

View Javadoc
1 /**
2  * BSD-style license; for more info see http://pmd.sourceforge.net/license.html 
3  */
4 package net.sourceforge.pmd.util;
5 
6 import java.util.concurrent.ExecutorService;
7 import java.util.concurrent.Executors;
8 
9 public final class SystemUtils {
10 
11 private SystemUtils() {
12 	// this is a utility class and cannot be instantiated
13 }
14 
15 /**
16  * Do we have proper permissions to use multithreading?
17  */
18 public static final boolean MT_SUPPORTED;
19 static {
20 	boolean error = false;
21 	try {
22 	 /*
23 	 * ant task ran from Eclipse with jdk 1.5.0 raises an AccessControlException
24 	 * when shutdown is called. Standalone pmd or ant from command line are fine.
25 	 *
26 	 * With jdk 1.6.0, ant task from Eclipse also works.
27 	 *
28 	 * Bugs related to this hack:
29 	 * http://sourceforge.net/p/pmd/bugs/1025/ 
30 	 * http://sourceforge.net/p/pmd/bugs/670/ 
31 	 */
32 	 ExecutorService executor = Executors.newFixedThreadPool(1);
33 	 executor.shutdown();
34 	} catch (RuntimeException e) {
35 	 error = true;
36 	 System.err.println("Disabling multithreading - consider to upgrade to java 1.6");
37 	 System.err.println("See also: http://sourceforge.net/p/pmd/bugs/670/");
38 	}
39 	MT_SUPPORTED = !error;
40 }
41 }

AltStyle によって変換されたページ (->オリジナル) /