[jboss-cvs] jboss-docs/jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex1 ...
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/ex1
JNDIMap.java JNDIMapMBean.java MyClass.java
MyClassMBean.java MySubclass.java
MySubclassMBean.java TestMySubclass.java
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/ex1/JNDIMap.java
Index: JNDIMap.java
===================================================================
package org.jboss.book.jmx.ex1;
// 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 implicitly implements the Service interface methods.
This is version 1 as shown in Listing 2.4.
*/
public class JNDIMap implements JNDIMapMBean
{
private String jndiName;
private HashMap contextMap = new HashMap();
private String[] keyValuePairs;
private boolean started;
public String getJndiName()
{
return jndiName;
}
public void setJndiName(String jndiName) throws NamingException
{
String oldName = this.jndiName;
this.jndiName = jndiName;
if (started)
{
unbind(oldName);
try
{
rebind();
}
catch (Exception e)
{
NamingException ne = new
NamingException("Failed to update jndiName");
ne.setRootCause(e);
throw ne;
}
}
}
public String[] getInitialValues()
{
return keyValuePairs;
}
public void setInitialValues(String[] keyValuePairs)
{
if (keyValuePairs == null)
keyValuePairs = new String[0];
this.keyValuePairs = keyValuePairs;
for (int n = 0; n < keyValuePairs.length; n += 2)
{
String key = keyValuePairs[n];
String value = keyValuePairs[n + 1];
contextMap.put(key, value);
}
}
public void start() throws Exception
{
started = true;
rebind();
}
public void stop()
{
started = false;
unbind(jndiName);
}
private void rebind() throws NamingException
{
InitialContext rootCtx = new InitialContext();
Name fullName = rootCtx.getNameParser("").parse(jndiName);
System.out.println("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)
{
e.printStackTrace();
}
}
}
1.1 date: 2006/11/01 18:14:19; author: nrichards; state: Exp;jboss-docs/jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex1/JNDIMapMBean.java
Index: JNDIMapMBean.java
===================================================================
package org.jboss.book.jmx.ex1;
import javax.naming.NamingException;
/** An example MBean that implicitly implements the Service interface methods.
This is version 1 as shown in Listing 2.7.
*/
public interface JNDIMapMBean
{
public String getJndiName();
public void setJndiName(String jndiName) throws NamingException;
public String[] getInitialValues();
public void setInitialValues(String[] keyValuePairs);
public void start() throws Exception;
public void stop() throws Exception;
}
1.1 date: 2006/11/01 18:14:19; author: nrichards; state: Exp;jboss-docs/jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex1/MyClass.java
Index: MyClass.java
===================================================================
package org.jboss.book.jmx.ex1;
/**
* @author Scott.Stark at jboss.org
* @version $Revision: 1.1 $
*/
public class MyClass implements MyClassMBean
{
private Integer state = null;
private String hidden = null;
public Integer getState()
{
return state;
}
public void setState(Integer s)
{
state = s;
}
public String getHidden()
{
return hidden;
}
public void setHidden(String h)
{
hidden = h;
}
public void reset()
{
state = null;
hidden = null;
}
}
1.1 date: 2006/11/01 18:14:19; author: nrichards; state: Exp;jboss-docs/jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex1/MyClassMBean.java
Index: MyClassMBean.java
===================================================================
package org.jboss.book.jmx.ex1;
/**
* @author Scott.Stark at jboss.org
* @version $Revision: 1.1 $
*/
public interface MyClassMBean
{
public Integer getState();
public void setState(Integer s);
public void reset();
}
1.1 date: 2006/11/01 18:14:19; author: nrichards; state: Exp;jboss-docs/jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex1/MySubclass.java
Index: MySubclass.java
===================================================================
package org.jboss.book.jmx.ex1;
/**
* @author Scott.Stark at jboss.org
* @version $Revision: 1.1 $
*/
public class MySubclass extends MyClass
implements MySubclassMBean
{
}
1.1 date: 2006/11/01 18:14:19; author: nrichards; state: Exp;jboss-docs/jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex1/MySubclassMBean.java
Index: MySubclassMBean.java
===================================================================
package org.jboss.book.jmx.ex1;
/**
* @author Scott.Stark at jboss.org
* @version $Revision: 1.1 $
*/
public interface MySubclassMBean
{
public void reset();
}
1.1 date: 2006/11/01 18:14:19; author: nrichards; state: Exp;jboss-docs/jbossas/j2ee/examples/src/main/org/jboss/book/jmx/ex1/TestMySubclass.java
Index: TestMySubclass.java
===================================================================
package org.jboss.book.jmx.ex1;
import javax.management.MBeanInfo;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.ObjectName;
import javax.management.MBeanAttributeInfo;
import javax.management.MBeanOperationInfo;
/**
* @author Scott.Stark at jboss.org
* @version $Revision: 1.1 $
*/
public class TestMySubclass
{
public static void main(String[] args) throws Exception
{
MBeanServer server = MBeanServerFactory.createMBeanServer("chap2.ex1.test");
MySubclass mbean = new MySubclass();
ObjectName name = new ObjectName("chap2.ex1.test:name=TestMysubclass");
System.out.println("Registering: "+name);
server.registerMBean(mbean, name);
MBeanInfo info = server.getMBeanInfo(name);
MBeanAttributeInfo[] attrInfo = info.getAttributes();
System.out.println("+++ Attributes("+attrInfo.length+"):");
for(int a = 0; a < attrInfo.length; a ++)
System.out.println(" "+attrInfo[a].getName());
MBeanOperationInfo[] opInfo = info.getOperations();
System.out.println("+++ Operations("+opInfo.length+"):");
for(int n= 0; n < opInfo.length; n ++)
System.out.println(" "+opInfo[n].getName());
}
}
More information about the jboss-cvs-commits
mailing list