2016-11-18 93 views
0

我正在尋找設計流程的正確方法。如果我想對5個不同的表執行數據庫操作,是否需要5個數據庫節點?或者如果我想聲明3個流量變量,是否需要3個變量變量?我認爲這會使流程看起來很複雜。我可以在一個數據庫節點中寫入多個查詢嗎?如果我不想寫一個java類,那應該是什麼正確的方法?Mule:設計流程的最佳方法

回答

0

要通過一個回答您的問題之一: -

  1. If I want to perform database operations on 5 different tables, do I need 5 database nodes?

號。它可以通過一個單一的數據庫連接進行不同的操作來實現。 請通過這裏的文檔: - https://docs.mulesoft.com/mule-user-guide/v/3.8/database-connector
您需要定義一個連接您的數據庫的單個全局數據庫連接器,並且可以由執行不同操作(選擇,插入,更新等)的流程中的多個數據庫組件引用。請檢查這裏: -
Write Multiple queries in database connector in Mule

  • if I want to declare 3 flow variables, do I need 3 Variable transformers?
  • 不是必要的,它可以使用<message-properties-transformer/>在這裏可以在一個在一個組件中定義多個變量來完成時間與scope="invocation"財產。例如: -

    <message-properties-transformer doc:name="Message Properties" scope="invocation"> 
        <add-message-property key="var1" value="value1"/> 
        <add-message-property key="var2" value="value2"/> 
    </message-properties-transformer> 
    
  • Can I write multiple queries in one database node?
  • 對於插入,刪除,更新操作可以使用散裝選項REF具有在一個DB組件多個查詢: - https://docs.mulesoft.com/mule-user-guide/v/3.5/database-connector#bulk-updates: -

    <db:bulk-execute config-ref="dbConfig"> 
        update TABLE1 set NAME='Mercury' where POSITION=0; 
        update TABLE1 set NAME='Mercury' where POSITION=4 
    </db:bulk-execute> 
    

    您也可以參考這裏: - http://www.slideshare.net/anir37/mule-db-bulk-execute

    希望這有助於:)

    +0

    感謝Anirban。將檢查出來。 – Neha

    +0

    但是,如果我想在這種情況下根據一些條件進行查詢,我們可以使用Bulk模式選項嗎? – Neha

    +0

    是的..我剛剛舉了一個例子:) –