You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2012/04/05 15:42:42 UTC

svn commit: r1309857 - in /myfaces/extensions/scripting/trunk/extscript-core-root: extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/listener/ extscript...

Author: werpu
Date: Thu Apr  5 13:42:42 2012
New Revision: 1309857

URL: http://svn.apache.org/viewvc?rev=1309857&view=rev
Log:
EXTSCRIPT-107: ongoing works for the cdi integration

Added:
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ReloadingListener.java
      - copied, changed from r1309793, myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/listener/ReloadingListener.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/CDIServletContainerInitializer.java
      - copied, changed from r1309793, myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupServletContextListener.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/ExtScriptStartupPlugin.java
      - copied, changed from r1309793, myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupPlugin.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer
      - copied, changed from r1309793, myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/org.apache.myfaces.extensions.scripting.core.api.Plugin
Removed:
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/listener/ReloadingListener.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupPlugin.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupServletContextListener.java
Modified:
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupExtension.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/org.apache.myfaces.extensions.scripting.core.api.Plugin
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ResourceMonitor.java
    myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/startup/StartupServletContextPluginChainLoader.java

Copied: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ReloadingListener.java (from r1309793, myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/listener/ReloadingListener.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ReloadingListener.java?p2=myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ReloadingListener.java&p1=myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/listener/ReloadingListener.java&r1=1309793&r2=1309857&rev=1309857&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/listener/ReloadingListener.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/core/ReloadingListener.java Thu Apr  5 13:42:42 2012
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.myfaces.extensions.scripting.cdi.listener;
+package org.apache.myfaces.extensions.scripting.cdi.core;
 
 import org.apache.myfaces.extensions.scripting.cdi.api.CdiContainerLoader;
 import org.apache.myfaces.extensions.scripting.core.api.eventhandling.WeavingEvent;

Copied: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/CDIServletContainerInitializer.java (from r1309793, myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupServletContextListener.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/CDIServletContainerInitializer.java?p2=myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/CDIServletContainerInitializer.java&p1=myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupServletContextListener.java&r1=1309793&r2=1309857&rev=1309857&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupServletContextListener.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/CDIServletContainerInitializer.java Thu Apr  5 13:42:42 2012
@@ -19,24 +19,36 @@
 
 package org.apache.myfaces.extensions.scripting.cdi.startup;
 
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.annotation.WebListener;
+import javax.servlet.ServletContainerInitializer;
+import javax.servlet.ServletContext;
+import java.lang.ref.WeakReference;
+import java.util.Set;
 
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
+ *
+ * Initializer which stores the servlet context
+ * for later non servlet based references.
+ *
+ * This is the first stage in the servlet lifecycle
+ * and starts before the cdi container.
+ *
+ * Stage 0 of our startup cycle
  */
 
-@WebListener
-public class StartupServletContextListener implements ServletContextListener
+public class CDIServletContainerInitializer implements ServletContainerInitializer
 {
+    private static WeakReference<ServletContext> _contextHolder = null;
 
-    public void contextInitialized(ServletContextEvent sce)
+    public void onStartup(Set<Class<?>> c, ServletContext cx)
     {
+        _contextHolder = new WeakReference(cx);
     }
 
-    public void contextDestroyed(ServletContextEvent sce)
+    public static ServletContext getContext()
     {
+        return _contextHolder.get();
     }
+
 }

Copied: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/ExtScriptStartupPlugin.java (from r1309793, myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupPlugin.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/ExtScriptStartupPlugin.java?p2=myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/ExtScriptStartupPlugin.java&p1=myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupPlugin.java&r1=1309793&r2=1309857&rev=1309857&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupPlugin.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/ExtScriptStartupPlugin.java Thu Apr  5 13:42:42 2012
@@ -20,15 +20,23 @@
 package org.apache.myfaces.extensions.scripting.cdi.startup;
 
 import javax.servlet.ServletContextEvent;
+
+import org.apache.myfaces.extensions.scripting.cdi.core.ReloadingListener;
 import org.apache.myfaces.extensions.scripting.core.api.Plugin;
 import org.apache.myfaces.extensions.scripting.core.api.WeavingContext;
 
 /**
  * @author Werner Punz (latest modification by $Author$)
  * @version $Revision$ $Date$
+ *
+ * An Ext-Scripting startup plugin
+ * which is called at the various
+ * stages of the startup lifecycle
+ *
+ * Stage 2 of our startup cycle
  */
 
-public class StartupPlugin implements Plugin
+public class ExtScriptStartupPlugin implements Plugin
 {
     /**
      * This method is called before myfaces initializes
@@ -38,6 +46,7 @@ public class StartupPlugin implements Pl
     public void preInit(ServletContextEvent evt)
     {
         //WeavingContext.getInstance().
+        System.out.println("Starting up the jsf subsystem extension");
     }
 
     /**
@@ -47,7 +56,7 @@ public class StartupPlugin implements Pl
      */
     public void postInit(ServletContextEvent evt)
     {
-
+        WeavingContext.getInstance().addListener(new ReloadingListener());
     }
 
     /**

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupExtension.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupExtension.java?rev=1309857&r1=1309856&r2=1309857&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupExtension.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/java/org/apache/myfaces/extensions/scripting/cdi/startup/StartupExtension.java Thu Apr  5 13:42:42 2012
@@ -19,10 +19,15 @@
 
 package org.apache.myfaces.extensions.scripting.cdi.startup;
 
+import org.apache.myfaces.extensions.scripting.core.engine.ThrowAwayClassloader;
+import org.apache.myfaces.extensions.scripting.jsf.startup.StartupServletContextPluginChainLoader;
+
 import javax.enterprise.event.Observes;
 import javax.enterprise.inject.spi.AfterBeanDiscovery;
+import javax.enterprise.inject.spi.AfterDeploymentValidation;
 import javax.enterprise.inject.spi.BeforeBeanDiscovery;
 import javax.enterprise.inject.spi.Extension;
+import java.io.IOException;
 
 /**
  * @author Werner Punz (latest modification by $Author$)
@@ -31,15 +36,40 @@ import javax.enterprise.inject.spi.Exten
  *          An extension for cdi which does the initial lifecycle
  *          trigger from CDI instead of JSF since CDI is enabled
  *          before JSF we have to do it that way
+ *
+ *          Stage 1 of our startup cycle
  */
 
 public class StartupExtension implements Extension
 {
+    static ThreadLocal<ClassLoader> _classLoaderHolder = new ThreadLocal<ClassLoader>();
+
     void beforeBeanDiscovery(@Observes BeforeBeanDiscovery bbd)
     {
+        //We have to trigger our initial lifecycle with
+        //the compile runs but not with the daemon thread
+        //after that we can load the classes
+        //by temporarily plugging in our throw away classloader
+        try
+        {
+            StartupServletContextPluginChainLoader.startup(CDIServletContainerInitializer.getContext());
+            _classLoaderHolder.set(Thread.currentThread().getContextClassLoader());
+            Thread.currentThread().setContextClassLoader(new ThrowAwayClassloader());
+        }
+        catch (IOException e)
+        {
+            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
+        }
     }
 
     void afterBeanDiscovery(@Observes AfterBeanDiscovery abd)
     {
+        //here we unplug our temporary classloader
     }
+
+
+    void afterDeploymentValidation(@Observes AfterDeploymentValidation abv)
+      {
+            Thread.currentThread().setContextClassLoader(_classLoaderHolder.get());
+      }
 }

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension?rev=1309857&r1=1309856&r2=1309857&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension Thu Apr  5 13:42:42 2012
@@ -1 +1,20 @@
+#####################################################################################
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#####################################################################################
+
 org.apache.myfaces.extensions.scripting.cdi.startup.StartupExtension
\ No newline at end of file

Copied: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer (from r1309793, myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/org.apache.myfaces.extensions.scripting.core.api.Plugin)
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer?p2=myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer&p1=myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/org.apache.myfaces.extensions.scripting.core.api.Plugin&r1=1309793&r2=1309857&rev=1309857&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/org.apache.myfaces.extensions.scripting.core.api.Plugin (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/javax.servlet.ServletContainerInitializer Thu Apr  5 13:42:42 2012
@@ -17,4 +17,4 @@
 # under the License.
 #####################################################################################
 
-org.apache.myfaces.extensions.scripting.cdi.startup.StartupPlugin
\ No newline at end of file
+org.apache.myfaces.extensions.scripting.cdi.startup.CDIServletContainerInitializer
\ No newline at end of file

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/org.apache.myfaces.extensions.scripting.core.api.Plugin
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/org.apache.myfaces.extensions.scripting.core.api.Plugin?rev=1309857&r1=1309856&r2=1309857&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/org.apache.myfaces.extensions.scripting.core.api.Plugin (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-cdi/src/main/resources/META-INF/services/org.apache.myfaces.extensions.scripting.core.api.Plugin Thu Apr  5 13:42:42 2012
@@ -17,4 +17,4 @@
 # under the License.
 #####################################################################################
 
-org.apache.myfaces.extensions.scripting.cdi.startup.StartupPlugin
\ No newline at end of file
+org.apache.myfaces.extensions.scripting.cdi.startup.ExtScriptStartupPlugin
\ No newline at end of file

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ResourceMonitor.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ResourceMonitor.java?rev=1309857&r1=1309856&r2=1309857&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ResourceMonitor.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/monitor/ResourceMonitor.java Thu Apr  5 13:42:42 2012
@@ -96,6 +96,7 @@ public class ResourceMonitor extends Thr
     {
         //we do it in this complicated manner because of find bugs
         //practically this cannot really happen except for shutdown were it is not important anymore
+        if(_externalContext == null) return null;
         ServletContext context = _externalContext.get();
         if (context != null)
         {

Modified: myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/startup/StartupServletContextPluginChainLoader.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/startup/StartupServletContextPluginChainLoader.java?rev=1309857&r1=1309856&r2=1309857&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/startup/StartupServletContextPluginChainLoader.java (original)
+++ myfaces/extensions/scripting/trunk/extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/jsf/startup/StartupServletContextPluginChainLoader.java Thu Apr  5 13:42:42 2012
@@ -45,7 +45,7 @@ import java.util.logging.Logger;
 
 public class StartupServletContextPluginChainLoader implements StartupListener
 {
-    final Logger _log = Logger.getLogger(this.getClass().getName());
+    static final Logger _log = Logger.getLogger(StartupServletContextPluginChainLoader.class.getName());
     Plugin[] _plugins = new Plugin[]{};
 
     public StartupServletContextPluginChainLoader()
@@ -65,26 +65,7 @@ public class StartupServletContextPlugin
         ServletContext servletContext = servletContextEvent.getServletContext();
         try
         {
-            WeavingContext context = WeavingContext.getInstance();
-            _log.info("[EXT-SCRIPTING] Instantiating StartupServletContextPluginChainLoader");
-            context.initEngines();
-            _log.info("[EXT-SCRIPTING] Loading configuration");
-            context.getConfiguration().init(servletContext);
-            _log.info("[EXT-SCRIPTING] Loading Scripting end");
-            _log.info("[EXT-SCRIPTING] initializing startup daemon");
-            ResourceMonitor.init(servletContext);
-            _log.info("[EXT-SCRIPTING] initializing startup daemon end");
-            _log.info("[EXT-SCRIPTING] Initial Scan and compile");
-            //the initial scan should happen synchronsously
-            ResourceMonitor.getInstance().performMonitoringTask();
-            _log.info("[EXT-SCRIPTING] Starting Change Monitor");
-            ResourceMonitor.getInstance().start();
-            _log.info("[EXT-SCRIPTING] Startup done");
-            _log.info("[EXT-SCRIPTING] init the chain loader for class loading");
-            //TODO make this more generic depending on the implementation
-            MyFacesSPI.getInstance().registerClassloadingExtension(servletContext);
-            _log.info("[EXT-SCRIPTING] registering the JSF Implementation");
-            WeavingContext.getInstance().setImplementation(MyFacesSPI.getInstance());
+            startup(servletContext);
 
             for (Plugin plugin : _plugins)
             {
@@ -98,6 +79,32 @@ public class StartupServletContextPlugin
 
     }
 
+    public static void startup(ServletContext servletContext) throws IOException
+    {
+        if(ResourceMonitor.getInstance() != null && ResourceMonitor.getInstance().isAlive()) return;
+
+        WeavingContext context = WeavingContext.getInstance();
+        _log.info("[EXT-SCRIPTING] Instantiating StartupServletContextPluginChainLoader");
+        context.initEngines();
+        _log.info("[EXT-SCRIPTING] Loading configuration");
+        context.getConfiguration().init(servletContext);
+        _log.info("[EXT-SCRIPTING] Loading Scripting end");
+        _log.info("[EXT-SCRIPTING] initializing startup daemon");
+        ResourceMonitor.init(servletContext);
+        _log.info("[EXT-SCRIPTING] initializing startup daemon end");
+        _log.info("[EXT-SCRIPTING] Initial Scan and compile");
+        //the initial scan should happen synchronsously
+        ResourceMonitor.getInstance().performMonitoringTask();
+        _log.info("[EXT-SCRIPTING] Starting Change Monitor");
+        ResourceMonitor.getInstance().start();
+        _log.info("[EXT-SCRIPTING] Startup done");
+        _log.info("[EXT-SCRIPTING] init the chain loader for class loading");
+        //TODO make this more generic depending on the implementation
+        MyFacesSPI.getInstance().registerClassloadingExtension(servletContext);
+        _log.info("[EXT-SCRIPTING] registering the JSF Implementation");
+        WeavingContext.getInstance().setImplementation(MyFacesSPI.getInstance());
+    }
+
     public void postInit(ServletContextEvent evt)
     {
         //tell the system that the startup phase is done