Включить/отключить общий кэш Eclipselink через jboss-cli

Я хочу включить или отключить общий кеш eclipselink (кэш второго уровня) через файл jboss-cli.

Обычно для параметра shared-cache-mode установлено значение DISABLE_SELECTIVE, но в некоторых развертываниях мы хотели бы иметь возможность отключить его. Было бы неплохо, если бы мы могли сделать это через jboss-cli и не редактировать наш файл persistence.xml.

У кого-нибудь есть идеи или опыт создания чего-то подобного?

Я включил наш файл persistence.xml ниже. Я был бы рад предоставить что-нибудь еще, что может быть полезно.

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
            http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
             version="2.1">

    <persistence-unit name="AppPu">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <jta-data-source>app.datasource</jta-data-source>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
        <shared-cache-mode>DISABLE_SELECTIVE</shared-cache-mode>

        <properties>
            <property name="eclipselink.persistence-context.flush-mode" value="commit" />
            <property name="eclipselink.jdbc.batch-writing" value="jdbc" />
            <property name="eclipselink.jdbc.batch-writing.size" value="500"/>
            <property name="eclipselink.session-event-listener" value="com.demo.app.common.eclipselink.GeometryInitializer"/>

            <property name="eclipselink.logging.logger" value="DefaultLogger"/>
            <property name="eclipselink.logging.file" value="sqldump.log"/>
            <property name="eclipselink.logging.parameters" value="true"/>


        </properties>
    </persistence-unit>

</persistence>

person ijm3    schedule 03.07.2019    source источник


Ответы (1)


В случае, если кто-то еще когда-либо попытается сделать это...

Отредактируйте свой persistence.xml, установив shared-cache-mode в переменную следующим образом:

<shared-cache-mode>${SHARED_CACHE_MODE}</shared-cache-mode>

Затем вы можете добавить эту переменную в свой standalone.xml, отправив следующую команду в свой jboss-cli (заменив DISABLE_SELECTIVE соответствующим образом):

/system-property=SHARED_CACHE_MODE:add(value=DISABLE_SELECTIVE)

В этом нам очень помогла следующая статья: http://www.mastertheboss.com/jboss-frameworks/hibernate-jpa/jpa-configuration/how-to-use-an-env-variable-in-your-persistencexml

person ijm3    schedule 03.10.2019