EAS中RPC日志的动态开关是如何实现的

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

EAS中RPC日志的动态开关是如何实现的

在EAS日常维护过程中经常会遇到性能问题性能问题的分析常常要收集性能日志

收集rpc日志要打开rpc日志的开关,开启性能日志记录的方式如下:


1.查询eas/server/profiles/server1/config/jmxconnector.properties文件中http.port维护的端口信息

例如http.port=11029


2.在浏览器中打开如下网址:

IP:端口,例如:192.168.1.2:11029

输入密码即可看到如下页面:



3.搜索invokeCounter,并点击打开



4.设置KSQLOn,RPCSQLOn,SQLPlanOn等参数。


这个网页设置是怎么实现的呢?

熟悉的同学可能一眼就看出了这是JMX使用JMX可以在运行时动态的改变参数值,不需要重启服务器。那使用JMX如何实现上面的效果呢?话不多说,直接看demo。


1. 新建工程并引用依赖包jmxtool.jar

2. 新增接口TestMBean

public interface TestMBean {
    public String getName();
    public void setName(String name);
    public String getNumber();
}


3. 新增实现类Test

public class Test implements TestMBean{
    private String name = "";
    @Override
    public String getName() {
            return name;
    }
    @Override
    public void setName(String name) {
            this.name = name;
    }
    @Override
    public String getNumber() {
        return "haha";
    }
}


4. 新增启动类JmxBeanService

   

 public static void main(String[] args) throws Exception {
        MBeanServer mBeanServer = MBeanServerFactory.createMBeanServer("aa");//创建MBeanServer
        HtmlAdaptorServer adServer = new HtmlAdaptorServer();
        adServer.setPort(11029);//设置服务端口
        ObjectName objName = new ObjectName("Adapter:type=html");
        mBeanServer.registerMBean(adServer, objName);
        Test test = new Test();
        objName = new ObjectName("tt:name=test");
        mBeanServer.registerMBean(test, objName);//注册Mbean对象
        adServer.start();
    }


5. 启动工程,在服务器上访问此地址:localhost:11029

点击name=test

图片.webp


这里几个注意点

1.接口命名分为两部分,【前缀】+MBean,注意MBean是固定的

2.实现类名必须和前缀相同

(原因如下:

在注册Mbean时会校验类的接口名,接口名是通过 类名+MBean判断是否相等的

)

3.有变量有set方法即可在页面动态修改


那EAS中的JMX的MBean是在哪里注册的呢?出于信息安全不能展示源码

大家感兴趣的可以自己跟踪一下。

服务启动的入口(在servlet服务启动时通过ServletContextListener启动所以只有在服务启动的时候会进一次):

com.kingdee.bos.management.ManagementServletListener.contextInitialized(
ServletContextEvent)


MBean类的配置文件位置(读取此配置文件实例化具体的MBean对象):

/Server/server/lib/common/bos/management.jar!/com/kingdee/bos/management/config/mbeans.properties



这个密码如何设置的,怎么修改呢

EAS中RPC日志的动态开关是如何实现的

在EAS日常维护过程中,经常会遇到性能问题,性能问题的分析常常要收集性能日志。收集rpc日志要打开rpc日志的开关,开启性能日志记录的方式...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息