Author: julien(a)jboss.com
Date: 2007-08-21 08:49:29 -0400 (Tue, 21 Aug 2007)
New Revision: 8009
Modified:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalKernelBootstrap.java
Log:
- wire more portlet container beans
- inject kernel beans into the servlet context attributes
- added tomcat logging based on jul
Modified:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalKernelBootstrap.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalKernelBootstrap.java 2007-08-21
12:43:14 UTC (rev 8008)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalKernelBootstrap.java 2007-08-21
12:49:29 UTC (rev 8009)
@@ -25,6 +25,9 @@
import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
import org.jboss.kernel.plugins.deployment.xml.BeanXMLDeployer;
import org.jboss.kernel.spi.deployment.KernelDeployment;
+import org.jboss.kernel.spi.event.KernelEventListener;
+import org.jboss.kernel.spi.event.KernelEvent;
+import org.jboss.kernel.spi.registry.KernelRegistryEntry;
import org.apache.log4j.Logger;
import javax.servlet.ServletContext;
@@ -36,7 +39,7 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public class PortalKernelBootstrap extends BasicBootstrap implements
ServletContextListener
+public class PortalKernelBootstrap extends BasicBootstrap implements
ServletContextListener, KernelEventListener
{
/** . */
@@ -71,7 +74,18 @@
// System.setProperty("org.jboss.logging.Logger.pluginClass",
"org.jboss.logging.log4j.Log4jLoggerPlugin");
//
- run();
+ try
+ {
+ getKernel().getRegistry().registerListener(this, null, null);
+
+ //
+ run();
+ log.info("Test Portal started");
+ }
+ catch (Throwable throwable)
+ {
+ log.error("Cannot register kernel registry listener", throwable);
+ }
}
public void contextDestroyed(ServletContextEvent event)
@@ -82,7 +96,39 @@
}
//
+ try
+ {
+ getKernel().getRegistry().unregisterListener(this, null, null);
+ }
+ catch (Throwable throwable)
+ {
+ log.error("Cannot unregister kernel registry listener", throwable);
+ }
+
+ //
servletContext = null;
- log.info("Test Portal started");
+
+ //
+ log.info("Test Portal stopped");
}
+
+ public void onEvent(KernelEvent event, Object object)
+ {
+ Object context = event.getContext();
+ if (context instanceof String)
+ {
+ String key = (String)context;
+ String type = event.getType();
+ if ("KERNEL_REGISTRY_REGISTERED".equals(type))
+ {
+ KernelRegistryEntry entry = getKernel().getRegistry().getEntry(context);
+ Object target = entry.getTarget();
+ servletContext.setAttribute(key, target);
+ }
+ else if ("KERNEL_REGISTRY_UNREGISTERED".equals(type))
+ {
+ servletContext.removeAttribute(key);
+ }
+ }
+ }
}
Show replies by date