BizTalk 2016 зависает при импорте определенного файла привязок - PullRequest
0 голосов
/ 26 июня 2018

Коллега попросил меня посмотреть на сбойную версию приложения BizTalk на одном из наших агентов CI.Короче говоря, после экспорта файла .MSI сценарии развертывания пытаются импортировать файл привязок для приложения.Он просто вращается в течение часа, а затем выдает следующее сообщение об ошибке:

Ошибка: не удалось обновить информацию о привязке.Исключение типа || 'Microsoft.BizTalk.CachingService.NotificationFailedException ||'был брошен.

В сценариях используется оснастка BizTalk PowerShell с помощью:

Add-PSSnapin –Name BizTalkFactory.PowerShell.Extensions

Строка с сообщением об ошибке выше:

Import-Bindings -Path "BTS:\Applications\$AppToDeploy" -Source "$bindingsFileName"

Thisэто новое приложение в отношении конвейера CI.Я попытался запустить тот же сценарий на своем локальном компьютере, а также на другом компьютере BizTalk для разработки, и он импортировал без происшествий.

Также попытался импортировать файл XML связывания вручную с помощью консоли администрирования BizTalk.Он также зависает на блоке CI, но отлично работает на компьютере разработчика.

Во время зависания, если вы посмотрите на SQL (размещенный на той же машине), существует заблокированный процесс.Процесс, вызывающий блокировку, не выполняет никаких обновлений, поэтому я предполагаю, что это какая-то блокировка DTC.В BizTalk нет других активных пользователей или приложений SQL.Процессор простаивает, память на 20%, а активность диска довольно мертвая.

Похоже, что-то специфическое для машины агента CI для этого нового приложения, просто с недоумением, где искать дальше.Есть ли в BizTalk какие-либо журналы или трассировки, которые я могу включить, чтобы увидеть, где и почему происходит зависание импорта привязок?

PS Импорт привязок для других существующих приложений работает нормально.Если я изменю версию сборки на единственной оркестровке в файле привязок на недопустимую, импорт будет работать нормально, но, очевидно, приложение не будет работать, поскольку эта сборка не существует.

1 Ответ

0 голосов
/ 27 июня 2018

Наконец-то!Благодаря некоторым, хотя и провоцирующим идеям из Dijkgraaf, все заработало.

Короткая версия: Запустите агент SQL на окне CI.

Оказывается, у нас есть следующие опции отслеживания для оркестровки вфайл привязок:

TrackingOption="ServiceStartEnd MessageSendReceive InboundMessageBody OutboundMessageBody OrchestrationEvents TrackPropertiesForIncomingMessages TrackPropertiesForOutgoingMessages"

Если бы этот список был перегружен до:

 TrackingOption="ServiceStartEnd MessageSendReceive OrchestrationEvents"

... импорт работал бы.Это заставило меня подумать, что это проблема инфраструктуры отслеживания, побуждающая меня проверять задания агента SQL, которые выполняют обслуживание.Поскольку это агент CI, и на самом деле ничто не использует BizTalk функционально, ничто не заботится о том, чтобы проверить работоспособность BizTalk.

После запуска агента и предоставления заданиям возможность выполнять свою работу, импорт исходного файла привязок работает следующим образом.сон.

Надеюсь, это кому-нибудь поможет.

...