我试图在 JBoss 5.1.0 中停止一个 MDB。
我的代码如下:
public static void stopAllMDB()
throws InterruptedException, MalformedObjectNameException, NullPointerException {
String currentVersion = "1.0";
for (String name : Util.MDB_NAMES) {
String mbean = "jboss.j2ee:ear=myEar" + currentVersion + ".ear,jar=myJar.jar,name=myMDB,service=EJB3";
ObjectName objName = new ObjectName(mbean);
System.out.println("Stop MDB " + name);
try {
MBeanServer mbeanServer = MBeanServerLocator.locateJBoss();
MessagingDelegateWrapperMBean invoker = (MessagingDelegateWrapperMBean)MBeanProxy.get(MessagingDelegateWrapperMBean.class,
objName, mbeanServer);
invoker.stopDelivery();
}
} catch (Exception e) {
}
}
但是如果失败了
MessagingDelegateWrapperMBean invoker = (MessagingDelegateWrapperMBean)MBeanProxy.get(MessagingDelegateWrapperMBean.class,objName, mbeanServer)
和
非法参数异常。