2012-11-19 56 views
1

ex)abc.war部署在Jboss中。如何檢查我的jboss是否在JAVA中啓動?例如:

我想知道在已部署的java源代碼(abc.war)中,jboss已啓動或未啓動。

有運行線程檢查出來。

但我想知道我怎麼知道我的jboss是完全啓動的。

或如何知道jboss成功啓動的終點。

因爲我必須在jboss完成之後執行一些方法。

jboss5.0 + spring3.0 + JRE1.6

回答

1

編輯:我只是意識到你正在瞄準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)); 
    } 
相關問題