繁体   English   中英

如何使用JpaApi在Play框架中定义环境特定的mongo数据库配置?

[英]How to define - environment specifc mongo db configuration in play framework with JpaApi?

我正在与mongo db一起使用play框架的项目中工作。 到目前为止,我已经在persistence.xml文件中对本地db连接的值进行了硬编码,并将jpa.default值指定为persistenceUnitName,并且我正在使用播放的JpaApi进行db操作(其固有地使用实体管理器)。

我无法识别如何在application.conf或任何其他文件中定义环境(产品,开发,阶段)特定于数据库的属性,例如主机,URL等。

application.conf条目-jpa.default = my-local-jpa

 <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="my-local-jpa" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider> <non-jta-data-source>DefaultDS</non-jta-data-source> <properties> <property name="hibernate.ogm.datastore.provider" value="org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider"/> <property name="hibernate.ogm.datastore.host" value="127.0.0.1"/> <property name="hibernate.ogm.datastore.port" value="27017"/> <property name="hibernate.ogm.datastore.database" value="my_db"/> <property name="hibernate.ogm.datastore.safe" value="true"/> <property name="hibernate.ogm.datastore.create_database" value="true" /> </properties> </persistence-unit> </persistence> 

会有不同的解决方案。 这取决于您的环境。

如果使用的是WildFly / JEE容器,则可以配置WildFly NoSQL子系统,并在其中提供对远程数据存储的引用。 它等同于SQL数据源,但适用于NoSQL数据存储。 请参阅使用WildFly NoSQL

如果您使用的是Web容器,则会有不同的策略。 您可以创建不同的战争,例如针对每个环境创建一次战争,例如使用Maven配置文件。 另外,您可以配置Spring上下文以便使用外部属性文件。 看到这个问题

如果将其部署在PASS(例如OpenShift)中,则可以将persistence.xml文件安装为配置映射。 请参阅配置映射-OpenShift文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM