From 91d6b78f5bd0755da837698171b320028f52f77f Mon Sep 17 00:00:00 2001 From: 3013050 <3013050@stud.hs-mannheim.de> Date: Wed, 5 Nov 2025 18:23:27 +0100 Subject: [PATCH] Finished chat --- VAR-JMS/bin/var/mom/jms/chat/ChatClient.class | Bin 3641 -> 4121 bytes VAR-JMS/bin/var/mom/jms/chat/Conf.class | Bin 0 -> 358 bytes VAR-JMS/src/var/mom/jms/chat/ChatClient.java | 46 ++++++++++++------ VAR-JMS/src/var/mom/jms/chat/Conf.java | 5 ++ 4 files changed, 35 insertions(+), 16 deletions(-) create mode 100644 VAR-JMS/bin/var/mom/jms/chat/Conf.class create mode 100644 VAR-JMS/src/var/mom/jms/chat/Conf.java diff --git a/VAR-JMS/bin/var/mom/jms/chat/ChatClient.class b/VAR-JMS/bin/var/mom/jms/chat/ChatClient.class index 6a5f6af2afa94f751ec26765a2f22986cf8d045d..62293d7d16888ed45a3e67fdb652e3cac6b53ef5 100644 GIT binary patch literal 4121 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 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 0000000000000000000000000000000000000000..d7c3b5bcae2a553ba5d9d2f22e30b552b232df76 GIT binary patch literal 358 zcmZusu};G<6uj3oX&YKvLMz0`1`M&7i&&~KMIcm~-3g|3lsHo2^uL&p82A7_3h`1Q zv9R3pozLfcU*8{}03s}W^xzE8AH#)5nB{UWMIp^rJf^wIEWx|gM%z1rb9t2vFeEJY zvKD1kio9$@wv$$@D)UNkpEl7ZA_VbY%G%c2Y?p)ydm1Z^O=QukAtr=5=Y*USa!$xO z#;D?k&|g(AiZG3}Q4ejIs`^=`1uH>ZWwJC*B1f<1s7ZzybIA9rSjvOc}dtz`=~Md%^~sAmB+j IW$a=80|Y=!kpKVy literal 0 HcmV?d00001 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"; +}