gpt4 book ai didi

Java EE7 : @DatasourceDefinition, 如何参数化值?

转载 作者:太空宇宙 更新时间:2023-11-04 06:31:29 24 4
gpt4 key购买 nike

我正在学习如何使用@DataSourceDefinitiondocumentation给出一个具体的例子

 @DataSourceDefinition(name="java:global/MyApp/MyDataSource",
className="com.foobar.MyDataSource",
portNumber=6689,
serverName="myserver.com",
user="lance",
password="secret"
)

问题
如何用这些值替换环境变量?如DB_HOSTDB_URL

原因是当我将应用程序部署到像 OPENSHIFT 这样的提供商时,我得到的都是用于连接数据库的值。

我不想在我的代码库中对它们进行硬编码。这增加了与特定数据库的耦合,并且无法在运行时切换

有什么想法吗?

最佳答案

如果您想在 OPENSHIFT 以及本地 JBoss 中部署 Java EE 应用程序,那么建议使用 JBoss 配置文件来配置数据源属性,并在 persistence.xml 中使用该数据源 JNDI 名称

引用:https://help.openshift.com/hc/en-us/articles/202964690-Default-database-connectivity-configurations-for-JBoss-Applications

如果您确实不想想要使用应用程序服务器(如 JBoss)特定配置。然后,您可以为 @DataSourceDefinition 注解类编写数据源包装器,并使用外部属性文件更改数据源的值。

引用:http://jdevelopment.nl/switching-data-sources-datasourcedefinition

关于Java EE7 : @DatasourceDefinition, 如何参数化值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26064437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com