Java и MSMQ - PullRequest
       11

Java и MSMQ

16 голосов
/ 03 февраля 2009

Мне было интересно, есть ли у кого-нибудь какие-либо предложения по библиотеке Java, которая предоставляет доступ к MSMQ? Я скачал пробную версию библиотеки J-Integra Java-COM и создал и запустил их пример приложения MSMQ, но мне было любопытно, есть ли хорошие (бесплатные :)) альтернативы. Я сталкивался с несколькими реализациями JNI, такими как jMSMQ и некоторыми другими, но я бы предпочел избегать JNI, если это возможно.

Мы также исследовали некоторые решения для взаимодействия .NET <-> JMS, такие как JNBridge (с ActiveMQ). Я думаю, что наша компания решила централизовать наши очереди в MSMQ, чтобы это было нашим идеальным решением.

Мы надеемся использовать WCF (netMsmq или msmqIntegration) на стороне .NET. Я немного обеспокоен тем, как сторона java будет работать с сообщениями WCF (двоичное кодирование), но там должны быть опции (customBinding с кодировкой текста и транспортом MSMQ?), Поэтому я не слишком беспокоюсь об этом. В основном беспокоит получение доступа к MSMQ в Java.

Другой наш вариант - просто поместить тонкий слой веб-сервиса во входной конец каждой очереди и добиться такого взаимодействия. Тем не менее, производительность немного беспокоит.

Есть предложения? Большое спасибо за чье-либо время.

Ответы [ 5 ]

11 голосов
/ 11 февраля 2009

Насколько я понимаю, J-Integra - единственная чистая Java-реализация MSMQ, т.е. это единственная альтернатива, если вы не работаете в Windows. (Пожалуйста, дайте мне знать, если есть другие альтернативы!)

Apache Camel и другие используют JNI для доступа к API Windows (файлам DLL), что, очевидно, означает, что это работает только в Windows.

В настоящее время я пытаюсь использовать приведенный здесь код http://www.codeplex.com/MsmqJava, который кажется простым в использовании, но я не совсем уверен, как работают транзакции.

3 голосов
/ 11 мая 2009

В CodePlex есть библиотека с открытым исходным кодом: MsmqJava . Бесплатно.

2 голосов
/ 17 декабря 2009

Вы также можете попробовать http://javamsmq.codeplex.com/, который также обеспечивает полное решение функциональной совместимости MSMQ JAVA. Кроме того, он имеет все функциональные возможности Unicode ASCII. В других открытых библиотеках на основе dll возникают проблемы с утечкой памяти, такие как сбой приложения. Но у этого открытого источника нет проблем с утечкой памяти.

2 голосов
/ 31 октября 2009

Я являюсь автором jni4net , внутрипроцессного моста с открытым исходным кодом между JVM и CLR. Он построен на основе JNI и PInvoke. Код C / C ++ не требуется. Я надеюсь, что это поможет вам.

1 голос
/ 03 февраля 2009

Обновление : Этот ответ больше не применяется к комментарию:

Компонент Camel msmq снят с производства: fusesource.com / форум / thread.jspa? MESSAGEID = 6040

Вы можете посмотреть, как это делает Apache Camel: Apache Camel: msmq

...