diff --git a/VAR-JMS/bin/var/mom/jms/chat/ChatClient.class b/VAR-JMS/bin/var/mom/jms/chat/ChatClient.class index 6a5f6af..62293d7 100644 Binary files a/VAR-JMS/bin/var/mom/jms/chat/ChatClient.class and b/VAR-JMS/bin/var/mom/jms/chat/ChatClient.class differ diff --git a/VAR-JMS/bin/var/mom/jms/chat/Conf.class b/VAR-JMS/bin/var/mom/jms/chat/Conf.class new file mode 100644 index 0000000..d7c3b5b Binary files /dev/null and b/VAR-JMS/bin/var/mom/jms/chat/Conf.class differ diff --git a/VAR-JMS/src/var/mom/jms/chat/ChatClient.java b/VAR-JMS/src/var/mom/jms/chat/ChatClient.java index 24169f3..1a7f913 100644 --- a/VAR-JMS/src/var/mom/jms/chat/ChatClient.java +++ b/VAR-JMS/src/var/mom/jms/chat/ChatClient.java @@ -1,30 +1,27 @@ package var.mom.jms.chat; -import javax.jms.Connection; -import javax.jms.ConnectionFactory; -import javax.jms.Destination; -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.MessageConsumer; -import javax.jms.MessageListener; -import javax.jms.Session; -import javax.jms.TextMessage; +import javax.jms.*; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; +import java.util.Scanner; // Code aus JMS-Client mit Umbenennung des Typs von JMSClient zu ChatClient und Anpassung des packages public class ChatClient implements MessageListener { private Connection connection; private Session session; private MessageConsumer consumer; + private MessageProducer producer; public ChatClient() throws NamingException, JMSException { Context ctx = new InitialContext(); ConnectionFactory factory = (ConnectionFactory) ctx.lookup("ConnectionFactory"); - Destination queue = (Destination) ctx.lookup("var.mom.jms.chat.queue"); + Destination queue = (Destination) ctx.lookup(Conf.QUEUE); connection = factory.createConnection(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + + producer = session.createProducer(queue); + consumer = session.createConsumer(queue); consumer.setMessageListener(this); connection.start(); @@ -36,22 +33,39 @@ public class ChatClient implements MessageListener { if (message instanceof TextMessage) { TextMessage textMessage = (TextMessage) message; String messageText = textMessage.getText(); - String priority = textMessage.getStringProperty("Priority"); - System.out.println(messageText + " [Priority=" + priority + "]"); + String userName = textMessage.getStringProperty("Name"); + System.out.println(userName + ": " + messageText); } } catch (JMSException e) { System.err.println(e); } - } + public void sendMessage(String messageText, String userName) throws JMSException { + TextMessage textMessage = session.createTextMessage(); + + textMessage.setText(messageText); + textMessage.setStringProperty("Name", userName); + + producer.send(textMessage); + } + public static void main(String[] args) { - long wait = Long.parseLong(args[0]); + //long wait = Long.parseLong(args[0]); ChatClient node = null; + String userName = "Nastja"; try { node = new ChatClient(); - Thread.sleep(wait); - } catch (InterruptedException | NamingException | JMSException e) { + + while(true) { + Scanner keyboard = new Scanner(System.in); + //System.out.println("> "); + String messageText = keyboard.nextLine(); + System.out.println(""); + node.sendMessage(messageText, userName); + } + + } catch ( NamingException | JMSException e) { System.err.println(e); } finally { try { diff --git a/VAR-JMS/src/var/mom/jms/chat/Conf.java b/VAR-JMS/src/var/mom/jms/chat/Conf.java new file mode 100644 index 0000000..3eeeb78 --- /dev/null +++ b/VAR-JMS/src/var/mom/jms/chat/Conf.java @@ -0,0 +1,5 @@ +package var.mom.jms.chat; + +public class Conf { + public static final String QUEUE = "var.mom.jms.channel1"; +}