如何在IBM websphere上禁用激活规范

时间:2015-09-11 13:51:02

标签: java jms websphere websphere-7 websphere-8

我们有部署在多个配置文件上的J2EE应用程序。出于某些奇怪的原因,我们希望通过消息驱动的bean处理JMS消息是在某个特定的配置文件上。

因此我们要在其他配置文件上禁​​用激活规范。

只删除激活规范而不是套件,因为没有它,我们的应用程序无法启动,带有一些初始上下文工厂异常

停止并恢复解决方案并不是真正的套件,因为每次服务器重新启动后,激活规范再次激活,有一天,有人会忘记将其关闭。

那么,如果有一种方法可以在IBM websphere服务器上使用工作应用程序完全禁用激活规范吗?或任何其他想法如何处理它

3 个答案:

答案 0 :(得分:0)

您是否尝试在服务器级别禁用MQ?我在8.5的信息中心找到了一些选项。

  1. 要在WebSphere Application Server客户端进程中禁用WebSphere MQ功能,请指定自定义属性com.ibm.ejs.jms.disableWMQSupport = true。

  2. 使用管理控制台,在所需的WebSphere MQ消息传递提供程序面板上选中“禁用WebSphere MQ”复选框。

  3. 将manageWMQ管理命令与disableWMQ标志一起使用

  4. Disable WebSphere MQ

答案 1 :(得分:0)

您可以通过wsadmin脚本执行此操作。

查询端点以查找bean的端点名称:

AdminControl.queryNames('*:type=J2CMessageEndpoint,*')

暂停终点:

objectName=AdminControl.queryNames('*:name=JMSMDB_MessageEndpoint,*') 
AdminControl.invoke(objectName, 'pause')

再次启动它:

objectName=AdminControl.queryNames('*:name=JMSMDB_MessageEndpoint,*') 
AdminControl.invoke(objectName, 'resume')

有关详细信息,请参阅 - Managing the message endpoint lifecycle using wsadmin scripting

答案 2 :(得分:0)

wsadmin脚本可能就是你想要的。但您也可以通过管理控制台执行此操作。导航到企业应用程序列表,然后选择应用程序的链接。如果您的应用程序具有MDB组件,则应用程序面板应具有运行时选项卡。选择此选项卡可查看消息侦听器的链接。单击此链接可查看可暂停和恢复的MDB列表。