2016-04-14 41 views
1

在BizTalk中,我收到一個已知類型的消息,它是我之前發送的消息的響應。當前編排通過相關集訂閱響應。對於部署,我需要終止一些現有的業務流程,但會創建可處理的新業務流程。通常這可以通過並行部署來解決,但是第三方組件的更新需要我終止。在BizTalk 2010中處理未訂閱的消息

有一些方法我可以路由該終止於不同的編排有以下限制之後會出現路由失敗\

  • 我需要原始消息類型來處理所述消息。
  • 我對流水線中發生的錯誤不感興趣(這也是自定義的)。這些應該像往常一樣暫停。

我試圖在接收形狀上使用過濾器,但由於仍然存在路由故障,似乎無法識別該消息。

一種替代方法我認爲是沒有任何過濾器,但比我更需要如果兩個業務流程處理相同的信息,不應該在這個解決方案時發送一些信息。

該解決方案只是暫時的,一個月後所有的舊回覆將完成,解決方案可以被刪除。因此,如果不進行部署(或停機),應該很容易將其刪除。

+0

暫停一下,第三方組件需要重新部署的是什麼?也許我們可以解決這個問題。 –

+0

@約翰-305的第三方的DLL的加載在BizTalk和正在使用的一些dll的我的解決方案導致這些DLL的需要進口。如果BizTalk中存在任何實例,則此導入將會崩潰。 3dr聚會目前不支持並排。 –

+0

他們不能提供不同的版本?只是要清楚,它們是BizTalk組件,而不是普通的常規.Net程序集。 –

回答

1

我看到兩個可能的選項,你必須先測試每個選項。

  1. 啓用失敗消息路由和訂閱發送端口
  2. 失敗的迴應只是讓他們暫停,並使用WMI腳本保存的消息。如果你這樣做,你也將得到它的所有屬性的上下文。

無論哪種方式,你則需要一個過程來重新提交。

+0

選項1還將處理管道中的錯誤,因此選項2(包括檢查錯誤)似乎是一個選項。 –

0

在處理同步呼叫時,您通常會在一分鐘左右的時間內收到回覆。通常情況下,設置維護窗口將是更好的選擇。幾分鐘內沒有傳入的請求應該允許您清理事件並更新您的資源/工件。

如果這不是一個選項,通常並排部署是專門爲此設計的。但你在那裏也是有限的。

另一種選擇是隻是爲了讓他們暫停和手動處理它們或 - 一度中斷 - 保存掛起的郵件正文,並將其保存以供進一步處理(手動或某些特定的流程,你可以設置)。

+0

在這種情況下,有更多的暫停發生,我不想把它放在操作人員的隊列中。手動操作應保持最低限度。 –