我在程序中加了几个Mbean想通过jconsole调用。使用JMXConnectorServerFactory生成JMXConnectorServer。通过JMXServiceURL设置,将server绑定到registry。然后,我在本地用jconsole访问发现不能访问。我自己通过程序去查服务器上registry中注册的对象,发现rmiServer的stub中的endpoint使用的是外网地址。我需要通过内网地址才能访问服务器。
我想解决的方法可能有两个:
1.是否可以设置让服务器程序在生成stub的时候使用服务器内网ip?
2.修改路由器的路由设置,如果内网访问该服务器的外网地址也能路由到该机器。请高手解答,谢谢!
我想解决的方法可能有两个:
1.是否可以设置让服务器程序在生成stub的时候使用服务器内网ip?
2.修改路由器的路由设置,如果内网访问该服务器的外网地址也能路由到该机器。请高手解答,谢谢!
解决方案 »
- java如何生成这样的xml文件
- 菜鸟级 类型不兼容
- 初始化问题
- 如何从ResaultSet中读取一整行,写入DefaultTableModel(在线等,速给分)
- 急救...关于内部类方法改变外围类数据的问题。。能解决马上给分。。在线等
- XML中的DOM问题
- 缓储问题?
- 求日志管理类的代码!谢谢!
- CSDN的查询为什么不能用?都叫我们少发帖,多用查询!这不是自己打自己耳光吗?
- PrintWriter(OutputStream out, boolean autoFlush) 中的out参数为什么可以传入FileWriter对象
- java int 的最大值+1为什么是-2147483648
- 泛型的声明
以下是我的register 和 unregister 方法。public class BeansManager {
public static void unregister(String type, String name) {
try {
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
mbs.unregisterMBean(new ObjectName("label:type=" + type + (name == null ? "" : ",name=" + name)));
} catch (Exception ex) {
// ignore;
ex.printStackTrace();
}
}
public static void register(Object object, String type, String name) {
try {
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName mbeanName = new ObjectName("label:type=" + type + (name == null ? "" : ",name=" + name));
mbs.registerMBean(object, mbeanName);
} catch (Exception ex) {
// ignore;
ex.printStackTrace();
}
}
}有了MBeans的实现后,简单的调用一下就行了。[code]BeansManager.register(mbeanImpl, "MBeanSample", null);[/code]