1 10 package org.mmbase.servlet; 11 12 import org.mmbase.module.core.MMBase; 13 import org.mmbase.module.Module; 14 import org.mmbase.util.logging.Logging; 15 import org.mmbase.util.logging.Logger; 16 import javax.servlet.ServletException ; 17 18 26 public class MMBaseStartThread extends Thread { 27 28 private static final Logger log = Logging.getLoggerInstance(MMBaseStartThread.class); 29 private MMBaseStarter starter; 30 public MMBaseStartThread(MMBaseStarter s) { 31 super("MMBase Start Thread"); 32 starter = s; 33 setDaemon(true); } 35 public void run() { 36 synchronized(Module.class) { 37 38 if (starter.getMMBase() == null) { 39 try { 40 MMBase mmb = MMBase.getMMBase(); 41 if (mmb == null) { 42 throw new Exception ("getMMBase gave null"); 43 } 44 starter.setInitException(null); starter.setMMBase(mmb); 46 } catch (Throwable e) { 47 log.fatal("Could not instantiate the MMBase module! " + e.getClass().getName() + " " + e.getMessage()); 48 log.error(Logging.stackTrace(e)); 49 starter.setInitException(new ServletException (e)); 50 } 51 } 52 53 } 54 } 55 56 } 57 | Popular Tags |