首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置文件

配置文件
EN

Stack Overflow用户
提问于 2016-05-09 13:59:48
回答 3查看 2.2K关注 0票数 1

我需要从配置文件中读取一些属性。我不想将属性文件存储在位置中。最佳实践是什么

例如,如果按如下方式执行

代码语言:javascript
复制
java -jar payara-micro.jar --deploy demo.jar

我想将参数文件保存在payara-micro.jar所在的位置。我需要读取war文件中的属性文件。如何实现它。

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2016-05-24 21:51:07

您可以首先使用--rootDir path选项启动payara-micro。Payara将此dir视为工作,因此它在其中创建了“`config”dir。然后只需根据需要编辑domain.xml文件,并再次启动payara-micro.您创建的所有资源都将像往常一样在bean上可用。例如,您可以添加一些如下属性:

..。

代码语言:javascript
复制
<resources>
    <jdbc-resource pool-name="DerbyPool" jndi-name="jdbc/__default" object-type="system-all" />
    <jdbc-connection-pool is-isolation-level-guaranteed="false" name="DerbyPool" datasource-classname="org.apache.derby.jdbc.EmbeddedDataSource" res-type="javax.sql.DataSource">
        <property name="databaseName" value="${com.sun.aas.instanceRoot}/lib/databases/embedded_default" />
        <property name="connectionAttributes" value=";create=true" />
    </jdbc-connection-pool>
    <connector-connection-pool max-pool-size="250" steady-pool-size="1" name="jms/__defaultConnectionFactory-Connection-Pool" resource-adapter-name="jmsra" connection-definition-name="javax.jms.ConnectionFactory"></connector-connection-pool>
    <connector-resource pool-name="jms/__defaultConnectionFactory-Connection-Pool" jndi-name="jms/__defaultConnectionFactory" object-type="system-all-req"></connector-resource>
    <context-service description="context service" jndi-name="concurrent/__defaultContextService" object-type="system-all"></context-service>
    <managed-executor-service maximum-pool-size="200" core-pool-size="1" long-running-tasks="true" keep-alive-seconds="300" hung-after-seconds="300" task-queue-capacity="20000" jndi-name="concurrent/__defaultManagedExecutorService" object-type="system-all"></managed-executor-service>
    <managed-scheduled-executor-service core-pool-size="1" long-running-tasks="true" keep-alive-seconds="300" hung-after-seconds="300" jndi-name="concurrent/__defaultManagedScheduledExecutorService" object-type="system-all"></managed-scheduled-executor-service>
    <managed-thread-factory description="thread factory" jndi-name="concurrent/__defaultManagedThreadFactory" object-type="system-all"></managed-thread-factory>
<custom-resource factory-class="org.glassfish.resources.custom.factory.PropertiesFactory" res-type="java.util.Properties" jndi-name="myconf">
  <property name="some.my.property" value="some.value"></property>
</custom-resource>
</resources>

(参见自定义资源标记)

然后把它注入到你的bean中:

代码语言:javascript
复制
@Resource(type=java.util.Properties.class, name="myconf")
private final Properties parameters;

您还可以指定--domainConfig文件以将配置保存在您想要的任何位置。

使用--help查看完整的选项列表。

票数 1
EN

Stack Overflow用户

发布于 2016-05-16 18:56:31

您可以使用命令行参数将系统属性传递给payara micro,如下所示:

代码语言:javascript
复制
java -jar payara-micro.jar --deploy app.war --systemProperties=sys.properties 

另外,请查看Payara micro documentation about this option

票数 0
EN

Stack Overflow用户

发布于 2018-03-03 02:27:41

您可以传递在domain.xml文件中配置的系统属性。这将覆盖默认的domain.xml。

代码语言:javascript
复制
java -jar payara-micro.jar --domainConfig domain.xml --deploy app.war 

您可以从payara-micro.jar中获得默认的domain.xml

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37108654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档