1

ex) abc.war 部署在 Jboss 中。

我想知道 jboss 是否已启动......在已经部署的 java 源(abc.war)中。

正在运行一个线程来检查它。

但我想知道我怎么知道我的 jboss 已经完全启动了。

或者如何知道jboss成功启动的终点。

因为我必须在 jboss 完全打开后执行一些方法。

jboss5.0 + spring3.0 + jre1.6

4

2 回答 2

1

编辑:我刚刚意识到您的目标是 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));
    }
于 2012-11-19T08:35:35.957 回答
0

也许JSR-88会有所帮助,JBoss 支持它甚至提供示例代码来说明它的使用?

于 2012-11-19T05:38:41.487 回答