[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