gpt4 book ai didi

java - 如何以编程方式阻止 JMS 监听器使用?

转载 作者:行者123 更新时间:2023-11-30 09:01:03 25 4
gpt4 key购买 nike

如何在 WebLogic 中停止 JMS 消费者?

我需要以编程方式通知 WebLogic 停止 JMS 监听器 (MDB)。我的意思是停止消费队列的消息,稍后也通过代码再次启动它。

管理控制台可能有一个选项(也许停止工厂?),但我们需要在代码中完成。

相当于 Spring 的 DefaultMessageListenerContainer.stop() 的东西.

最佳答案

Weblogic 中的等效项是目标 mBean 上的 pauseConsumption()。暂停应该会影响目标“定位”到的任何内容 - 可以是集群或单个服务器。

您可以通过管理控制台、WLST 脚本或 Java JMX 编程方式完成。以下链接显示了所有 3 种方法:

通过管理控制台:

JMS Modules -> <Module Name> -> Destination Name -> Pause Consumption

http://docs.oracle.com/cd/E17904_01/apirefs.1111/e13952/pagehelp/JMSjmsdestinationsjmsqueuepauseconsumptiontitle.html

通过 WLST 脚本:

cd('JMSRuntime/'+serverName+'.jms/JMSServers/'+jmsServerName+'/Destinations/'+jmsModName+'!'+ queueName)
cmo.pauseProduction()

http://middlewaremagic.com/weblogic/?p=6687

通过 Java JMX:

for (String queueName : queueNames) {
exception = null;
try {
ObjectName destination = findQueueObjectName(con, jmsModuleName, queueName);
Object pauseConsResult = con.invoke(destination,"pauseConsumption", null, null);

http://khylo.blogspot.com/2011/02/weblogic-jms-pause-and-resume.html

关于java - 如何以编程方式阻止 JMS 监听器使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26513931/

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