5.10. プラグ可能な変数永続性の設定

Red Hat Process Automation Manager Spring Boot アプリケーションに、設定したプロセス変数永続性の任意のエンティティーマネージャーを指定できます。これを行うには、オブジェクトマーシャリングストラテジーの解決中に名前付き Bean を追加します。これにより、2 つ目のデータソース修飾子に基づいて 2 つ目のエンティティーマネージャーファクトリーを設定できます。この設定は、プライマリーデータソースに干渉しないことに注意してください。

前提条件

  • 既存の Red Hat Process Automation Manager Spring Boot プロジェクトがある。

手順

  1. カスタマイズされたエンティティーマネージャー JavaBean を Java クラスに追加します。以下の例は、Java Persistence API (JPA) データソースのエンティティーマネージャー Java Bean (auditEntityManager) を示しています。

        @Bean(name = "auditEntityManager")
        @ConditionalOnMissingBean(name = "auditEntityManager")
        public LocalContainerEntityManagerFactoryBean entityManagerFactory(@Qualifier("jpaAuditDataSource") DataSource dataSource, JpaProperties jpaProperties) {
            return EntityManagerFactoryHelper.create(applicationContext,
                                                     dataSource,
                                                     jpaProperties,
                                                     "custom-persistent-unit",
                                                     "classpath:/META-INF/persistence.xml");
        }

    MVFLEX Expression Language (MVEL) の評価中にパラメーターが解決されると、auditEntityManager は暗黙的なコンテキストパラメーターになります。

  2. 以下のマーシャリング戦略を kie-deployment-descriptor.xml ファイルに追加します。

     <marshalling-strategy>
        <resolver>mvel</resolver>
        <identifier>new org.drools.persistence.jpa.marshaller.JPAPlaceholderResolverStrategy(auditEntityManager)
        </identifier>
        <parameters/>
        </marshalling-strategy>

関連情報