Как использовать переменную env в файле persistence.xml приложения weblogic (также я использую gradle для сборки)? Или как использовать inWeblogic переносимое имя JNDI? - PullRequest
0 голосов
/ 22 января 2019

Мне нужно развернуть мое приложение на JBoss и Weblogic. У них разный синтаксис JNDI, поэтому я хочу установить необходимый JNDI при сборке или запуске приложения.Мне нужно добавить разные имена JNDI в мои несколько файлов persistance.xml во время сборки gradle.Когда я настраиваю сервер JBoss, я просто добавляю

-DcheckJNDI = java: / powds

к своему сценарию запуска и разрешается переменная среды (как в этом artice http://www.mastertheboss.com/jboss-frameworks/hibernate-jpa/jpa-configuration/how-to-use-an-env-variable-in-your-persistencexml). Попытка добавить набор

JAVA_OPTIONS =% SAVE_JAVA_OPTIONS% -DcheckJNDI = jdbc / powds

для запускаWebLogic.cmd, но это не помогло. Я могу 't использовать свойства add с методом «createEntityManagerFactory», поскольку у меня есть несколько файлов persistance.xml. Как мне запустить сервер WebLogic для разрешения этой переменной env? Также, возможно, у вас есть какое-то решение gradle, как устанавливать свойства в persistance.xml во время сборки gradleМой файл persistance.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<persistence version="2.0" 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_2_0.xsd">
    <persistence-unit name="powpu" transaction-type="JTA" >
        <jta-data-source>JNDI</jta-data-source>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
        <shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
        <properties>
       <property name="javax.persistence.jtaDataSource" value="${checkJNDI}"/>
    </persistence-unit>
</persistence>
...