# Java JMS (ActiveMQ)



## Kr0e (4. Mrz 2010)

Hallo,

ich hätte da mal ein paar Fragen zu JMS.
Bin durch einen anderen Thread auf JMS (ActiveMQ Apache) gestoßen (Ich hatte davon zuvor noch nie was gehört) und
war sehr neugierig was genau das eigentlich ist...

Nach einigen Informationsbeschaffungen wirkt das auf den ersten Blick unglaublich gewaltig. Aber iwie
glaube ich auch, dass es sich lohnt sich da mal einzuarbeiten.

 - Macht JMS Sinn für Dateiübertragungen ?
 - Kann man mit JMS "Gruppen" von Clienten bedienen (Multichat- ähnlich) ?
 - Ist JMS zu "umfangreich" für den privaten Gebrauch ?
 - Womit ist der TCP-Transport geregelt ? NIO ?

Ich hoffe, ihr könnt mich da ein wenig erleuchten^^

Gruß,
Chris


----------



## FArt (4. Mrz 2010)

> - Macht JMS Sinn für Dateiübertragungen ?


Wenn die Übertragung asynchron erfolgen soll, ja.


> - Kann man mit JMS "Gruppen" von Clienten bedienen (Multichat- ähnlich) ?


Wenn eine Message auf einem Topic gepostet wird, dann werden alle Empfänger diese Nachricht erhalten, die auf diesem Topic registriert sind.


> - Ist JMS zu "umfangreich" für den privaten Gebrauch ?


Nein.


> - Womit ist der TCP-Transport geregelt ? NIO ?


Das ist abhängig von der Implementierung. Bei ActiveMQ weiß ich es nicht. Ist das relevant?


----------



## Kr0e (5. Mrz 2010)

Hmm es würde mich wegen der Skalierbarkeit interessieren, ob bei ActiveMQ NIO verwendet wird...

PS: Könntest du mir einen Provider (LGPL möglichst) empfehlen ? Oder ist ActiveMQ schon ziemlich gut ?


----------



## FArt (5. Mrz 2010)

Ich habe gute Erfahrungen mit JBoss Messaging und mit HornetQ gemacht. Beides läuft standalone oder mit einem JBoss.


----------



## Kr0e (5. Mrz 2010)

Alles klar, dann werde ich mal JBoss ausprobieren, hab gelesen, die JBoss Impl. soll wohl der schnell sein. Werde ich mal testen.
Ich muss ehrlich zugeben, ich verstehe im Moment agrnicht wo ich anfangen soll. Werde wohl noch einiges lesen müssen.

Gruß,
Chris


----------



## Kr0e (5. Mrz 2010)

Hmm, also hab mir jetzt mal HornetQ angeschaut... Und schon wieder weiß ich nicht, wo ich beginnen soll.

Mal ein paar generelle Fragen... Muss nur der Server eine Queue zur Verfügung stellen auf die die Clients dann connecten ? Wenn man JNDI nutzt, muss dann (Sofern der Provider nicht auf dem eigenen Rechner läuft) noch einen JNDI Server erstellen ?
Ich hab schon viel gelesen inzwischen, aber die Beispiele gehen nciht wirklich auf die fragen oder ich seh den Wald vor lauter Bäumen nicht  Kennt jemand ein schlankes Tutorial ? Mit simplen Beispielen ?

Gruß,
Chris


----------



## pal.pot.pamparius (2. Jun 2010)

Hallo,

ich poste das gleich mal hier hinein, da es sicherlich ganz leicht zu lösen ist. Ich habe mich jetzt mit JMS und ActiveMQ beschäftigt.

Wenn ich Messages in ein Topic schreibe und mit einem normalen Subscriber abhole, werden die auch wieder dequeued. Verwende ich stattdessen einen dauerhaften Subscriber, verbleiben sie in der Queue, obwohl ich sie empfangen und abgearbeitet habe (kein weiterer Subscriber ist am Topic registriert). Wie kann ich sicherstellen, dass die Messages irgendwann auch mal aus der Queue fliegen? Kennt das Problem jemand von euch?

Danke für Hilfe 


```
topicConnection = topicConnectionFactory.createTopicConnection();
topicConnection.setClientID(this.receiver);
topicSession = topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
// Messages verbleiben im Topic
topicSubscriber = topicSession.createDurableSubscriber(topic,this.receiver);
//Messages werden aus dem Topic entfernt
topicSubscriber = topicSession.createSubscriber(topic);
topicSubscriber.setMessageListener(this);
topicConnection.start();
```


----------



## julesnheymes (1. Jul 2011)

Frage von kr0e würde mich auch brennend interessieren....


----------

