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

Java 如何在IBM websphere上禁用激活规范,java,jms,websphere,websphere-7,websphere-8,Java,Jms,Websphere,Websphere 7,Websphere 8,我们有部署在多个概要文件上的J2EE应用程序。出于某种奇怪的原因,我们希望消息驱动bean对JMS消息的处理是在一个特定的概要文件上进行的 因此,我们希望禁用其他配置文件上的激活规范 只需删除激活规范就可以了,因为没有它,我们的应用程序就无法启动,只有一些初始上下文工厂例外 停止并恢复解决方案并不真正适合,因为每次服务器重新启动后,激活规范都会再次激活,总有一天,有人会忘记将其关闭 那么,是否有一种方法可以完全禁用IBMWebSphere服务器上的激活规范,并使应用程序正常工作?或者如何处理它的

我们有部署在多个概要文件上的J2EE应用程序。出于某种奇怪的原因,我们希望消息驱动bean对JMS消息的处理是在一个特定的概要文件上进行的

因此,我们希望禁用其他配置文件上的激活规范

只需删除激活规范就可以了,因为没有它,我们的应用程序就无法启动,只有一些初始上下文工厂例外

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


那么,是否有一种方法可以完全禁用IBMWebSphere服务器上的激活规范,并使应用程序正常工作?或者如何处理它的任何其他想法

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

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

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

使用带有disableWMQ标志的manageWMQ管理命令


您可以通过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')

有关更多详细信息,请参见-

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

谢谢,不幸的是,由于MQ支持已关闭,应用程序尚未启动。我相信他希望停止集群其他分支的活动规范,但只有一个分支正在运行,我想console将停止所有分支。所以在我看来,wsadmin是唯一的方法。