Dieses Projekt implementiert ein verteiltes System zur Simulation eines Aktienmarkts. Ein zentraler Broker (JmsBrokerServer) verwaltet eine Liste von Aktien und stellt einen ActiveMQ-Server zur Kommunikation bereit. Clients (JmsBrokerClient) können sich registrieren, Aktien kaufen, verkaufen oder Informationen abfragen.
- Java (Version 17 oder höher)
- Apache ActiveMQ
- Lade Apache ActiveMQ herunter und entpacke es.
- Öffne ein Terminal und navigiere in das
activemq-Verzeichnis. - Starte den ActiveMQ-Server mit folgendem Befehl:
./bin/activemq startStelle sicher, dass der Server unter tcp://localhost:61616 erreichbar ist.
In der Datei conf/activemq.xml sollte folgende Zeile angepasst werden, um zu vermeiden, dass Nachrichten beim Shutdown verloren gehen:
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" persistent="true">- Führe
skeleton.code.broker.JmsBrokerServeraus.
- Führe
skeleton.code.client.JmsBrokerClientmehrmals aus. - In IntelliJ kann die Datei mehrmals parallel ausgeführt werden, oder in mehreren Terminals.
- Beim Start des Clients wird der User nach einem Namen gefragt, z.B.
Client 1. - Es wird empfohlen, den Namen danach beim Server mit
registerzu registrieren.
| Kommando | Beschreibung |
|---|---|
register |
Registriert Namen beim Server; Input-/Outputqueues werden erstellt |
quit |
Beendet Verbindung und Client |
list |
Liste aktueller Stocks, verfügbare Anzahl und Preis |
buy [stock] [anz] |
Kauft verfügbare Stocks bei genügend Geld |
sell [stock] [anz] |
Verkauft verfügbare Stocks |
watch [stock] |
Empfängt Veränderungen in Verfügbarkeit des gewählten Stocks |
unwatch [stock] |
Wird von Watchlist entfernt |
info [stock] |
Aktuelle Informationen zu verfügbaren Anzahl und Preis des Stocks |
portfolio |
Zeigt Liste gekaufter Stocks an |
watching |
Zeigt Liste der hinzugefügten Watchlists an |
Viel Erfolg beim Testen & Verstehen!