# Was ist ein JMS Broker?



## Avalon (20. Jan 2021)

Sind das JMS API (Java Message Service Application Interface) und ein Message Broker (z.B. ActiveMQ Artemis) eher getrennt zu betrachten oder benutzt man "JMS Broker" umgangssprachlich um zu verdeutlichen, das der Broker auch von dem JMS angesteuert werden kann. Wie ist das fachlich richtig? Im Netz ist viel zu finden, aber auch viel Widersprüchliches. "JMS Provider" für Massage Broker finde ich genauso bedenklich.


----------



## LimDul (20. Jan 2021)

JMS API: Eine Schnittstellen-Definition die definiert welche Methoden man implementieren muss, wenn man diese API anbieten will.
JMS Provider/JMS Broker: Eine konkrete Implementierung dieser Schnittstelle, die einer Anwendung damit Möglichkeit gibt Nachrichten über die JMS API zu verschicken.


----------



## Avalon (20. Jan 2021)

Angenommen man hat eine Spring Boot App (Client), die eine Nachricht an eine Queue in den Message Broker sendet. Wer ist dann was? Sind beide Provider? Da sie das JMS API implementieren?


----------



## LimDul (20. Jan 2021)

Du implementierst in Spring Boot die API nicht, du nutzt sie.


----------



## Avalon (20. Jan 2021)

Danke.


----------



## mihe7 (21. Jan 2021)

Genauso verhält es sich übrigens mit allen APIs bzw. Spezifikationen: JPA ist die API, Eclipselink und Hibernate sind Implementierungen. JAX-RS ist die API, Jersey und RESTeasy sind Implementierungen. CDI ist die API, Weld und OpenWebBeans sind Implementierungen usw. usf.


----------

