JeFi Geschrieben 19. Februar 2005 Geschrieben 19. Februar 2005 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 Zitieren
Peeter Geschrieben 19. Februar 2005 Geschrieben 19. Februar 2005 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. Zitieren
kingofbrain Geschrieben 20. Februar 2005 Geschrieben 20. Februar 2005 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 Zitieren
JeFi Geschrieben 21. Februar 2005 Autor Geschrieben 21. Februar 2005 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! Zitieren
JeFi Geschrieben 24. Februar 2005 Autor Geschrieben 24. Februar 2005 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 Zitieren
JeFi Geschrieben 1. März 2005 Autor Geschrieben 1. März 2005 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!??! Zitieren
kingofbrain Geschrieben 2. März 2005 Geschrieben 2. März 2005 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 Zitieren
JeFi Geschrieben 2. März 2005 Autor Geschrieben 2. März 2005 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!?!? Zitieren
kingofbrain Geschrieben 2. März 2005 Geschrieben 2. März 2005 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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.