Heim >Java >javaLernprogramm >Was ist eine Sitzung? Warum Session-Beans verwenden?
URL meines Blogartikels
Die Verbindung zwischen dem Client und dem Server innerhalb eines begrenzten Zeitraums
Da die meisten EJB-Dienste speziell für Session Beans bereitgestellt werden
1. Parallelität und Thread-Sicherheit: Container nutzen viele Technologien, um automatisch sicherzustellen, dass sich Entwickler keine Sorgen machen müssen Parallelität oder Thread-Sicherheit Thread-Sicherheitsprobleme
2. Leistungserbringung von Fernverarbeitungs- und Webdiensten
3. Angelegenheiten und Sicherheitsmanagement
4. Abfangjäger
1. Verfügen Sie über mindestens eine Geschäftsschnittstelle (nicht erforderlich nach EJB3.1)
2. Session-Beans müssen konkret sein. Session-Beans können nicht als final oder abstrakt definiert werden
3. Die Session-Bean muss einen Konstruktor ohne Parameter haben
4. Sie können Geschäftsmethoden und Lebenszyklus-Callback-Methoden in der Session-Bean-Klasse oder der übergeordneten Klasse
definieren
5. Eine Session-Bean kann eine Unterklasse einer anderen Session-Bean oder eines anderen POJO sein. Wenn es sich um eine Unterklasse einer anderen Session-Bean handelt, werden die in der übergeordneten Klasse definierten Lebenszyklus-Callback-Methoden und Abhängigkeitsinjektionsanmerkungen von der aktuellen Bean-Klasse geerbt
6. Session-Bean-Methoden dürfen nicht mit „ejb“ beginnen. Alle Geschäftsmethoden müssen öffentlich sein und dürfen keine finalen oder statischen Methoden sein. Darüber hinaus müssen alle Eingabe- und Ausgabeparameter die Serialisierungsschnittstelle implementieren
1. Lokale Schnittstelle: @Local Kollaborative Vorgänge in derselben Containerinstanz (JVM)
2. Remote-Schnittstelle: @Remote Auf kollaborative Vorgänge in verschiedenen Containerinstanzen (JVM) wird über RMI
zugegriffen
3. Webdienst-Endpunktschnittstelle: @WebService gilt nur für zustandslose Beans und kann zustandslose Beans als SOAP-basierte Webdienste verfügbar machen
Umgang mit mehreren Geschäftsschnittstellen: Sie können dieselbe Schnittstelle nicht mit mehr als einer Zugriffstypanmerkung markieren. Sie können die übergeordnete Schnittstelle verwenden und dann die Unterschnittstelle erben, um Codeduplizierung zu vermeiden
Wird zum Modellieren von Aufgaben verwendet, die den Sitzungsstatus nicht beibehalten
Es gibt zwei Erstellungsmodi: Der eine ist das Pooling, bei dem der Container einen Session-Bean-Pool erstellt, eine entsprechende Anzahl von Session-Bean-Beispielen erstellt und diese verwaltet. Der andere ist der Singleton-Modus (erfordert nur EJB3.1 und spätere Versionen).
Anmerkung: @Stateless benachrichtigt den Container, dass diese Klasse eine zustandslose Bean ist, und der Container stellt der Bean automatisch Folgendes zur Verfügung: Parallelitätskontrolle, Thread-Sicherheit, Pooling, Transaktionsverwaltung und andere Dienste
Wird zum Modellieren von Aufgaben verwendet, die die Beibehaltung des Sitzungsstatus erfordern. Der EJB-Container behält den Sitzungsstatus für uns bei
Es muss eine mit @Remove
annotierte Methode vorhanden sein Hinweis: Wählen Sie Sitzungsdaten entsprechend aus und versuchen Sie, Daten zu verwenden, die weniger Ressourcen beanspruchen; denken Sie daran, Passivierung und Löschung zu verwenden
Alternative: Wenn es sich um eine Webanwendung handelt, verwenden Sie HttpSession, um den Status
beizubehalten
1. Wählen Sie den Session-Bean-Typ aus, ob es sich um eine Stateful-Bean oder eine Stateless-Bean handelt
2. Analysieren Sie den Session-Bean-Schnittstellentyp (@Local, @Remote)
3. Injizieren Sie keine Stateful-Session-Beans in Stateless-Session-Beans oder Servlets
4. Teilen Sie übergreifende Transaktionselemente auf (verwenden Sie Interceptor AOP zur Verarbeitung)
5. In Stateful Session Beans gespeicherte Datentypen (sorgfältig auswählen)
6. Stateful Session Beans müssen mit @Remove annotierte Methoden definieren
Das obige ist der detaillierte Inhalt vonWas ist eine Sitzung? Warum Session-Beans verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!