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.

Enterprise Java Beans

Empfohlene Antworten

Veröffentlicht

Hi zusammen,

ich habe ein kleines Problem. Kann mir jemand das folgende erklären:

1 package ejb.HelloWorld;

2

3

4 import java.rmi.Remote;

5 import java.rmi.RemoteException;

6 import javax.ejb.*;

7

8 import java.util.*;

9

10 public interface HelloWorldHome extends EJBHome

11 {

12 public HelloWorld create() throws CreateException,

13 RemoteException;

14 }

warum steht in Zeile 12 hinter public HelloWorld? Ich weiss nur, dass HelloWorld der Name des Remote-Interfaces ist, aber warum steht das jetzt hier?

Danke und Gruß

ChrisP

Original geschrieben von ChrisP

Hi zusammen,

ich habe ein kleines Problem. Kann mir jemand das folgende erklären:

1 package ejb.HelloWorld;

2

3

4 import java.rmi.Remote;

5 import java.rmi.RemoteException;

6 import javax.ejb.*;

7

8 import java.util.*;

9

10 public interface HelloWorldHome extends EJBHome

11 {

12 public HelloWorld create() throws CreateException,

13 RemoteException;

14 }

warum steht in Zeile 12 hinter public HelloWorld? Ich weiss nur, dass HelloWorld der Name des Remote-Interfaces ist, aber warum steht das jetzt hier?

Danke und Gruß

ChrisP

Hallo,

das bedeutet, dass alle Klassen die das Interface HelloWorldHome implementieren, eine Methode mit dem Namen create beinhalten müssen.

Diese Methode gibt ein Object zurück, dessen Klasse das Interface HelloWorld implementieren muss.

Gruß Jaraz

Danke erstmal, aber hier noch ne andere Frage dazu:

Ich hab jetzt das Remote-Interface, das Home-Interface, die Bean selber, die ejb-jar.xml und die weblogic-ejb-jar.xml in ein .jar-Archiv zusammengefasst. Das klappt noch. Als nächsten Schritt will ich mit weblogic.ejbc dieses Archiv kompilieren. Aber ich bekomme eine Fehlermeldung NoClassDefFoundError. Woran kann das liegen? Ich habe ein sehr ähnliches Beispiel, bei dem es aber klappt. Irgendwelche Ideen?

Gruß

ChrisP

Genau kann ich es dir nicht sagen - den WebLogic kenne ich nicht. Aber vielleicht hast du in dem Deployment-Deskriptor (ejb-jar.xml) oder in der weblogic-ejb-jar.xml eine falsche Klasse definiert (oder falsch geschrieben).

Könnte aber auch sein, dass einfach dein Package-Name nicht ganz korrekt ist.

Solche Fehler sind pauschal meist nicht zu klären - da müsste schon alles vor sich haben....

Gruß

Snowghost

Der NoClassDefFoundError ist behoben. Jetzt allerdings nen neuer Fehler:

Beim compilieren des .jar-Archivs werden mehrere Files erzeugt, u. a. auch das File "NameBeanHomeImpl.java". In diesem File steht anstelle des Interface-Namen immer Package.Interface, und das findet er nicht. Weiss jemand vielleicht eine Lösung.

PS: Das Package hab ich schon geändert. Gibt es bestimmte Konventionen, aus welchem Verzeichnis man das .jar-Archiv kompilieren muss oder ähnliches?

Danke und Gruß

ChrisP

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.