[jboss-cvs] jboss-seam/src/ioc/org/jboss/seam/ioc/microcontainer ...

Ales Justin ales.justin at genera-lynx.com
Fri Mar 2 11:24:07 EST 2007


  User: alesj   
  Date: 07/03/02 11:24:07

  Modified:    src/ioc/org/jboss/seam/ioc/microcontainer  
                        ControllerBridgeComponent.java
  Added:       src/ioc/org/jboss/seam/ioc/microcontainer  
                        ControllerBridgeComponentMBean.java
  Log:
  Bridge registry via MBean server.
  
  Revision  Changes    Path
  1.2       +13 -19    jboss-seam/src/ioc/org/jboss/seam/ioc/microcontainer/ControllerBridgeComponent.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: ControllerBridgeComponent.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/ioc/org/jboss/seam/ioc/microcontainer/ControllerBridgeComponent.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- ControllerBridgeComponent.java	1 Mar 2007 15:06:48 -0000	1.1
  +++ ControllerBridgeComponent.java	2 Mar 2007 16:24:07 -0000	1.2
  @@ -22,11 +22,10 @@
   package org.jboss.seam.ioc.microcontainer;
   
   import java.io.Serializable;
  -import javax.servlet.ServletContext;
  +import javax.management.MBeanServer;
  +import javax.management.MBeanServerFactory;
  +import javax.management.ObjectName;
   
  -import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
  -import org.jboss.dependency.spi.Controller;
  -import org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext;
   import org.jboss.seam.Component;
   import static org.jboss.seam.InterceptionType.NEVER;
   import org.jboss.seam.ScopeType;
  @@ -35,7 +34,6 @@
   import org.jboss.seam.annotations.Install;
   import org.jboss.seam.annotations.Intercept;
   import org.jboss.seam.annotations.Scope;
  -import org.jboss.seam.contexts.Lifecycle;
   
   /**
    * Notifies Seam components in current underlying Microcontainer Controller.
  @@ -47,20 +45,16 @@
   @Scope(ScopeType.APPLICATION)
   @Intercept(NEVER)
   @Install(false)
  -public class ControllerBridgeComponent implements Serializable
  +public class ControllerBridgeComponent implements ControllerBridgeComponentMBean, Serializable
   {
       /** The serialVersionUID */
       private static final long serialVersionUID = 1L;
   
  -    public ServletContext getServletContext()
  -    {
  -        return Lifecycle.getServletContext();
  -    }
  +    private ObjectName objectName;
   
  -    protected Controller getController()
  +    protected ObjectName createObjectName(Component component) throws Exception
       {
  -        // todo get underlying Controller from ServletContext
  -        return null;
  +        return new ObjectName("jboss-seam:name=" + getClass().getSimpleName() + "." + component.getName());
       }
   
       @Create
  @@ -68,9 +62,9 @@
       {
           try
           {
  -            Controller controller = getController();
  -            AbstractBeanMetaData metaData = new AbstractBeanMetaData(getClass().getSimpleName(), getClass().getName());
  -            controller.install(new AbstractKernelControllerContext(null, metaData, this));
  +            MBeanServer server = MBeanServerFactory.createMBeanServer();
  +            objectName = createObjectName(component);
  +            server.registerMBean(this, objectName);
           }
           catch (Throwable t)
           {
  @@ -79,10 +73,10 @@
       }
   
       @Destroy
  -    public void destroy()
  +    public void destroy() throws Exception
       {
  -        Controller controller = getController();
  -        controller.uninstall(getClass().getSimpleName());
  +        MBeanServer server = MBeanServerFactory.createMBeanServer();
  +        server.unregisterMBean(objectName);
       }
   
   }
  
  
  
  1.1      date: 2007/03/02 16:24:07;  author: alesj;  state: Exp;jboss-seam/src/ioc/org/jboss/seam/ioc/microcontainer/ControllerBridgeComponentMBean.java
  
  Index: ControllerBridgeComponentMBean.java
  ===================================================================
  /*
  * JBoss, Home of Professional Open Source
  * Copyright 2006, JBoss Inc., and individual contributors as indicated
  * by the @authors tag. See the copyright.txt in the distribution for a
  * full listing of individual contributors.
  *
  * This is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as
  * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
  *
  * This software is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this software; if not, write to the Free
  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  */
  package org.jboss.seam.ioc.microcontainer;
  
  public interface ControllerBridgeComponentMBean
  {
      void destroy() throws Exception;
  }
  
  
  



More information about the jboss-cvs-commits mailing list