2016-11-30 9 views
1

I erfolgreich den Wildfly Server mit ActiveMQ als Strömungs konfiguriertWildfly 10 mit JMS (ActiveMQ)

<subsystem xmlns="urn:jboss:domain:messaging-activemq:1.0"> 
     <server name="default"> 
      <security enabled="false"/> 
      <http-connector name="http-connector" socket-binding="http" endpoint="http-acceptor"/> 
      <http-acceptor name="http-acceptor" http-listener="default"/> 
      <jms-queue name="UpdateQueue" entries="java:/jms/UpdateQueue java:jboss/exported/jms/UpdateQueue"/> 
      <connection-factory name="ConnectionFactory" entries="java:jboss/exported/jms/ConnectionFactory" connectors="http-connector"/> 
     </server> 
    </subsystem> 

Die Nachrichten/Senden Empfangen erfolgreich aus der Warteschlange Standard mit nativen javax.jms Implementierung.

Ich verwende die folgende Konfiguration, um auf die JMS-Warteschlange zum Senden/Empfangen zuzugreifen.

String EX_JNDI_FACTORY = "org.jboss.naming.remote.client.InitialContextFactory"; 
    String SERVER_URL = "http-remoting://127.0.0.1:8080"; 
    String JMS_FACTORY = "jms/ConnectionFactory"; 
    String QUEUE_NAME = "jms/UpdateQueue"; 

Die meiste Zeit die Nachricht dauerte zu lange Zeit zwischen Senden und Empfangen, manchmal ist es dauerte 3 Minuten zwischen den Sende- und die Nachricht erhalten, ich weiß nicht, der Grund für dieses Verhalten. Irgendwelche Ideen?

+0

Hallo Karim. Kannst du deine code + configs teilen, um eine MDB in Wildfly zu erstellen? Ich bin neu bei JBoss/wildfly und es fällt mir wirklich schwer, einen Beispiellauf zu machen. Das habe ich bis jetzt: https://gist.github.com/twimnox/0efea3bbfea53e6f8a49a2b82ed00537 Vielen Dank im Voraus! – Twimnox

Antwort

0

I-Klasse mehrere Male empfangen, ohne den Empfänger, die Sitzung und die Verbindung zu schließen. Ich habe den folgenden Code nach qreceiver.receive (0) hinzugefügt und alles läuft gut.

+1

Eine weitere wichtige Sache, die Sie beachten sollten, wenn Sie mit den JMS-APIs in einem Java EE-Container arbeiten, ist, dass der Container viele Implementierungsdetails für Sie verwaltet. Stellen Sie sicher, dass Sie eine Kopie des [JSR 345: Enterprise JavaBeansTM, Version 3.2 EJB Core-Verträge und Anforderungen] (http://download.oracle.com/otndocs/jcp/ejb-3_2-fr-spec/index.html) herunterladen) Dokumentieren und lesen Sie §16.3.5 "JMS API Requirements". Es gibt viele JMS-API-Aufrufe, die Sie nicht in einem Java EE-Container durchführen sollten, und dies bringt viele Leute in die Irre. –

Verwandte Themen