Ich arbeite zur Zeit an einem älteren Java-Code, der ohne App Server im Hinterkopf entwickelt wurde. Es ist im Grunde ein Bündel von "Blackbox-Code" mit einer Eingabe- und einer Ausgabeschnittstelle. Alles in den "Blackbox"-Klassen sind statische Datenstrukturen, die einen Zustand enthalten, der in bestimmten Zeitabständen (alle 10 Sekunden) durch Algorithmen verarbeitet wird. Die Blackbox wird von einer Hauptmethode aus gestartet.
Um dies für mich einfach zu halten, denke ich daran, die "Black Box" zu einem Singleton zu machen. Im Grunde genommen erhält jeder, der auf die Logik innerhalb der Blackbox zugreifen möchte, dieselbe Instanz. So kann ich Message Driven Beans als Input für die Blackbox verwenden und einen JMS Publisher als Output der Blackbox.
Was für eine schlechte Idee ist das? Irgendwelche Tipps?
Eine der größten Sorgen, die ich habe, ist, dass es im "Black Box"-Code Themen geben könnte, die mir nicht bekannt sind.
Gibt es so etwas wie "anwendungsspezifische Objekte" in EJB?
Anmerkung: Ich verwende Glassfish