[英]How to connect to Mongo DB in Docker from Scala Play Framework?
[英]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.