Подтвердить что ты не робот

Java и MSMQ

Мне было любопытно, есть ли у кого-нибудь предложения в библиотеке 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.

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

Любые предложения? Большое спасибо за любое время.

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

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