G
Guest
Gast
Hallo,
ich bräuchte mal ein Cluster aus Hirnen, um ein Problem zu verarbeiten. Klinkt euch bitte ein.
Folgende Situation. Eine SSB (Stateless Session Bean) darf keinen Zustand halten, sonst wäre sie nicht stateless.
Wenn in einer Methode der SSB eine bestimmte Initialisierung immer wieder gleich ist und etwas Zeit braucht,
sagen wir mal zwischen 200 und 500ms, würde es sich anbieten, diese Initialisierung einmalig auszuführen und
das Ergebnis immer wieder zu verwenden (es ist eine Art Puffer mit Metadaten, die sich nach dem Laden nie ändern).
Soweit so gut.
Mache ich dies im Konstruktor, habe ich gleiche Objekte in verschiedenen Instanzen der SSB. Je nach Datenmenge
ist dies keine Lösung, da sich die SSBs die gleichen Daten teilen sollten und nicht sie vervielfachen.
Andere Möglichkeit wäre eine statische Initialisierung (Singleton von mir aus), static ist aber auf einem AS eher
politisch nicht korrekt...
Fällt euch noch eine Alternative ein? Wie kann man es erreichen, dass sich mehrere Statless Session Beans eine
und die gleiche Instanz einer bestimmten Klasse teilen. Es wird nur lesend darauf zugegriffen und nach einem
erneuten Deployment soll das ganze neu initialisiert werden (u.U. andere Daten).
Noch etwas. Das ganze ist im Kontext des Aufrufs einer SSB-Methode, aber nicht unbedingt direkt in der SSB
selbst, sondern ehmm... auf der Persistence-Ebene.
ich bräuchte mal ein Cluster aus Hirnen, um ein Problem zu verarbeiten. Klinkt euch bitte ein.
Folgende Situation. Eine SSB (Stateless Session Bean) darf keinen Zustand halten, sonst wäre sie nicht stateless.
Wenn in einer Methode der SSB eine bestimmte Initialisierung immer wieder gleich ist und etwas Zeit braucht,
sagen wir mal zwischen 200 und 500ms, würde es sich anbieten, diese Initialisierung einmalig auszuführen und
das Ergebnis immer wieder zu verwenden (es ist eine Art Puffer mit Metadaten, die sich nach dem Laden nie ändern).
Soweit so gut.
Mache ich dies im Konstruktor, habe ich gleiche Objekte in verschiedenen Instanzen der SSB. Je nach Datenmenge
ist dies keine Lösung, da sich die SSBs die gleichen Daten teilen sollten und nicht sie vervielfachen.
Andere Möglichkeit wäre eine statische Initialisierung (Singleton von mir aus), static ist aber auf einem AS eher
politisch nicht korrekt...
Fällt euch noch eine Alternative ein? Wie kann man es erreichen, dass sich mehrere Statless Session Beans eine
und die gleiche Instanz einer bestimmten Klasse teilen. Es wird nur lesend darauf zugegriffen und nach einem
erneuten Deployment soll das ganze neu initialisiert werden (u.U. andere Daten).
Noch etwas. Das ganze ist im Kontext des Aufrufs einer SSB-Methode, aber nicht unbedingt direkt in der SSB
selbst, sondern ehmm... auf der Persistence-Ebene.