What are the appropriate options for configuring JBoss 7 without manually editing the standalone.xml (or the domain.xml).
我们有一个相当复杂的配置(JavaMail、许多数据源等),编辑 XML 不是一个好的选择,因为重写时注释会丢失,而且通常很难部署更改。
我看到的一个选项是命令行界面,至少您可以在其中编写脚本,但它似乎会使更改它与创建它不同。还有什么好的选择吗?
What are the appropriate options for configuring JBoss 7 without manually editing the standalone.xml (or the domain.xml).
我们有一个相当复杂的配置(JavaMail、许多数据源等),编辑 XML 不是一个好的选择,因为重写时注释会丢失,而且通常很难部署更改。
我看到的一个选项是命令行界面,至少您可以在其中编写脚本,但它似乎会使更改它与创建它不同。还有什么好的选择吗?
对于批量配置更改,CLI 脚本可能是您最好的选择。
另一种选择是创建自己的程序来执行此操作。您可以使用本机 Java API,另请参阅模型参考的detyped API。这将使您可以选择在添加或更改之前检查资源和/或资源值。
final ModelNode op = new ModelNode();
op.get(ClientConstants.OP).set("read-resource");
op.get(ClientConstants.OP_ADDR).set("/subsystem=logging/console-handler=CONSOLE");
final ModelControllerClient client = ModelControllerClient.Factory.create("localhost", 9999);
final ModelNode result = client.execute(op);
if (result.get(ClientConstants.OUTCOME).asString().equals(ClientConstants.SUCCESS)) {
// The operation was successful
} else {
// Unsuccessful get the failure description
final String msg;
if (result.hasDefined(ClientConstants.FAILURE_DESCRIPTION)) {
if (result.hasDefined(ClientConstants.OP)) {
msg = String.format("Operation '%s' at address '%s' failed: %s", result.get(ClientConstants.OP), result.get(ClientConstants.OP_ADDR), result.get(ClientConstants.FAILURE_DESCRIPTION));
} else {
msg = String.format("Operation failed: %s", result.get(ClientConstants.FAILURE_DESCRIPTION));
}
} else {
msg = String.format("An unexpected response was found. Result: %s", result);
}
}
为什么不使用 Web 管理控制台?Standalone.xml 中包含的大多数属性都可以使用 UI 进行配置。