Как я могу отправлять сообщения в / из Websphere Message Broker от встроенного клиента C (без JVM)? - PullRequest
1 голос
/ 15 февраля 2010

Каковы мои варианты публикации паба (или точка-точка, но пабсуб лучше) для брокера сообщений IBM и от него из встроенного безликого C / C ++ linux-клиента, у которого нет JVM?

В идеале мы хотим большая передача файлов (2 ГБ один раз в день на выходных для клиента) шифрование (SSL) надежный («гарантированная» доставка / QoS2, возможно, QoS1 подойдет)

У рассматриваемого клиента в настоящее время есть только exes и некоторые bash-скрипты, я играл с MQTTv3 и RSMB, но для этого мне пришлось бы сжимать большие файлы (и собирать их дома), а я нет хочешь заняться этим, если есть транспорт, который сделает это для меня?

Я смотрел на MQTTv5 (но у нашего клиента нет JVM); JMS (без JVM) и XMS? который снова выглядит так, как будто он дает мне C API, но затем необходимо установить JVM на клиенте (или я ошибаюсь?)

любые подсказки или подсказки будут оценены, ура

Ответы [ 2 ]

1 голос
/ 27 апреля 2010

Почему бы просто не использовать API WMQ C / C ++? Установку клиента WMQ можно загрузить как SupportPac MQC7: клиенты WebSphere MQ V7.0 . Как только вы это сделаете, просто используйте C API и скомпилируйте как обычно . Это все базовые функциональные возможности базового продукта WMQ.

Обратите внимание, что WMQ V7 QMgr с клиентом WMQ v7 обеспечивает намного лучшее взаимодействие с JMS, WMQ Broker и т. Д., Поскольку все атрибуты сообщений теперь являются свойствами сообщений, а pub / sub изначально поддерживается в WMQ v7 QMgrs. Кроме того, по состоянию на сентябрь 2011 года выпуск v6 завершен, поэтому необходимо как можно больше новых разработок для компонентов v7, чтобы избежать миграции в дальнейшем.

1 голос
/ 01 марта 2010

Вы говорите об одном / нескольких крупных переводах или просто о большем количестве небольших переводов? Это говорит о потребностях вашего решения даже в большей степени, чем о необработанном подключении.

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

  1. отправка данных с помощью собственного (или любого другого) приложения в Linux в назначенное место назначения с использованием SCP или HTTPS или аналогичного средства, в основном просто публикуя данные.

  2. имеет поток МБ, который может обрабатывать данные и далее.

Если много мелких звонков, почему вы не можете сделать это через узел HTTP [S] в качестве заголовка вашего потока данных MB? Завершение и добавление данных в нативное приложение с HTTP POST не должно быть таким сложным, и должно быть много уже существующих «художественных» приемов, чтобы помочь вам.

...