1 15 16 package com.jdon.container.startup; 17 18 import javax.servlet.ServletContext ; 19 20 import com.jdon.container.ContainerWrapper; 21 import com.jdon.container.builder.ContainerBuilder; 22 import com.jdon.container.builder.ContainerDirector; 23 import com.jdon.container.config.app.AppConfigureCollection; 24 import com.jdon.container.factory.ContainerBuilderFactory; 25 import com.jdon.container.finder.ServletContainerFinder; 26 import com.jdon.util.Debug; 27 28 34 public class ContainerSetupScript { 35 public final static String module = ContainerSetupScript.class.getName(); 36 37 private AppConfigureCollection appConfigureFiles; 38 39 public ContainerSetupScript() { 40 appConfigureFiles = new AppConfigureCollection(); 41 } 42 43 49 public void initialized(ServletContext context) { 50 ContainerBuilder cb = (ContainerBuilder) context.getAttribute(ContainerBuilder.APPLICATION_CONTEXT_ATTRIBUTE_NAME); 51 if (cb != null) 52 return; 53 try { 54 ContainerBuilderFactory containerBuilderContext = new ContainerBuilderFactory(); 55 cb = containerBuilderContext.createContainerBuilder(context); 56 context.setAttribute(ContainerBuilder.APPLICATION_CONTEXT_ATTRIBUTE_NAME, cb); 57 Debug.logVerbose("[JdonFramework] Initialize the container OK .."); 58 } catch (Exception e) { 59 Debug.logError("[JdonFramework] initialized error: " + e, module); 60 context.log(e.getMessage(), e); 61 } 62 } 63 64 72 public void prepare(String configureFileName, ServletContext context) { 73 ContainerBuilder cb; 74 try { 75 cb = (ContainerBuilder) context.getAttribute(ContainerBuilder.APPLICATION_CONTEXT_ATTRIBUTE_NAME); 76 if (cb == null) { 77 initialized(context); 78 cb = (ContainerBuilder) context.getAttribute(ContainerBuilder.APPLICATION_CONTEXT_ATTRIBUTE_NAME); 79 } 80 ContainerDirector cd = new ContainerDirector(cb); 81 cd.prepareConfiguration(configureFileName); 82 } catch (Exception ex) { 83 Debug.logError(ex, module); 84 } 85 } 86 87 95 public void startup(ServletContext context) { 96 ServletContainerFinder scf = new ServletContainerFinder(); 97 ContainerBuilder cb; 98 try { 99 cb = (ContainerBuilder) context.getAttribute(ContainerBuilder.APPLICATION_CONTEXT_ATTRIBUTE_NAME); 100 if (cb == null) 101 return; 102 ContainerDirector cd = new ContainerDirector(cb); 103 cd.startup(); 104 } catch (Exception ex) { 105 Debug.logError(ex, module); 106 } 107 } 108 109 115 public void destroyed(ServletContext context) { 116 try { 117 ContainerBuilder cb = (ContainerBuilder) context.getAttribute(ContainerBuilder.APPLICATION_CONTEXT_ATTRIBUTE_NAME); 120 if (cb != null) { 121 ContainerWrapper cw = cb.getContainerWrapper(); 122 cw.stop(); 123 Debug.logVerbose("[JdonFramework] stop the container ..", module); 125 } 126 } catch (Exception e) { 127 Debug.logError("[JdonFramework] destroyed error: " + e, module); 128 } 129 130 } 131 132 133 134 } 135 | Popular Tags |