为了账号安全,请及时绑定邮箱和手机立即绑定

如何从序列中停用消息处理器?

如何从序列中停用消息处理器?

白衣非少年 2022-11-10 15:05:19
我正在使用 WSO2 EI。当序列失败时,我需要停用消息处理器如何从序列中停用消息处理器?谢谢!如果对于 Linux 服务器、WSO2 EI - 6.4.0 和 JDK 是这样的:1.8.0_201
查看完整描述

1 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

您可以实现一个简单的类调解器来访问 EI 的 JMX 端点以停用消息处理器。并按您的相关顺序推荐班级调解员。以下是一个示例类中介。在这里,我将停用名为 testPro 的消息处理器。


public class MsgProDeactivator extends AbstractMediator { 


    public boolean mediate(MessageContext context) { 

        try {

            Map<String, Object> env = new HashMap<String, Object>();

            String[] credentials = new String[]{"admin", "admin"};

            env.put("jmx.remote.credentials", credentials);


            String url = "service:jmx:rmi://localhost:11111/jndi/rmi://localhost:9999/jmxrmi";

            JMXServiceURL target = new JMXServiceURL(url);

            JMXConnector connector = JMXConnectorFactory.connect(target, env);

            MBeanServerConnection remote = connector.getMBeanServerConnection();


            String beanDef = "org.apache.synapse:Type=Message Forwarding Processor view,Name=testPro";

            ObjectName bean = new ObjectName(beanDef);


            remote.invoke(bean, "deactivate", null, null);

            connector.close();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return true;

    }

}

欲了解更多信息:http: //imesh.github.io/how-to-activatedeactivate-message-processors-in-wso2-esb-with-mbeans/


查看完整回答
反对 回复 2022-11-10
  • 1 回答
  • 0 关注
  • 126 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号