gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 09:55:46 25 4
gpt4 key购买 nike

我正在使用 WSO2 EI。

当序列失败时,我需要停用消息处理器

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

谢谢!

如果适用于 Linux 服务器、WSO2 EI - 6.4.0 和 JDK,则为:1.8.0_201

最佳答案

您可以实现一个简单的 class mediator访问 EI 的 JMX 端点以停用消息处理器。并按相关顺序引用类(class)调解员。以下是类中介器的示例。在这里,我将停用名为 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/

关于java - 如何从序列中停用消息处理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56024764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com