3 Stimmen

Wie man programmgesteuert eine Verbindung zu einem eingebetteten HornetQ-Server herstellt

Ich führe einen eingebetteten HornetQ-Server auf einem OSGI-Container aus, basierend auf einem Beispiel für den eingebetteten HornetQ-Kern.

Ich habe drei OSGI-Container: einen für den Server, einen für einen Produzenten und einen letzten für einen Verbraucher. Alles funktioniert lokal.

Der Code, den ich sowohl im Produzenten als auch im Verbraucher zum Verbinden mit dem Server verwende, lautet wie folgt:

// Schritt 4. Da wir keine JNDI-Umgebung verwenden, instantiieren wir die Objekte direkt
ServerLocator serverLocator = HornetQClient.createServerLocatorWithoutHA(new TransportConfiguration(NettyConnectorFactory.class.getName()));
ClientSessionFactory sf = serverLocator.createSessionFactory();

Ich habe versucht, die Methoden der TransportConfiguration anzusehen, aber kein Setter wurde gefunden.

2voto

Clebert Suconic Punkte 5266

Sie müssen Parameter an die Transportkonfiguration übergeben:

Map parameters = new HashMap();
parameters.put("port", org.hornetq.core.remoting.impl.netty.TransportConstants
                      .DEFAULT_PORT);
parameters.put(TransportConstants.HOST_PROP_NAME, "127.0.0.1");

TransportConfiguration configuration = new TransportConfiguration(
        NettyConnectorFactory.class.getName(), parameters);

Beachten Sie, dass Sie dasselbe auch für den NettyAcceptor tun könnten. Ich bin mir nicht sicher, wie Sie die Acceptor in Ihrem Test konfigurieren.. aber ich hoffe, Sie verstehen die Idee.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X