Служба Ping в Apache Camel

Мы используем Apache Camel для нашего уровня интеграции. У нас есть несколько WebService, которые мы вызываем с помощью компонента camel-cxf. Все в порядке. Теперь наш клиент хочет выполнить службу ping перед вызовом WebService. Если служба ping не работает, запрос WebSevice отправляется на другую конечную точку. Juste нуждался в вашем предложении, есть ли у верблюда компонент, который действует как производитель TCP и выполняет службу ping для конечной точки TCP?

Спасибо!


person Leo Prince    schedule 23.08.2013    source источник


Ответы (1)


Вы можете использовать либо Netty, либо Mina компонент для простых соединений TCP или UDP (как производителя, так и потребителя).

Обратите внимание, что настоящий PING — это не TCP, а эхо-запрос ICMP, который является чем-то совершенно другим.

Если вам нужен быстрый тест, чтобы убедиться, что все в порядке, прежде чем делать вызов WS, я думаю, что очень простая служба HTTP-эхо должна служить этой цели намного лучше. Причина в том, что HTTP, как правило, использует другие пути, чем обычный TCP/UDP. т.е. прокси, брандмауэры, шлюзы и еще много чего. Чтобы убедиться, что вы можете выполнить свой запрос, лучше выполнить тест по тому же протоколу (хотя, возможно, несколько медленнее). У вас могут быть очень специфические требования — это всего лишь общий совет.

person Petter Nordlander    schedule 23.08.2013
comment
Netty была хорошим предложением для нас. Мы планируем использовать Netty. Спасибо! - person Leo Prince; 24.08.2013