jndimap.java
来自「jboss 的官方实例程序」· Java 代码 · 共 74 行
JAVA
74 行
package org.jboss.book.jmx.ex2;// The JNDIMap MBean implementationimport 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); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?