Skip to content

Repository files navigation

Stock Market Broker Hausaufgabe

Projektbeschreibung

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.

Voraussetzungen

  • Java (Version 17 oder höher)
  • Apache ActiveMQ

ActiveMQ starten

  1. Lade Apache ActiveMQ herunter und entpacke es.
  2. Öffne ein Terminal und navigiere in das activemq-Verzeichnis.
  3. Starte den ActiveMQ-Server mit folgendem Befehl:
./bin/activemq start

Stelle sicher, dass der Server unter tcp://localhost:61616 erreichbar ist.

Wichtiger Hinweis (persistente Speicherung)

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">

Projekt ausführen

1. JmsBrokerServer starten

  • Führe skeleton.code.broker.JmsBrokerServer aus.

2. Mehrere JmsBrokerClients starten

  • Führe skeleton.code.client.JmsBrokerClient mehrmals aus.
  • In IntelliJ kann die Datei mehrmals parallel ausgeführt werden, oder in mehreren Terminals.

Client-Name

  • Beim Start des Clients wird der User nach einem Namen gefragt, z.B. Client 1.
  • Es wird empfohlen, den Namen danach beim Server mit register zu registrieren.

Unterstützte Commands

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!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages