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.

Probleme mit JNDI

Empfohlene Antworten

Moin,

weiter gehts mit jee.

Folgendes Problem:

Ich habe ein ear-File (bla-1.0-SNAPSHOT.ear)

Wir benutzen momentan überall in den EJB-Anotation standards (also wir konfigurieren bisher nix.

Nun wollte ich gern auf ein EJB ber lookup zugreifen, was aber fehlschlägt. Da hab ich mir mal den JNDIView des JBoss angesehen und was seh ich da?

Vollkommen abartige Namen die aussehen als wären sie vom ear-File-Namen abgeleitet! ("bla-1.0-SNAPSHOT/BlaServiceImpl/local")

1.: Ist das normal?!

2.: Was muss ich tun, damit im JNDI nun "BlaServiceLocal" steht?

3.: Versucht hab ich bisher z.B. ohne Auswirkung @EJB(name="", interfaceLocal=, beanName="") (beanName allein mag der JBoss übrigens nicht, obwohl das in diversen Beispielen so aufgeführt ist)

Wenn ihr mehr Infos benötigt, sagts! Kann euch morgen auch gern noch die hässlichen Exceptions dazu geben.

Gruß,

Uschi

EJB 3.0 oder EJB 3.1?

EJB 3.1 ist der erste Standard, bei dem klar geregelt ist, welche JNDI-Namen vergeben werden müssen, wenn keine herstellerabhängigen Regeln greifen. Näheres hierzu weiß die Spezifikation (oder auch die Glassfish-Dokumentation, dort gibt es recht gute Artikel zum Thema JNDI).

Wenn es EJB 3.0 ist oder Du Deine Namen selbst vergeben willst, musst Du noch entsprechende Angaben machen. Bei EJB 3.0 gibt es meines Wissens nach herstellerabhängige Annotationen (ich habe hier immer mit dem herstellerabhängigen Deployment Descriptor gearbeitet), bei EJB 3.1 kann man (glaube ich, musst Du in der Spezifikation noch mal nachlesen) in der Annotation @EJB angeben, wie der JNDI-Name sein soll. Letzteres kann aber auch eine Besonderheit des Glassfish sein.

Schöne Grüße,

Peter

seht ihr, da fehlt schon die erste info.

das ganze läuft im jboss bzw beim testen im openejb container.

mir gehts vor allem um den hauptcode, nicht die tests. also jboss.

btw. es geht um ejb 3.1.2 also die neuere spezifikation. ich werd mal danach suchen.

wär aber auch nicht böse wenn mir das jemand einfach noch verrät ^^ links sind auch gern gesehn.

gruß,

uschi

Interessant ist z.B. der Blogeintrag von Ken Saks: Portable Global JNDI Names - Ken Saks's Blog

Weitere Informationen findest Du bei der Suche nach "java:global" bzw. den anderen durch die Spezifikation vorgegebenen Namen.

Und die Spezifikation: The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 318 -> speziell Kapitel 4.4

Die sollte sowieso die erste Anlaufstelle sein, weil alles andere immer schon interpretiert, verkürzt und anderweitig verfälscht ist.

Peter

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

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.