Требуется ли HTTP-сервер (Jetty) для размещения верблюжьих маршрутов, обрабатывающих сообщения HL7
Я хочу создать слушателя HL7 на верблюде и обработать получаемые сообщения HL7. Я планировал использовать SpringBoot/dropwizard вместе с верблюдом для этой цели. Причина, по которой dropwizard уже используется в моей компании для создания успокоительных API, и я подумал о том, чтобы использовать их для создания маршрутов Camel также в качестве микросервисов. Мои вопросы
Сообщения HL7 принимаются с использованием MLLP(Mina или Netty) по TCP. Там нет никакого HTTP-участия. Так есть ли цель использовать такой сервер, как Jetty? Лучше использовать автономный верблюд?
Если в моем верблюжьем приложении нет никаких HTTP-запросов / слушателей, стоит ли мне использовать dropwizard/Springboot, так как эти платформы были созданы в основном для создания Restful API, то есть для HTTP-трафика?
1 ответ
Объявление 1)
Да, HTTP не задействован, и Camel использует Netty (предпочтительно) или Mina. Имейте в виду, что camel-mllp более устойчив, чем camel-hl7, в котором исправлены некоторые более сложные угловые случаи HL7. Смотрите файл readme: https://github.com/apache/camel/tree/master/components/camel-mllp
Объявление 2)
Вы можете отказаться от HTTP при весенней загрузке, просто у вас нет зависимости от -starter-web и отдельного приложения без HTTP. Просто учтите, что вам может понадобиться включить camel.springboot.main-run-controller=true
в application.properties
чтобы поддерживать работу JVM.
А с помощью Spring Boot или DropWizard и т. Д. У вас есть такое же развертывание и упаковка, как и у других приложений, вместо того, чтобы создавать что-то самостоятельно.