Jboss CLI 应用程序部署
Posted
技术标签:
【中文标题】Jboss CLI 应用程序部署【英文标题】:Jboss CLI application deployment 【发布时间】:2018-06-12 07:57:27 【问题描述】:我需要使用 CLI 在 JBOSS 中部署 WAR 文件,并希望发送应用程序中使用的 JVM 命令行参数。用于部署的 CLI 命令是:
deploy --name=xxx-api.war --server-groups=server-group1 /war/locn/xxx-api-$rel_name.war
我需要在下面传递一个java命令行参数:-Dspring.profiles.active=enableScheduler
怎么做?
【问题讨论】:
【参考方案1】:你不能用 jboss-cli deploy 命令设置系统属性。当你运行 jboss-cli 时,JVM 已经启动。您应该在 $JBOSS_HOME/bin/standalone.conf(或 domain.conf)中设置属性。或者您可以运行 java 代码来设置系统属性。您可以定义一个在启动时加载的 servlet,并在 servlet init 方法中设置系统属性。
@WebServlet(name = "Prop", urlPatterns = "/Prop", loadOnStartup = 1)
public class SetProperies extends HttpServlet
@Override
public void init() throws ServletException
System.setProperty("spring.profiles.active", "enableScheduler");
【讨论】:
【参考方案2】:你试过了吗?
/server-group=server-group1/system-property=spring.profiles.active:add(boot-time=false, value="enableScheduler")
【讨论】:
boot-time
是做什么的?如果设置为真会有什么后果?
boot-time 属性用于域模式,以使主机控制器在启动时间属性设置为 true 的 JVM 调用上生成具有系统属性的新 EAP 实例。它在域模式下没有缺点。以上是关于Jboss CLI 应用程序部署的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Java 代码使用 jboss-cli 命令将 EAR 文件部署到 wildfly-17.0.1 服务器
通过 JBoss CLI 在部署时更改 Activation-Config-Property