intra-mart Accel Platform IM-共通マスタ 仕様書 第7版 2019-04-01

5.2. IM-LogicDesigner のフロートリガで IM-共通マスタ を使用する

IM-LogicDesigner のフロートリガで IM-共通マスタ のカテゴリを使用する方法について説明します。

コラム

この設定は intra-mart Accel Platform 2018 Spring(Skylark) から提供しています。

注意

IM-共通マスタ をトリガに指定してロジックフローを実行する場合、アプリケーションサーバの処理が増加することによって、システム全体の動作に影響を与える可能性があります。

5.2.1. 設定手順

  1. IM-Propagation の受信側(リスナ)を設定をします。
    %JUGGLING_PROJECT_PATH%/conf 配下に propagation-receivers-config ディレクトリを作成します。
    propagation-receivers-config 配下に im_master.xml を作成します。
    ファイルパス:
    %JUGGLING_PROJECT_PATH%/conf/propagation-receivers-config/im_master.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <propagation-receivers-config
      xmlns="http://www.intra-mart.jp/propagation/receivers-config"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.intra-mart.jp/propagation/receivers-config propagation-receivers-config.xsd">
    
      <receiver source="jp.co.intra_mart.foundation.master.user.model.User" operationType="DATA_CREATED">
        <decoder class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.CreatedUserProfileDecoder" />
        <procedure class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.CreatedUserProfileProcedure" />
      </receiver>
      <receiver source="jp.co.intra_mart.foundation.master.user.model.User" operationType="DATA_UPDATED">
        <decoder class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.UpdatedUserProfileDecoder" />
        <procedure class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.UpdatedUserProfileProcedure" />
      </receiver>
    
      <receiver source="jp.co.intra_mart.system.master.user.propagation.model.PropagationDepartment" operationType="DATA_CREATED">
        <decoder class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.CreatedDepartmentUserAttachDecoder" />
        <procedure class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.CreatedDepartmentUserAttachProcedure" />
      </receiver>
      <receiver source="jp.co.intra_mart.system.master.user.propagation.model.PropagationDepartment" operationType="DATA_UPDATED">
        <decoder class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.UpdatedDepartmentUserAttachDecoder" />
        <procedure class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.UpdatedDepartmentUserAttachProcedure" />
      </receiver>
      <receiver source="jp.co.intra_mart.system.master.user.propagation.model.PropagationDepartment" operationType="DATA_DELETED">
        <decoder class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.DeletedDepartmentUserAttachDecoder" />
        <procedure class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.DeletedDepartmentUserAttachProcedure" />
      </receiver>
    
      <receiver source="jp.co.intra_mart.system.master.user.propagation.model.PropagationPublicGroup" operationType="DATA_CREATED">
        <decoder class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.CreatedPublicGroupUserAttachDecoder" />
        <procedure class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.CreatedPublicGroupUserAttachProcedure" />
      </receiver>
      <receiver source="jp.co.intra_mart.system.master.user.propagation.model.PropagationPublicGroup" operationType="DATA_UPDATED">
        <decoder class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.UpdatedPublicGroupUserAttachDecoder" />
        <procedure class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.UpdatedPublicGroupUserAttachProcedure" />
      </receiver>
      <receiver source="jp.co.intra_mart.system.master.user.propagation.model.PropagationPublicGroup" operationType="DATA_DELETED">
        <decoder class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.DeletedPublicGroupUserAttachDecoder" />
        <procedure class="jp.co.intra_mart.system.master.user.propagation.receiver.logic.trigger.DeletedPublicGroupUserAttachProcedure" />
      </receiver>
    
    </propagation-receivers-config>
    
  2. IM-Propagation の送信側(トリガ)を設定をします。
    %JUGGLING_PROJECT_PATH%/conf 配下に propagation-senders-config ディレクトリを作成します。
    propagation-senders-config 配下に im_master.xml を作成します。
    ファイルパス:
    %JUGGLING_PROJECT_PATH%/conf/propagation-senders-config/im_master.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <propagation-senders-config
      xmlns="http://www.intra-mart.jp/propagation/senders-config"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.intra-mart.jp/propagation/senders-config propagation-senders-config.xsd">
    
      <sender source="jp.co.intra_mart.foundation.master.user.model.User" operationType="DATA_CREATED">
        <encoder class="jp.co.intra_mart.system.master.user.propagation.sender.logic.trigger.SynchronousUserListenerEncoder" />
      </sender>
      <sender source="jp.co.intra_mart.foundation.master.user.model.User" operationType="DATA_UPDATED">
        <encoder class="jp.co.intra_mart.system.master.user.propagation.sender.logic.trigger.SynchronousUserListenerEncoder" />
      </sender>
    
      <sender source="jp.co.intra_mart.system.master.user.propagation.model.PropagationDepartment" operationType="DATA_CREATED">
        <encoder class="jp.co.intra_mart.system.master.user.propagation.sender.logic.trigger.SynchronousCompanyListenerEncoder" />
      </sender>
      <sender source="jp.co.intra_mart.system.master.user.propagation.model.PropagationDepartment" operationType="DATA_UPDATED">
        <encoder class="jp.co.intra_mart.system.master.user.propagation.sender.logic.trigger.SynchronousCompanyListenerEncoder" />
      </sender>
      <sender source="jp.co.intra_mart.system.master.user.propagation.model.PropagationDepartment" operationType="DATA_DELETED">
        <encoder class="jp.co.intra_mart.system.master.user.propagation.sender.logic.trigger.SynchronousCompanyListenerEncoder" />
      </sender>
    
      <sender source="jp.co.intra_mart.system.master.user.propagation.model.PropagationPublicGroup" operationType="DATA_CREATED">
        <encoder class="jp.co.intra_mart.system.master.user.propagation.sender.logic.trigger.SynchronousPublicGroupListenerEncoder" />
      </sender>
      <sender source="jp.co.intra_mart.system.master.user.propagation.model.PropagationPublicGroup" operationType="DATA_UPDATED">
        <encoder class="jp.co.intra_mart.system.master.user.propagation.sender.logic.trigger.SynchronousPublicGroupListenerEncoder" />
      </sender>
      <sender source="jp.co.intra_mart.system.master.user.propagation.model.PropagationPublicGroup" operationType="DATA_DELETED">
        <encoder class="jp.co.intra_mart.system.master.user.propagation.sender.logic.trigger.SynchronousPublicGroupListenerEncoder" />
      </sender>
    
    </propagation-senders-config>
    
  3. IM-共通マスタ のリスナを設定をします。
    %JUGGLING_PROJECT_PATH% 直下に plugin ディレクトリが存在しない場合は作成します。
    plugin 配下に使用するプラグインのディレクトリを作成します。
    • jp.co.intra_mart.master.accessor.user_8.0.19
    • jp.co.intra_mart.master.accessor.company_8.0.19
    • jp.co.intra_mart.master.accessor.public_group_8.0.19
    各ディレクトリの配下に plugin.xml を作成します。
    ファイルパス:
    %JUGGLING_PROJECT_PATH%/plugin/%PLUGIN_ID%/plugin.xml
    • jp.co.intra_mart.master.accessor.user_8.0.19 の plugin.xml

      <?xml version="1.0" encoding="UTF-8"?>
      <plugin>
         <extension point="jp.co.intra_mart.foundation.master.accessor.user" >
            <accessor
               name="synchronous"
               id="jp.co.intra_mart.foundation.master.accessor.user"
               version="8.0.19"
               rank="1" >
               <listener class="jp.co.intra_mart.system.master.user.impl.SynchronousUserListener" />
            </accessor>
         </extension>
      </plugin>
      
    • jp.co.intra_mart.master.accessor.company_8.0.19 の plugin.xml

      <?xml version="1.0" encoding="UTF-8"?>
      <plugin>
         <extension point="jp.co.intra_mart.foundation.master.accessor.company" >
            <accessor
               name="synchronous"
               id="jp.co.intra_mart.foundation.master.accessor.company"
               version="8.0.19"
               rank="1" >
               <listener class="jp.co.intra_mart.system.master.company.impl.SynchronousCompanyListener" />
            </accessor>
         </extension>
      </plugin>
      
    • jp.co.intra_mart.master.accessor.public_group_8.0.19 の plugin.xml

      <?xml version="1.0" encoding="UTF-8"?>
      <plugin>
         <extension point="jp.co.intra_mart.foundation.master.accessor.public_group" >
            <accessor
               name="synchronous"
               id="jp.co.intra_mart.foundation.master.accessor.public_group"
               version="8.0.19"
               rank="1" >
               <listener class="jp.co.intra_mart.system.master.public_group.impl.SynchronousPublicGroupListener" />
            </accessor>
         </extension>
      </plugin>