在我的代码中,我曾经像这样以编程方式停止 Wildfly (16.0.0.Final):
[...]
Thread shutdownThread = new Thread(){
@Override
public void run() {
try {
MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
try {
logger.info("Stopping server...");
ObjectName objectName = new ObjectName("jboss.as:management-root=server");
mBeanServer.invoke(objectName, "shutdown", new Object[] { false, 60 }, new String[] { boolean.class.getName(), int.class.getName() });
} catch ( InstanceNotFoundException | ReflectionException | MBeanException | MalformedObjectNameException e ) {
logger.error("Failed to stop server, error msg is: " + e);
}
} catch ( Exception e ) {
logger.error(e.getMessage(), e);
}
}
};
[...]
奇怪的是,这停止了工作。我收到以下错误消息:
WFLYJMX0012: params and description have different lengths: java.lang.IllegalArgumentException:
对此有什么想法吗?
非常感谢,
凯
最佳答案
在wildfly 16 中,他们添加了第三个参数用于正常关闭。
mBeanServer.invoke(objectName, "shutdown", new Object[] { false, 60, 60 }, new String[] { boolean.class.getName(), int.class.getName(), int.class.getName() });
虽然第三个参数被列为可选参数,但在添加它之前我们遇到了同样的错误。https://wildscribe.github.io/WildFly/17.0/index.html想要查询更多的信息。
关于java - "WFLYJMX0012: params and description have different lengths"以编程方式停止 Wildfly 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62341493/