[jboss-cvs] jboss-docs/jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex2 ...

Norman Richards norman.richards at jboss.com
Wed Nov 1 13:14:19 EST 2006


  User: nrichards
  Date: 06/11/01 13:14:19

  Added:       jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex2   
                        JNDIMap.java JNDIMapMBean.java jboss-service_1.xml
  Log:
  modified for j2ee guide
  
  Revision  Changes    Path
  1.1      date: 2006/11/01 18:14:19;  author: nrichards;  state: Exp;jboss-docs/jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex2/JNDIMap.java
  
  Index: JNDIMap.java
  ===================================================================
  package org.jboss.book.jmx.ex2;
  
  // The JNDIMap MBean implementation
  import java.util.HashMap;
  import javax.naming.InitialContext;
  import javax.naming.Name;
  import javax.naming.NamingException;
  import org.jboss.naming.NonSerializableFactory;
  
  /** An example MBean that extends the JBoss ServiceMBeanSupport class.
  This is version 2 as shown in Listing 2.5.
  */
  public class JNDIMap extends org.jboss.system.ServiceMBeanSupport
    implements JNDIMapMBean
  {
    private String jndiName;
    private HashMap contextMap = new HashMap();
  
    public String getJndiName()
    {
       return jndiName;
    }
    public void setJndiName(String jndiName) throws NamingException
    {
      String oldName = this.jndiName;
      this.jndiName = jndiName;
      if( super.getState() == STARTED )
      {
        unbind(oldName);
        try
        {
          rebind();
        }
        catch(Exception e)
        {
          NamingException ne = new
            NamingException("Failed to update jndiName");
          ne.setRootCause(e);
          throw ne;
        }
      }
    }
  
    public void startService() throws Exception
    {
      rebind();
    }
    public void stopService()
    {
      unbind(jndiName);
    }
  
    private void rebind() throws NamingException
    {
      InitialContext rootCtx = new InitialContext();
      Name fullName = rootCtx.getNameParser("").parse(jndiName);
      log.info("fullName="+fullName);
      NonSerializableFactory.rebind(fullName, contextMap, true);
    }
    private void unbind(String jndiName)
    {
      try
      {
        InitialContext rootCtx = new InitialContext();
        rootCtx.unbind(jndiName);
        NonSerializableFactory.unbind(jndiName);
      }
      catch(NamingException e)
      {
        log.error("Failed to unbind map", e);
      }
    }
  }
  
  
  
  1.1      date: 2006/11/01 18:14:19;  author: nrichards;  state: Exp;jboss-docs/jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex2/JNDIMapMBean.java
  
  Index: JNDIMapMBean.java
  ===================================================================
  package org.jboss.book.jmx.ex2;
  
  // The JNDIMap MBean interface
  import javax.naming.NamingException;
  
  /** An example MBean that extends the JBoss ServiceMBeanSupport class.
  This is version 2 as shown in Listing 2.8.
  */
  public interface JNDIMapMBean extends org.jboss.system.ServiceMBean
  {
    public String getJndiName();
    public void setJndiName(String jndiName) throws NamingException;
  }
  
  
  
  1.1      date: 2006/11/01 18:14:19;  author: nrichards;  state: Exp;jboss-docs/jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex2/jboss-service_1.xml
  
  Index: jboss-service_1.xml
  ===================================================================
  <server>
    <mbean code="org.jboss.book.jmx.ex2.JNDIMap" name="chap2.ex2:service=JNDIMap">
      <attribute name="JndiName">inmemory/maps/MapTest2</attribute>
      <depends>jboss:service=Naming</depends>
    </mbean>
  </server>
  
  
  



More information about the jboss-cvs-commits mailing list