ex)abc.war部署在Jboss中。如何檢查我的jboss是否在JAVA中啓動?例如:
我想知道在已部署的java源代碼(abc.war)中,jboss已啓動或未啓動。
有運行線程檢查出來。
但我想知道我怎麼知道我的jboss是完全啓動的。
或如何知道jboss成功啓動的終點。
因爲我必須在jboss完成之後執行一些方法。
jboss5.0 + spring3.0 + JRE1.6
ex)abc.war部署在Jboss中。如何檢查我的jboss是否在JAVA中啓動?例如:
我想知道在已部署的java源代碼(abc.war)中,jboss已啓動或未啓動。
有運行線程檢查出來。
但我想知道我怎麼知道我的jboss是完全啓動的。
或如何知道jboss成功啓動的終點。
因爲我必須在jboss完成之後執行一些方法。
jboss5.0 + spring3.0 + JRE1.6
編輯:我只是意識到你正在瞄準JBoss 5. AFAIK,下面的建議只適用於JBoss 7.x。請告訴它是否仍然與您有關。否則,我將刪除答案。
您可以使用此Jboss Management API。 HEre是如何使用JBoss detyped管理(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));
}
也許JSR-88會的援助,這JBoss的支持,甚至provides example code要注意它的使用?