【问题标题】:How to define - environment specifc mongo db configuration in play framework with JpaApi?如何使用 Java Api 在 Play 框架中定义特定于环境的 mongodb 配置?
【发布时间】:2019-03-19 04:30:26
【问题描述】:

我正在做一个项目,我正在使用 play 框架和 mongo db。到目前为止,我已经在 persistence.xml 文件中硬编码本地 db 连接的值,并将 jpa.default 值作为 persistenceUnitName 并且我正在使用 play 的 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>

【问题讨论】:

  • 抱歉,我不确定我是否理解这个问题。您是在问是否可以在配置文件中引用环境变量?

标签: mongodb jpa playframework sbt hibernate-ogm


【解决方案1】:

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

如果您使用的是 WildFly / JEE 容器,您可以配置 WildFly NoSQL 子系统,提供对远程数据存储的引用。它将等效于 SQL 数据源,但用于 NoSQL 数据存储。见Using WildFly NoSQL

如果您使用的是 Web 容器,则会有不同的策略。 您可以为每个环境创建不同的战争,例如使用 Maven 配置文件。 或者,您可以配置 Spring 上下文以使用外部属性文件。见this question

如果您将其部署在 PASS(例如 OpenShift)中,您可以将 persistence.xml 文件挂载为配置映射。见Config Map - OpenShift doc

【讨论】:

    猜你喜欢
    • 2020-07-27
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多