1 17 package org.columba.core.main; 18 19 import java.security.AllPermission ; 20 import java.security.CodeSource ; 21 import java.security.PermissionCollection ; 22 import java.security.Permissions ; 23 import java.security.Policy ; 24 25 import org.columba.core.shutdown.ShutdownManager; 26 27 30 public class Main { 31 32 35 public static MainClassLoader mainClassLoader; 36 37 public static void main(String [] args) throws Exception { 38 39 40 51 61 Policy.setPolicy(new Policy () { 63 public PermissionCollection getPermissions(CodeSource codesource) { 64 Permissions perms = new Permissions (); 65 perms.add(new AllPermission ()); 66 return (perms); 67 } 68 69 public void refresh() { 70 } 71 }); 72 73 start(args); 74 } 75 76 77 public static void restart(String [] args) throws Exception { 78 79 ShutdownManager.getInstance().shutdown(0); 81 mainClassLoader = null; 83 84 System.runFinalization(); 86 87 System.gc(); 89 90 start(args); 92 } 93 94 private static void start(String [] args) throws Exception { 95 mainClassLoader = new MainClassLoader(Main.class.getClassLoader()); 97 98 long start = System.currentTimeMillis(); 99 100 Bootstrap startup = (Bootstrap) mainClassLoader.loadClass( 102 Bootstrap.class.getName()).newInstance(); 103 startup.run(args); 104 105 long stop = System.currentTimeMillis(); 106 107 System.out.println("total startup time (ms)=" + (stop - start)); 108 System.out.println("total startup time (sec)=" + (stop - start) / 1000); 109 } 110 } | Popular Tags |