Hej everyone,
I've a ready java project. It's supposed to be a small online shop.
Therefore JMS is used.
Now I'm tryjing to make the project run on my pc.
Therefore I've installed ActiveMQ on my pc as descriped on the website:
http://activemq.apache.org/getting-started.html
I can run the server. Everything fine till this step.
The problem ist, that I can not figure out, how to make the projekt run
successfuly.
Here is the code for the sender:
package client;
import java.util.List;
import java.util.Map;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.ObjectMessage;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueReceiver;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.TemporaryQueue;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import client.requestCommand.BestellungAufgebenRequestCommand;
import client.requestCommand.BestellungStornierenRequestCommand;
import client.requestCommand.GetAlleArtikelRequestCommand;
import client.requestCommand.GetAlleBestellungenRequestCommand;
import client.requestCommand.GetEinzelneBestellungRequestCommand;
import client.requestCommand.GetKundendatenRequestCommand;
import client.requestCommand.IstKundeEingeloggtRequestCommand;
import client.requestCommand.LoginRequestCommand;
import client.requestCommand.LogoutRequestCommand;
import client.requestCommand.RequestCommand;
import
client.requestCommand.ueberpruefeObArtikelnummerInArtikelKarteiRequestCommand;
import
client.requestCommand.ueberpruefeObBestellnummerInBestellKarteiRequestCommand;
import model.Artikel;
import model.Bestellposition;
import model.Bestellung;
import model.Kunde;
import service.OrderManager;
/**
* @author
* Erstellungsdatum: 08.05.2014
* Repräsentiert die clientseitige OrderManager_JMS_Adapterklasse. Der
Client spricht über die Menu-Commands
* die OrderManagerJmsClientAdapter-Klasse an und ruft darüber
Request-Commands auf, welche dann in Form einer
* ObjectMessage über ActiveMQ zum Server geschickt werden.
* Die serverseitige OrderManager_JMS_Adapterklasse ist mit einem
Listener versehen und "horcht" ständig nach
* Anfragen. Sobald sie einen Request-Command bekommt führt sie bzw. der
enthaltene OrderManager diese Reqeust-
* Commands aus und sendet das Ergebnis wieder an die
JMS_Client_Adapterklasse zurück.
* Das Ergebnis gelangt dann so über den OrderManagerJmsClientAdapter
wieder zum Client-Menü.
*/
public class OrderManagerJmsAdapterClient implements OrderManager
private static final String DESTINATION = "queue/myQueue1";
private static final String USER = "guest";
private static final String PASSWORD = "guest";
private QueueConnectionFactory factory;
private Queue queue;
private QueueConnection connection;
private QueueSession session;
/**
* JNDI Kontext wird erzeugt, die ConnectionsFactory und Zieladresse
über den Namensdienst ausgelesen
* @throws NamingException
* @throws JMSException
*/
public OrderManagerJmsAdapterClient() throws NamingException,
JMSException
Context ctx = new InitialContext();
factory = (QueueConnectionFactory)
ctx.lookup("ConnectionFactory");
queue = (Queue) ctx.lookup(DESTINATION);
/**
* Die Verbindung zum Server wird aufgebaut. Eine Session und ein
Receiver werden erzeugt.
* Die zu ausführenden RequestCommands werden dann zum Server
geschickt.
* Es wird außerdem eine temporäre Queue für die Antwort erzeugt. Es
wird nun auf eine
* Antwort gewartet. Der Server wird die Antwort über die temporäre
Queue schicken.
* Am Schluss werden alle Ressourcen wieder freigegeben.
* @param command Der auszuführende RequestCommand
* @return response Die Antwort vom Server
*/
private Message MessageSendenUndWartenAufEmpfang(RequestCommand
command)
Message response = null;
TemporaryQueue tempQueue = null;
QueueReceiver receiver = null;
QueueSender sender = null;
try
connection = factory.createQueueConnection(USER, PASSWORD);
session = connection.createQueueSession(false,
Session.AUTO_ACKNOWLEDGE);
tempQueue = session.createTemporaryQueue();
sender = session.createSender(queue);
receiver = session.createReceiver(tempQueue);
connection.start();
ObjectMessage request = session.createObjectMessage();
request.setObject(command);
request.setJMSReplyTo(tempQueue);
sender.send(request);
response = receiver.receive();
catch (JMSException e)
e.printStackTrace();
finally
try
sender.close();
receiver.close();
tempQueue.delete();
session.close();
connection.close();
catch (JMSException e)
e.printStackTrace();
return response;
/**
* {@inheritDoc}
*/
public boolean bestellungAufgeben(Map<Integer, Integer>
artikelUndAnzahl)
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new
BestellungAufgebenRequestCommand(artikelUndAnzahl));
if ((Boolean) response.getObject())
return true;
catch (JMSException e)
e.printStackTrace();
return false;
/**
* {@inheritDoc}
*/
public Map<Integer, Bestellung> bestellungenAnzeigen()
Map<Integer, Bestellung> alleBestellungen = null;
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new GetAlleBestellungenRequestCommand());
alleBestellungen = (Map<Integer, Bestellung>)
response.getObject();
catch (JMSException e)
e.printStackTrace();
return alleBestellungen;
/**
* {@inheritDoc}
*/
public List<Bestellposition> getEinzelneBestellung(int
bestellnummer)
List<Bestellposition> alleBestellpositionen = null;
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new
GetEinzelneBestellungRequestCommand(bestellnummer));
alleBestellpositionen = (List<Bestellposition>)
response.getObject();
catch (JMSException e)
e.printStackTrace();
return alleBestellpositionen;
/**
* {@inheritDoc}
*/
public boolean bestellungStornieren(int bestellnummer)
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new
BestellungStornierenRequestCommand(bestellnummer));
if ((Boolean) response.getObject())
return true;
catch (JMSException e)
e.printStackTrace();
return false;
/**
* {@inheritDoc}
*/
public Kunde getKundendaten()
Kunde derKunde = null;
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new GetKundendatenRequestCommand());
derKunde = (Kunde) response.getObject();
catch (JMSException e)
e.printStackTrace();
return derKunde;
/**
* {@inheritDoc}
*/
public List<Artikel> getAlleArtikel()
List<Artikel> alleArtikel = null;
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new GetAlleArtikelRequestCommand());
alleArtikel = (List<Artikel>) response.getObject();
catch (JMSException e)
e.printStackTrace();
return alleArtikel;
/**
* {@inheritDoc}
*/
public boolean login(String userName, String passwort)
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new LoginRequestCommand(userName,
passwort));
if ((Boolean) response.getObject())
return true;
catch (JMSException e)
e.printStackTrace();
return false;
/**
* {@inheritDoc}
*/
public boolean logout()
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new LogoutRequestCommand());
if ((Boolean) response.getObject())
return true;
catch (JMSException e)
e.printStackTrace();
return false;
/**
* {@inheritDoc}
*/
public boolean istKundeEingeloggt()
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new IstKundeEingeloggtRequestCommand());
if ((Boolean) response.getObject())
return true;
catch (JMSException e)
e.printStackTrace();
return false;
/**
* {@inheritDoc}
*/
public boolean ueberpruefeObArtikelnummerInArtikelKartei(int
artikelnummer)
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new
ueberpruefeObArtikelnummerInArtikelKarteiRequestCommand(artikelnummer));
if ((Boolean) response.getObject())
return true;
catch (JMSException e)
e.printStackTrace();
return false;
/**
* {@inheritDoc}
*/
public boolean ueberpruefeObBestellnummerInBestellKartei(int
bestellnummer)
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new
ueberpruefeObBestellnummerInBestellKarteiRequestCommand(bestellnummer));
if ((Boolean) response.getObject())
return true;
catch (JMSException e)
e.printStackTrace();
return false;
Here I've got some problems:
tempQueue = session.createTemporaryQueue();
The method createTemporaryQueue() is undefined for the type QueueSession
sender = session.createSender(queue);
The method createSender(Queue) is undefined for the type QueueSession
receiver = session.createReceiver(tempQueue);
The method createReceiver(TemporaryQueue) is undefined for the type
QueueSession
ObjectMessage request = session.createObjectMessage();
-The method createObjectMessage() is undefined for the type QueueSession
Here is the code for the receiver:
package main;
import java.io.Serializable;
import javax.jms.JMSException;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueReceiver;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import client.requestCommand.RequestCommand;
import service.OrderManager;
/**
* @author
* Repräsentiert die serverseitige OrderManager_JMS_Adapterklasse.
* Die serverseitige OrderManager_JMS_Adapterklasse ist mit einem Listener
versehen und "horcht" ständig nach
* Anfragen. Sobald sie einen Request-Command bekommt führt sie bzw. der
enthaltene OrderManager diese Reqeust-
* Commands aus und sendet das Ergebnis wieder an die
JMS_Client_Adapterklasse zurück.
*/
public class OrderManagerJmsAdapterServer
private static final String DESTINATION = "queue/myQueue1";
private static final String USER = "guest";
private static final String PASSWORD = "guest";
private QueueConnectionFactory factory;
private Queue queue;
private OrderManager orderManager;
private QueueSession session;
private ObjectMessage objectRequest;
/**
* JNDI Kontext wird erzeugt, die ConnectionsFactory und Zieladresse
über den Namensdienst auslesen
* @param orderManager Der OrderManager
* @throws NamingException
* @throws JMSException
*/
public OrderManagerJmsAdapterServer(OrderManager orderManager) throws
NamingException, JMSException
this.orderManager = orderManager;
Context ctx = new InitialContext();
factory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
queue = (Queue) ctx.lookup(DESTINATION);
serverStartenUndaufEingehendeObjectMessagesWarten();
/**
* Die Verbindung zum Server wird aufgebaut. Eine Session und Receiver
wird erzeugt.
* Der Server horcht nach eingehenden Messages.
* @throws JMSException
*/
public void serverStartenUndaufEingehendeObjectMessagesWarten() throws
JMSException
QueueConnection connection = factory.createQueueConnection(USER,
PASSWORD);
session = connection.createQueueSession(false,
Session.AUTO_ACKNOWLEDGE);
QueueReceiver receiver = session.createReceiver(queue);
connection.start();
System.out.println("----------Server gestartet----------");
while (true)
objectRequest = (ObjectMessage) receiver.receive();
kommandosAusfuehrenUndErgebnisZurueck((RequestCommand)
objectRequest.getObject());
/**
* Die einkommenden RequestCommands werden über den OrderManager
ausgeführt. Das Ergebnis
* wird dann über die vom Client erzeugte temporäre Queue zurück zum
Client gesendet.
* @param objekt
*/
private void kommandosAusfuehrenUndErgebnisZurueck(RequestCommand
objekt)
objekt.setOrderManager(orderManager);
Object objektAusfuehren = objekt.execute();
Queue tempQueue;
try
tempQueue = (Queue) objectRequest.getJMSReplyTo();
ObjectMessage response = session.createObjectMessage();
response.setObject((Serializable) objektAusfuehren);
QueueSender sender = session.createSender(tempQueue);
sender.send(response);
catch (JMSException e)
e.printStackTrace();
The method createReceiver(Queue) is undefined for the type QueueSession
QueueReceiver receiver = session.createReceiver(queue);
I would be very thanfull, if you could help me to fix the project.
I've uploaded the whole project on my dropbox. Check it out, if you like to
help me: https://www.dropbox.com/s/b4clafl4oun56mw/JMS_ACTIVEMQ.zip
Regards, Mirage16
I've a ready java project. It's supposed to be a small online shop.
Therefore JMS is used.
Now I'm tryjing to make the project run on my pc.
Therefore I've installed ActiveMQ on my pc as descriped on the website:
http://activemq.apache.org/getting-started.html
I can run the server. Everything fine till this step.
The problem ist, that I can not figure out, how to make the projekt run
successfuly.
Here is the code for the sender:
package client;
import java.util.List;
import java.util.Map;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.ObjectMessage;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueReceiver;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.TemporaryQueue;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import client.requestCommand.BestellungAufgebenRequestCommand;
import client.requestCommand.BestellungStornierenRequestCommand;
import client.requestCommand.GetAlleArtikelRequestCommand;
import client.requestCommand.GetAlleBestellungenRequestCommand;
import client.requestCommand.GetEinzelneBestellungRequestCommand;
import client.requestCommand.GetKundendatenRequestCommand;
import client.requestCommand.IstKundeEingeloggtRequestCommand;
import client.requestCommand.LoginRequestCommand;
import client.requestCommand.LogoutRequestCommand;
import client.requestCommand.RequestCommand;
import
client.requestCommand.ueberpruefeObArtikelnummerInArtikelKarteiRequestCommand;
import
client.requestCommand.ueberpruefeObBestellnummerInBestellKarteiRequestCommand;
import model.Artikel;
import model.Bestellposition;
import model.Bestellung;
import model.Kunde;
import service.OrderManager;
/**
* @author
* Erstellungsdatum: 08.05.2014
* Repräsentiert die clientseitige OrderManager_JMS_Adapterklasse. Der
Client spricht über die Menu-Commands
* die OrderManagerJmsClientAdapter-Klasse an und ruft darüber
Request-Commands auf, welche dann in Form einer
* ObjectMessage über ActiveMQ zum Server geschickt werden.
* Die serverseitige OrderManager_JMS_Adapterklasse ist mit einem
Listener versehen und "horcht" ständig nach
* Anfragen. Sobald sie einen Request-Command bekommt führt sie bzw. der
enthaltene OrderManager diese Reqeust-
* Commands aus und sendet das Ergebnis wieder an die
JMS_Client_Adapterklasse zurück.
* Das Ergebnis gelangt dann so über den OrderManagerJmsClientAdapter
wieder zum Client-Menü.
*/
public class OrderManagerJmsAdapterClient implements OrderManager
private static final String DESTINATION = "queue/myQueue1";
private static final String USER = "guest";
private static final String PASSWORD = "guest";
private QueueConnectionFactory factory;
private Queue queue;
private QueueConnection connection;
private QueueSession session;
/**
* JNDI Kontext wird erzeugt, die ConnectionsFactory und Zieladresse
über den Namensdienst ausgelesen
* @throws NamingException
* @throws JMSException
*/
public OrderManagerJmsAdapterClient() throws NamingException,
JMSException
Context ctx = new InitialContext();
factory = (QueueConnectionFactory)
ctx.lookup("ConnectionFactory");
queue = (Queue) ctx.lookup(DESTINATION);
/**
* Die Verbindung zum Server wird aufgebaut. Eine Session und ein
Receiver werden erzeugt.
* Die zu ausführenden RequestCommands werden dann zum Server
geschickt.
* Es wird außerdem eine temporäre Queue für die Antwort erzeugt. Es
wird nun auf eine
* Antwort gewartet. Der Server wird die Antwort über die temporäre
Queue schicken.
* Am Schluss werden alle Ressourcen wieder freigegeben.
* @param command Der auszuführende RequestCommand
* @return response Die Antwort vom Server
*/
private Message MessageSendenUndWartenAufEmpfang(RequestCommand
command)
Message response = null;
TemporaryQueue tempQueue = null;
QueueReceiver receiver = null;
QueueSender sender = null;
try
connection = factory.createQueueConnection(USER, PASSWORD);
session = connection.createQueueSession(false,
Session.AUTO_ACKNOWLEDGE);
tempQueue = session.createTemporaryQueue();
sender = session.createSender(queue);
receiver = session.createReceiver(tempQueue);
connection.start();
ObjectMessage request = session.createObjectMessage();
request.setObject(command);
request.setJMSReplyTo(tempQueue);
sender.send(request);
response = receiver.receive();
catch (JMSException e)
e.printStackTrace();
finally
try
sender.close();
receiver.close();
tempQueue.delete();
session.close();
connection.close();
catch (JMSException e)
e.printStackTrace();
return response;
/**
* {@inheritDoc}
*/
public boolean bestellungAufgeben(Map<Integer, Integer>
artikelUndAnzahl)
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new
BestellungAufgebenRequestCommand(artikelUndAnzahl));
if ((Boolean) response.getObject())
return true;
catch (JMSException e)
e.printStackTrace();
return false;
/**
* {@inheritDoc}
*/
public Map<Integer, Bestellung> bestellungenAnzeigen()
Map<Integer, Bestellung> alleBestellungen = null;
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new GetAlleBestellungenRequestCommand());
alleBestellungen = (Map<Integer, Bestellung>)
response.getObject();
catch (JMSException e)
e.printStackTrace();
return alleBestellungen;
/**
* {@inheritDoc}
*/
public List<Bestellposition> getEinzelneBestellung(int
bestellnummer)
List<Bestellposition> alleBestellpositionen = null;
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new
GetEinzelneBestellungRequestCommand(bestellnummer));
alleBestellpositionen = (List<Bestellposition>)
response.getObject();
catch (JMSException e)
e.printStackTrace();
return alleBestellpositionen;
/**
* {@inheritDoc}
*/
public boolean bestellungStornieren(int bestellnummer)
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new
BestellungStornierenRequestCommand(bestellnummer));
if ((Boolean) response.getObject())
return true;
catch (JMSException e)
e.printStackTrace();
return false;
/**
* {@inheritDoc}
*/
public Kunde getKundendaten()
Kunde derKunde = null;
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new GetKundendatenRequestCommand());
derKunde = (Kunde) response.getObject();
catch (JMSException e)
e.printStackTrace();
return derKunde;
/**
* {@inheritDoc}
*/
public List<Artikel> getAlleArtikel()
List<Artikel> alleArtikel = null;
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new GetAlleArtikelRequestCommand());
alleArtikel = (List<Artikel>) response.getObject();
catch (JMSException e)
e.printStackTrace();
return alleArtikel;
/**
* {@inheritDoc}
*/
public boolean login(String userName, String passwort)
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new LoginRequestCommand(userName,
passwort));
if ((Boolean) response.getObject())
return true;
catch (JMSException e)
e.printStackTrace();
return false;
/**
* {@inheritDoc}
*/
public boolean logout()
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new LogoutRequestCommand());
if ((Boolean) response.getObject())
return true;
catch (JMSException e)
e.printStackTrace();
return false;
/**
* {@inheritDoc}
*/
public boolean istKundeEingeloggt()
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new IstKundeEingeloggtRequestCommand());
if ((Boolean) response.getObject())
return true;
catch (JMSException e)
e.printStackTrace();
return false;
/**
* {@inheritDoc}
*/
public boolean ueberpruefeObArtikelnummerInArtikelKartei(int
artikelnummer)
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new
ueberpruefeObArtikelnummerInArtikelKarteiRequestCommand(artikelnummer));
if ((Boolean) response.getObject())
return true;
catch (JMSException e)
e.printStackTrace();
return false;
/**
* {@inheritDoc}
*/
public boolean ueberpruefeObBestellnummerInBestellKartei(int
bestellnummer)
try
ObjectMessage response = (ObjectMessage)
MessageSendenUndWartenAufEmpfang(new
ueberpruefeObBestellnummerInBestellKarteiRequestCommand(bestellnummer));
if ((Boolean) response.getObject())
return true;
catch (JMSException e)
e.printStackTrace();
return false;
Here I've got some problems:
tempQueue = session.createTemporaryQueue();
The method createTemporaryQueue() is undefined for the type QueueSession
sender = session.createSender(queue);
The method createSender(Queue) is undefined for the type QueueSession
receiver = session.createReceiver(tempQueue);
The method createReceiver(TemporaryQueue) is undefined for the type
QueueSession
ObjectMessage request = session.createObjectMessage();
-The method createObjectMessage() is undefined for the type QueueSession
Here is the code for the receiver:
package main;
import java.io.Serializable;
import javax.jms.JMSException;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueReceiver;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import client.requestCommand.RequestCommand;
import service.OrderManager;
/**
* @author
* Repräsentiert die serverseitige OrderManager_JMS_Adapterklasse.
* Die serverseitige OrderManager_JMS_Adapterklasse ist mit einem Listener
versehen und "horcht" ständig nach
* Anfragen. Sobald sie einen Request-Command bekommt führt sie bzw. der
enthaltene OrderManager diese Reqeust-
* Commands aus und sendet das Ergebnis wieder an die
JMS_Client_Adapterklasse zurück.
*/
public class OrderManagerJmsAdapterServer
private static final String DESTINATION = "queue/myQueue1";
private static final String USER = "guest";
private static final String PASSWORD = "guest";
private QueueConnectionFactory factory;
private Queue queue;
private OrderManager orderManager;
private QueueSession session;
private ObjectMessage objectRequest;
/**
* JNDI Kontext wird erzeugt, die ConnectionsFactory und Zieladresse
über den Namensdienst auslesen
* @param orderManager Der OrderManager
* @throws NamingException
* @throws JMSException
*/
public OrderManagerJmsAdapterServer(OrderManager orderManager) throws
NamingException, JMSException
this.orderManager = orderManager;
Context ctx = new InitialContext();
factory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
queue = (Queue) ctx.lookup(DESTINATION);
serverStartenUndaufEingehendeObjectMessagesWarten();
/**
* Die Verbindung zum Server wird aufgebaut. Eine Session und Receiver
wird erzeugt.
* Der Server horcht nach eingehenden Messages.
* @throws JMSException
*/
public void serverStartenUndaufEingehendeObjectMessagesWarten() throws
JMSException
QueueConnection connection = factory.createQueueConnection(USER,
PASSWORD);
session = connection.createQueueSession(false,
Session.AUTO_ACKNOWLEDGE);
QueueReceiver receiver = session.createReceiver(queue);
connection.start();
System.out.println("----------Server gestartet----------");
while (true)
objectRequest = (ObjectMessage) receiver.receive();
kommandosAusfuehrenUndErgebnisZurueck((RequestCommand)
objectRequest.getObject());
/**
* Die einkommenden RequestCommands werden über den OrderManager
ausgeführt. Das Ergebnis
* wird dann über die vom Client erzeugte temporäre Queue zurück zum
Client gesendet.
* @param objekt
*/
private void kommandosAusfuehrenUndErgebnisZurueck(RequestCommand
objekt)
objekt.setOrderManager(orderManager);
Object objektAusfuehren = objekt.execute();
Queue tempQueue;
try
tempQueue = (Queue) objectRequest.getJMSReplyTo();
ObjectMessage response = session.createObjectMessage();
response.setObject((Serializable) objektAusfuehren);
QueueSender sender = session.createSender(tempQueue);
sender.send(response);
catch (JMSException e)
e.printStackTrace();
The method createReceiver(Queue) is undefined for the type QueueSession
QueueReceiver receiver = session.createReceiver(queue);
I would be very thanfull, if you could help me to fix the project.
I've uploaded the whole project on my dropbox. Check it out, if you like to
help me: https://www.dropbox.com/s/b4clafl4oun56mw/JMS_ACTIVEMQ.zip
Regards, Mirage16