Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

J2EE Fragen zu Enterprise JavaBeans

Empfohlene Antworten

Veröffentlicht

Hallo!

Ich habe eine Frage zum Thema J2EE -> Enterprise JavaBeans.

1. Wie unterscheidet man Session Stateless und Session Stateful Beans?

(den Unterschied kenne ich aber wie sieht das ganze Quellcodetechnisch aus? Also implementieren sie zum Beispiel ein Stateless/ful Interface oder enthalten die Stateful Beans Objektvariablen?)

2. Wie läuft das mit den EntityBeans(Container/Bean Managed Persistence) bei der Speicherung in die DB genau aus und wie muss ich den Sun ApplicationServer einrichten?

vielen Dank im Voraus

Also zu 1).

Die Beans unterscheidet man nur durch eine xml-Datei (Descriptor der Bean) in der steht ob diese Bean Stateful oder Stateless ist. Mehr nicht. Die Interfaces die man implementieren muss, sind dabei die selben. Aber am besten besorgst du dir da mal Tutorials oder ein gutes Buch.

Bei 2) kann ich dir leider nicht helfen.

Servus,

leider gibst Du nicht viel Info, was Du genau wissen wilst.

Aber es ist prinzipiell so:

Du entscheidest Dich, entweder Deine Daten bean managed (also von Dir implementiert) oder container managed (dann macht der ejb-container das) zu persistieren.

Wenn Du es bean managed machen willst, dann legst Du selber - mit Hilfe von JDBC die Daten in der Datenbank ab, benutzt Transaktionen und sorgst für Konsistenz der Daten.

Wenn Du es den Container machen lasse willst (die bessere Alternative), dann erzählst Du dem Container, welche DB mit welchen Tabellen und daraus welche Attribute Du persistieren lassen willst. Das passiert im EJB-Container-abhängigen DeploymentDescriptor. Da ich den Sun Application Server nur von einer Schulung kenne aber nicht damit gearbeitet habe, kann ich Dir dabei nicht helfen, das steht dann in der Doku.

Du definierst des Weiteren Deine EntityBeans mit den Attributen, den zu implementierenden Methoden und legst den Plattformunabhängigen DeploymentDescriptor an (legt die Attribute fest, welche Klassen und Interfaces für die Bean da sind, was der Primary Key ist usw.).

Dann packst Du das Ganze, deployst es und gut.

Wenn Du wissen willst, wie der Container das macht, dann schau Dir einfach mal die Sourcen an, die sollten bei Sun ja vorhanden sein - ist ja eine Referenzapplikation.

Oder Du präzisierst Deine Frage, dann kann man vielleicht noch mal helfen.

Peter

Hallo!

Ja die Antwort ist genau das was ich hören bzw lesen wollte!

Also vielen dank für die rasche Hilfe hoffe das ich mir das jetzt alles richtig vorstellen kann!

Hi!

Kennt sich jemand mit dem Sun Application Server aus!?!

Möchte gerne das Beispiel von Sun (SavingsAccount Bean (Entity Bean (BMP))) durchprobieren. Habe aber das Problem das ich DB nicht ansprechen kann weiß auch nicht wirklich wie ich das im Application Server einrichte!?!?

Kann mir das vielleicht jemand beschreiben bzw hat ein gutes Tutorial für den Sun App Server!?!?

weitere Angaben es handelt sich um eine mysql DB

für tipps wäre ich sehr dankbar habe schon alles probiert

vielen Dank im Voraus

Hallo habe noch eine Frage zu den SessionBeans!

Also wenn man die Einstellung (ob Stateless oder Stateful) in der XML File vornimmt und im Quellcode nichts ändert in wie weit werden sie denn dann vom Application Server anders behandelt?

und kann somit mein HalloWorldBean einmal SL und SF sein!??!

Deine Instanzen werden insofern anders behandelt, als das der ApplicationServer bei einer Stateful Session Bean die Bean genau Deiner Session im Server zuweist. D.h. du arbeitest immer auf der selben Instanz der Bean. Bei einer Stateless Session Bean bekommst Du aus einem Pool einfach irgendeine Instanz.

Du kannst also bei einer Stateful Session Bean zwischen zwei Aufrufen Zustände speichern innerhalb der Bean, bei Stateless Session Beans nicht.

Bei einer HelloWorld-Bean sollte es relativ egal sein ob Stateful oder -less.

Peter

Achso habe das jetzt kapiert danke!

Aber habe jetzt wieder ein neues Problem und zwar will ich jetzt aus dem Netztwerk heraus auf meine Bean zugreifen wo muss ich im Client die Adresse des Servers angeben!?!? lookup?!?! wenn ja wo da genau!?!?

Die gibst Du in den jndi.properties an.

Schau mal auf java.sun.com in den Tutorials, dort steht, wo man die angeben kann.

Es gibt die Möglichkeit, ein File mit den Properties anzulegen, diese ins Programm einzucoden oder beim Programmstart mitzugeben.

Peter

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.