ex) abc.war 部署在 Jboss 中。
我想知道 jboss 是否已启动......在已经部署的 java 源(abc.war)中。
正在运行一个线程来检查它。
但我想知道我怎么知道我的 jboss 已经完全启动了。
或者如何知道jboss成功启动的终点。
因为我必须在 jboss 完全打开后执行一些方法。
jboss5.0 + spring3.0 + jre1.6
编辑:我刚刚意识到您的目标是 JBoss 5。AFAIK,以下建议仅适用于 JBoss 7.x。请告诉它是否仍然与您相关。否则我会删除答案。
您可以为此使用Jboss 管理 API。以下是如何使用 JBoss 类型化管理 ( jboss.dmr
) 库访问 JBoss 管理的示例:
final ModelNode request = new ModelNode();
request.get(ClientConstants.OP).set("read-resource");
request.get("recursive").set(true);
request.get(ClientConstants.OP_ADDR).add("subsystem", "deployments");
ModelControllerClient client = null;
try {
client = ModelControllerClient.Factory.create(InetAddress.getByName(MANAGEMENT_HOST),
MANAGEMENT_PORT);
} catch (final UnknownHostException e) {
log.warn("unable to create ModelControllerClient on {}:{}, {}", new Object[] {
MANAGEMENT_HOST, MANAGEMENT_PORT, e });
return;
}
ModelNode response = null;
try {
response = client.execute(new OperationBuilder(request).build());
} catch (final IOException e) {
log.warn("unable to perform operation : {}, {}", request, e);
return;
}
log.info("request returned following results:");
final ModelNode resultNode = response.get(ClientConstants.RESULT);
for (final String key : resultNode.keys()) {
log.info("{} : {}", key, resultNode.get(key));
}