Как установить постоянное исходящее соединение MLLP HL7 в WSO2?
Я создаю приложение, которое получает, обрабатывает и отправляет сообщения HL7 в рамках WSO2 Enterprise Integrator. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что при отправке сообщений HL7 (версия 2) на внешнюю платформу из прокси-службы WSO2 через стандартную конечную точку адреса моя служба закрывает соединение после успешной отправки сообщения. Внешняя платформа, которую я использую, ожидает постоянного соединения, поэтому, когда WSO2 закрывает соединение, оно предполагает, что что-то пошло не так, и на какое-то время блокирует любые дополнительные входящие соединения.
Что мне нужно от WSO2 - это то, что может установить постоянное исходящее соединение HL7, которое не закрывается после обработки сообщения.
Насколько я могу судить по примерам, представленным в документации WSO2, стандартный метод отправки сообщений HL7 - через конечную точку адреса и использование UL HL7, как такового:
<endpoint>
<address uri="hl7://localhost:20000"/>
</endpoint>
Это, в свою очередь, вызывает HL7TransportSender из модуля WSO2 Carbon Mediation, и вы действительно можете видеть, что connectionHub отсоединен после отправки сообщения.
Я удалил эту строку и снова скомпилировал этот компонент. Теперь соединение не закрыто, как предполагалось, однако соединение не используется повторно. Вместо этого, всякий раз, когда обрабатывается новое входящее сообщение HL7, прокси-служба WSO2, отправляющая исходящее сообщение, создает свое постоянное соединение, и через некоторое время достигается максимальное количество потоков для прокси-службы.
Я также пытался использовать процессор сообщений вместо прокси-службы в надежде, что он не сможет открывать новые соединения и использовать существующее, но поведение такое же, как и у прокси-службы.
Я хотел бы знать, как я могу заставить WSO2 повторно использовать существующий сервис или как я могу получить сервисы для повторного использования существующего connectionHub. Или, возможно, есть что-то еще, что я пропустил, и есть возможность установить постоянное исходящее соединение HL7, как и для входящих соединений HL7.