Heim  >  Artikel  >  Java  >  Was ist eine Sitzung? Warum Session-Beans verwenden?

Was ist eine Sitzung? Warum Session-Beans verwenden?

PHP中文网
PHP中文网Original
2017-06-21 10:14:222057Durchsuche

URL meines Blogartikels

Was ist eine Sitzung

Die Verbindung zwischen dem Client und dem Server innerhalb eines begrenzten Zeitraums

Warum Session Beans verwenden

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

Spezifikation der Session-Bean

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

Geschäftsschnittstelle

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

Zustandslose Session-Bean

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

Stateful Session Bean

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

Beste Implementierung von Session Beans

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Java-Basis-String-KlasseNächster Artikel:Java-Basis-String-Klasse