我正在使用JBOSS EAP5
我们可以在jboss.xml中使用像$ env_var(如下)这样的Linux级别的环境变量作为Activation-config-property-value吗?我尝试搜索文档未找到示例。期待例如/ synatx相同。
<message-driven>
<ejb-name>ExampleMDB</ejb-name>
<ejb-class>org.jboss.tutorial.mdb_deployment_descriptor.bean.ExampleMDB</ejb-class>
<transaction-type>Bean</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination-type>
<activation-config>
<activation-config-property>
<activation-config-property-name>acknowledgeMode</activation-config-property-name>
<activation-config-property-value>$env_var</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
答案 0 :(得分:1)
当我使用JBoss时(现在已经有一段时间了,所以现在不知道现在是否可以直接处理它),我将在构建期间生成部署jboss xml配置文件,以获取每个服务器dev / qa所需的特定XML。 / prod在发布过程中的排列。
诸如Velocity模板引擎之类的东西可以采用您的常规版本,并从预定义的配置中扩展变量,或者针对每个用户帐户运行该变量,以针对每个JBoss服务器部署量身定制。 https://velocity.apache.org/
您还可以编写简单的bash以用户身份运行,从而将当前的env值写入JBoss配置中。不是高科技,但它可以工作,特别是在您部署一个或几个部署的情况下。
$ export MSG="HELLO WORLD"
$ cat << EOF > jboss.xml
<somexml>$MSG</somexml>
EOF
$ cat jboss.xml
<somexml>HELLO WORLD</somexml>