JMS Message an JBOSS JMS senden

vadik

Grünschnabel
Hallo zusammen,
ich habe ein Problem mit dem Versenden von JMS Messages an einen JBOSS Message Broker. Die Applikation, die die Messages versenden soll, läuft nicht im JBOSS und verwendet ActiveMQ.
Wenn ich die Nachrichten an einen ActiveMQ Broker schicke klappt alles, wenn ich mit einem JBOSS JMS Client an JBOSS Nachrichten sende, klappt auch alles. Nur die beiden Teile kann ich nicht miteinander verbinden.

Die JBOSS JNDI Datei hat folgenden Inhalt:

java.naming.provider.url=jnp://localhost:1099
java.naming.factory.url.pkgs=org.jboss.naming:eek:rg.jnp.interfaces
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
jnp.socket.Factory=org.jnp.interfaces.TimedSocketFactory

Bei ActiveMQ verwende ich diese URL: tcp://localhost:1099
Das ist auch wahrscheinlich der Fehler, aber ich weiß nicht was ich hier eingeben soll.

Für Eure Hilfe wäre ich sehr Dankbar
 

Hallo Tom,
danke für Deine Antwort, den Beitrag habe ich gelesen und nachvollzogen, das klappt auch alles. Mein Problem ist,
dass ich die Messages aus ActiveMQ heraus zu JBOSS nicht verschicken kann. Der JBOSS Client generiert die ConnectionFactory aus JNDI:

Java:
QueueConnectionFactory connectionFactory = (QueueConnectionFactory) ctx
  				.lookup("ConnectionFactory");

Bei ActiveMQ sieht das dann so aus:
Java:
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(new URI("tcp://127.0.0.1:1099"));

 connection = connectionFactory.createQueueConnection();
 // hier passiert die Exception: javax.jms.JMSException: Unknown data type: 115
 session = connection.createSession(transacted, Session.AUTO_ACKNOWLEDGE);

und genau das scheitert bei mir, der kann keine Connection aufbauen. Ich habe es mit netstat -a überprüft und JBOSS lauscht tatsächlich auf dem Port.

Was mache ich falsch?
 
Hallo,

JMS als API Standard ist ja interoperabel.... jedoch nicht die konkreten Protokoll Implementierungen der Message Broker...ein JBoss MQ Client kann wunderbar mit einem JBoss MQ kommunizieren, da sie das gleiche Binär Protokoll sprechen... ein anderer Message Broker verwendet aber in der Regal auch ein anderes Binär Protokoll. Abhilfe schaffen hier solche Messaging Protokolle wie das Textbasierte Stomp
( http://stomp.codehaus.org/ ) das auch von Active MQ unterstützt wird.

Leider scheinbar noch nicht realisiert:
https://jira.jboss.org/jira/browse/JBMESSAGING-1406

AFAIK sollte man ActiveMQ auch so konfigurieren können des es mit JBoss MQ reden kann:
http://activemq.apache.org/integrating-apache-activemq-with-jboss.html

Gruß Tom
 
Hi Tom,
Danke für deine Antwort, leider hast du Recht und man muss tatsächlich ActiveMQ in JBoss einschläusen.
AFAIK sollte man ActiveMQ auch so konfigurieren können des es mit JBoss MQ reden kann:
http://activemq.apache.org/integrating-apache-activemq-with-jboss.html
Hier machen die das ja auch.

Das kann ich leider nicht bei mir anwenden, da ich JBoss nicht anfassen darf.
Also musste ich ActiveMQ rausschmeissen und JBoss Messaging Client verwenden, jetzt geht es.

Viele Grüße

Vadim
 

Neue Beiträge

Zurück