2017-02-01 9 views
0

組み込みのワークフローアクティビティが2回実行されているようです。私はチェックアウトワークフローをテストしており、DecrementInventoryActivityはskuから数量を2回削除しています。ブロードリーフコマース - ワークフローアクティビティが2回実行されています

これは既知のバグですか?何か間違っていますか?私はそうのようなワークフローを作成し

:広葉樹4.0以降で

<!-- Checkout Workflow Configuration --> 
<bean id="blCheckoutWorkflow" class="org.broadleafcommerce.core.workflow.SequenceProcessor"> 
    <property name="processContextFactory"> 
     <bean class="org.broadleafcommerce.core.checkout.service.workflow.CheckoutProcessContextFactory"/> 
    </property> 
    <property name="activities"> 
     <list> 
     <bean p:order="6000" id="blDecrementInventoryActivity" class="org.broadleafcommerce.core.checkout.service.workflow.DecrementInventoryActivity"> 
      <property name="rollbackHandler" ref="blDecrementInventoryRollbackHandler" /> 
     </bean> 
     <bean p:order="7000" id="blCompleteOrderActivity" class="org.broadleafcommerce.core.checkout.service.workflow.CompleteOrderActivity"> 
      <property name="rollbackHandler" ref="blCompleteOrderRollbackHandler" /> 
     </bean> 
     <bean p:order="9999999" class="com.mycompany.workflow.checkout.NotifyExternalInventorySystem" /> 
     </list> 
    </property> 
    <property name="defaultErrorHandler"> 
     <bean class="org.broadleafcommerce.core.workflow.DefaultErrorHandler"> 
     <property name="unloggedExceptionClasses"> 
      <list> 
       <value>org.broadleafcommerce.core.inventory.service.InventoryUnavailableException</value> 
      </list> 
     </property> 
     </bean> 
    </property> 
</bean> 

答えて

1

、DecrementInventoryActivityはblCheckoutWorkflowにデフォルトで追加されました。 http://www.broadleafcommerce.com/docs/core/4.0/migration-notes/3.1-to-4.0-migration/3.1.10-to-4.0-migrationの「在庫管理」セクションの3.1.10-4.0.0移行ノートを参照してください。

これはdefaultErrorHandlerにも適用され、blCompleteOrderActivity(これは常にフレームワークで管理されています)を削除できます。基本的に、カスタマイズblCheckoutWorkflow Beanが変更する必要があります。

<bean id="blCheckoutWorkflow" class="org.broadleafcommerce.core.workflow.SequenceProcessor"> 
    <property name="activities"> 
     <list> 
     <bean p:order="9999999" class="com.mycompany.workflow.checkout.NotifyExternalInventorySystem" /> 
     </list> 
    </property> 
</bean> 

は広葉樹3.0以降では、blCheckoutWorkflow豆への変更は、( activitiesblCheckoutWorkflowのリストのような豆のIDをマージ)広葉樹XMLマージ処理を受けます。あなたのケースでは、 DecrementInventoryActivityがすでにコアフレームワークXMLファイルに定義されており、その定義が blCheckoutWorkflowと合併すると、最終結果はの2つのインスタンスになります。

関連する問題