JMS jest neutralnym dla dostawcy interfejsem API do przesyłania wiadomości w przestrzeni Java. Misją AMQP jest "stać się standardowym protokołem dla współdziałania wszystkich programów pośredniczących do przesyłania wiadomości". Szukam implementacji klienta JMS, która jest współdziałająca między dostawcami AMQP. W szczególności byłoby miło, gdyby mógł porozmawiać z RabbitMQ lub Qpid.Czy istnieje interfejs API/klient JMS, który współpracuje ze wszystkimi brokerami AMQP?
Odpowiedz
Klient Qpid JMS (który dla uniknięcia wysiłku, tak samo jak kod klienta OpenAMQ JMS) koduje JMS w AMQP 0-9-1. Nie mogę mówić o jakości klienta, ale powinno to działać zarówno w przypadku wydania Qpid Java, jak i RabbitMQ.
Nie będzie to jednak całkowicie bezstratne kodowanie - w JMS istnieją pewne elementy interfejsu API, które nie przenoszą się do AMQP. Qpid może mieć podkładki dla tych; RabbitMQ w zasadzie tego nie robi. Myślę konkretnie o "nolocal" i selektorach. Są prawdopodobnie inne.
(Faktycznie to/rodzaj/robi selektorów za pomocą AMQP wymiany nagłówka, ale wyniki mogą nie być czego można oczekiwać od JMS)
Jest próbą stworzenia klienta JMS, który używa AMQP 1.0. Ale nie ma żadnych wydań Qpid ani RabbitMQ, które obsługują AMQP 1.0, który jest przecież zupełnie innym protokołem niż 0-9-1 i inne wcześniejsze wersje.
Sam Qpid ma klienta JMS. Nigdy nie używałem go, ale jest tutaj wymienione pod AMQP API Client
Niedawno korzystałem z biblioteki klienta Apache Qpid (qpid-client-0.32-bin.tar.gz) z RabbitMQ (AMQP 0-9-1) i działało bardzo dobrze.
Jeśli chcesz połączyć się AMQP 1,0 Broker należy użyć tego Qpid lib (apache-qpid-JMS-0.1.0-bin.tar.gz)
Oba libs można pobrać stąd: http://qpid.apache.org/download.html
- 1. Osiągnięcie JMS/AMQP wzory wykorzystujące wiadomości Redis
- 2. Czy istnieje parametr, którego można użyć w Javie, który działa ze wszystkimi dla każdej pętli?
- 3. Używanie istniejących bibliotek JMS z brokerem AMQP (RabbitMQ)
- 4. Czy istnieje interfejs kolekcji .NET, który uniemożliwia dodawanie obiektów?
- 5. Łączenie kapsuł ze wszystkimi celami
- 6. Udostępnianie NavigationView ze wszystkimi działaniami?
- 7. Czy pocieszenie jms implementuje specyfikację JMS 2.0?
- 8. Grupy komunikatów w RabbitMQ/AMQP
- 9. svn jasne projekty ze wszystkimi wersjami
- 10. Klon element ze wszystkimi jego zdarzeniami
- 11. Implementacja AMQP C++
- 12. Czy istnieje biblioteka IMAP Haskell, która współpracuje z TLS?
- 13. Czy istnieje interfejs API Google Photos
- 14. Jak zabić aplikację ze wszystkimi jej działaniami?
- 15. Python Windows Installer ze wszystkimi zależnościami?
- 16. Czy istnieje biblioteka dla kwaternionów i macierzy ze wszystkimi standardowymi operacjami?
- 17. ORA-01008 ze wszystkimi zmiennymi związany
- 18. Czy istnieje interfejs API czujnika Java SE?
- 19. Jak stworzyć Guida ze wszystkimi elementami zerowymi?
- 20. Czy istnieje tekstowy interfejs użytkownika mysql?
- 21. Czy istnieje interfejs API zakładek Chrome?
- 22. Czy istnieje interfejs API dla stumbleupon?
- 23. Czy istnieje wyrafinowany interfejs API Java WorkQueue?
- 24. Czy istnieje istniejący interfejs API Google+?
- 25. Czy istnieje interfejs API Google Insights?
- 26. Jak sprawdzić, czy kolejka JMS istnieje przy użyciu języka Java?
- 27. Wbudowany broker Java AMQP
- 28. Błąd serializatora JMS, gdy właściwość nie istnieje
- 29. JMS rollback
- 30. Interfejs API RESTful ze skojarzeniami
Przyjęta odpowiedź jest stara, teraz oferuje klient zgodny z formatem 1,0. – r590