# BlazeDS + JMS + MDB: Das richtige Konzept?



## akkie (30. Jul 2009)

Hallo,

ich bin ganz neu in der Java Welt und habe Probleme das richtige Konzept zu finden. Bei der Fülle an verschiedenen Konzepten/Möglichkeiten fällt es einen auch nicht leicht.;(

Zum Szenario:
Ich möchte einen Chat implementieren. Auf dem Client soll eine Flash(Flex) Anwendung laufen die über AMF mit einem BlazeDS Server kommuniziert. Als Servlet-Container nutze ich den Tomcat. BlazeDS habe ich so Konfiguriert das es ActiveMQ nutzt. Bis hierhin läuft alles wunderbar.

Jetzt möchte ich mich auf dem Server in das gleiche JMS Topic einklinken welches der BlazeDS Server nutzt um die Messages abzugreifen die vom Client gesendet werden.

Was gibt es hier für Möglichkeiten?

Ich habe bis jetzt 2 ausfindig machen können.
1. Ein Message - Driven Bean:
Zu Testzwecken habe ich mir hier OpenEJB installiert. Scheitere aber am Verständnis. Mein vorgehen bisher war ein einfaches Bean zu erstellen

```
@MessageDriven(mappedName = "jms/topic/flex/simpletopic")
public class JMSBean implements MessageListener
{	
	public void onMessage(Message inMessage)
	{
		TextMessage msg = null;
		try {
			msg = (TextMessage) inMessage;
			System.out.println("Message received : " + msg.getText());
		} catch (JMSException e) {
			e.printStackTrace();
		}
	}
}
```
Wird das Bean jetzt beim start des Tomcats automatisch geladen oder muss ich das konfigurieren? Ich habe dafür keine Doku gefunden die mir das ausreichend erläutert.

Die 2. Möglichkeit die mir einfällt ist ein TopicListener zu programmieren. Hier stehe ich vor dem gleichen Problem. Wie starte ich den Listener. Muss ich mir dazu einen neues Servlet erstellen oder kann ich das ganze mit dem MessageBrokerServlet vom BlazeDS starten?

Ist eines von den Beiden das richtige Konzept oder würdet ihr einen ganz anderen Weg gehen?

Mfg Akkie


----------



## FArt (31. Jul 2009)

Die Frage kann man m.E. nicht pauschal beantworten, solange man die Randbedingungen gar nicht kennt. 

* Ist denn JMS prinzipiell geeignet? Kann der erwartete Durchsatz / Traffic damit erreicht werden? Ist die Infrastuktur für JMS geeignet (z.B. welches Übertragungsprotokoll soll verwendet werden)?
* Ist denn Tomcat dafür wirklich geeignet, oder wäre hier ein Applikationsserver besser? Oder reicht gar Spring schon aus?

Soll das ein kommerzielles Produkt werden oder willst du nur was ausprobieren?


----------



## akkie (31. Jul 2009)

Hallo,

der Chat soll in eine kleine bestehende, kommerzielle Community als Zusatzfeature eingebunden werden. Ob der erwartete Durchsatz /Traffic damit gehandhabt werden kann, kann ich noch nicht sagen da ich keinerlei Erfahrungswerte damit habe. Der BlazeDS Server kann mehrere hundert Verbindungen gleichzeitig aufrecht erhalten. Das reicht allemal.

JMS habe ich gewählt weil der BlazeDS Server schon von Haus aus Unterstützung dafür mit bringt und ich auch durable Topics realisieren kann.

Der Tomcat ist der einzige mit dem ich bisher Erfahrung sammeln konnte. Die Integration von OpenEJB habe ich mittlerweile auch hinbekommen. Skaliert den ein standalone Tomcat schlechter als ein Tomcat oder ähnlicher Servlet-Container in einem Applikationsserver? Oder geht es dir nur um die EJB Integration?

Mfg Akkie


----------



## FArt (31. Jul 2009)

akkie hat gesagt.:


> Die Integration von OpenEJB habe ich mittlerweile auch hinbekommen. Skaliert den ein standalone Tomcat schlechter als ein Tomcat oder ähnlicher Servlet-Container in einem Applikationsserver? Oder geht es dir nur um die EJB Integration?
> Mfg Akkie


Ja, ein Applicationserver skaliert in der Regel besser. Aber leider kann ich dir nicht weiterhelfen: eine Architekturbetrachtung ist nur sinnvoll, wenn entsprechende Anforderungen existieren.

Mein Tipp: wenn es keine Anforderungen und Erfahrungswerte gibt, mach erst mal weiter mit Umgebungen, mit denen du dich auskennst (OpenEJB läuft ja jetzt) und sammel mit dem Prototypen Erfahrung. Bei konkreten Problemen kann man dann Lösungen andenken, die dann aber u.U. auch lauten können: wechsel auf andere Serverimplementierungen.


----------



## akkie (3. Aug 2009)

OK. Vielen Dank für deine Hilfe.


----------

