JNDI Verzeichnissbäume suchen

Status
Nicht offen für weitere Antworten.

BigBoss

Aktives Mitglied
hi,

Ich habe folgendes Problem.
Ich habe mir eine Klasse (Swing) geschrieben mit der ich mich an einem Verzeichnissdienst Anmelden kann.
Nun such ich noch eine Möglichkeit bei der Anmeldung mir alle Verfügbaren Bäume anzeigen zu lassen.
Also wer z.B. ein Novell netz hat der kann einfach beim Anmelden auf Bäume klicken und bekommt alle in der NDS angelegten Bäume angezeigt und kann sich dann einen Auswählen.
Ich hab leider nix gefunden mit dem ich eine Liste bekommen könnte, da ich bei jedem Zugriff über JNDI auf einen Verzeichnissdienst den Startcontext angeben muss was ja der Baum ist.

Hat jemand ne idee bzw eine Lösung?

Thx BB
 

Ullenboom

Bekanntes Mitglied
Wenn man den Context zu einem ganz speziellen Verzeichnisdienst hat, dann kann man den ja rekursiv nach Elemten mit Innerer Context (Sub-Kontext) ablaufen.

Für JBoss etwa:

Context ctx = new InitialContext();

for ( NamingEnumeration e = ctx.list("");
e.hasMore(); ) {
NameClassPair p = (NameClassPair) e.next();
System.out.println( "Name: " + p.getName() +
", Classname: " + p.getClassName() );
}

Ein Ausschnitt:

Name: jmx, Classname: org.jnp.interfaces.NamingContext
Name: UserTransactionSessionFactory, Classname: $Proxy12
Name: queue, Classname: org.jnp.interfaces.NamingContext
Name: topic, Classname: org.jnp.interfaces.NamingContext

und für Sub-Kontext:

Context nc = (Context) ctx.lookup( "queue" );
for (NamingEnumeration e = nc.list(""); e.hasMore();)


Ergebnis:

Name: A, Classname: org.jboss.mq.SpyQueue
Name: testQueue, Classname: org.jboss.mq.SpyQueue
Name: ex, Classname: org.jboss.mq.SpyQueue
Name: DLQ, Classname: org.jboss.mq.SpyQueue
Name: D, Classname: org.jboss.mq.SpyQueue
Name: C, Classname: org.jboss.mq.SpyQueue
Name: B, Classname: org.jboss.mq.SpyQueue
 

BigBoss

Aktives Mitglied
danke erstmal für deine Antwort.
Aber du hast die Frage etwas flasch verstanden.
Ich will nicht in einem Baum im Verzeichnissdienst nach irgendwlechen einträgen suchen, das hab ich schon drinn und ist kein problem. Ich möchte nach den Bäumen bzw nach den root contexten suchen also was als "dc" oder "o" bezeichnet wird und die Wurzel des ganzen bildet.

Gruß BB
 
M

MartinRuopp

Gast
http://www.java-forum.org/de/topic47981_jndi-verzeichnissb-ume-suchen.html

MartinRuopp

Das Problem erinnert so ein bisschen an das Problem von der Henne und dem Ei oder - um mehr mathematisch zu werden an die Russellsche Antinomie.
( siehe http://de.wikipedia.org/wiki/Russellsche_Antinomie )

JNDI ist ja bloß eine Ansammlung von Interfaces die auf einem - wie auch immer implementierten Baum - aufsetzen. Enweder gibt es einen Startkontext aller Startkontexte, dann müsste er auch auf sich selbst zeigen (und dann wäre der Baum kein Baum, weil er wieder auf den Startkontext zurückverweisen würde), oder es gibt ihn nicht, dann ist er auch kein Startkontext aller Startkontexte.

Neben allen Scherzen und mathematischen Spielereien ist es natürlich nicht bezweckt, alle Implementatione einer Interface-Fassade zu kennen, gerade darin liegt ja der Sinn einer Fassade aus Interface-Klassen: Programmierer können immer neue Implementationen des Interfaces erfinden.

Gruß,
Martin Ruopp

http://www.mruopp.de
 

BigBoss

Aktives Mitglied
jo dem ist wohl so. da beisst sich die katze in den schwanz.
aber es gibt mindestens bei novell die möglichkeit über slp die bäume abzufragen.
muss noch ein bissel suchen aber hab bis jetzt noch nix anständiges für slp gefunden.

Gruß BB
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben