2010-11-29 16 views
1

Ich entwickle einen kleinen Rechner mit EJB-Technologie, insbesondere JBoss Application Server und Eclipse als IDE.EJB Blockierung Lookup

Hashtable ht = new Hashtable(); 
ht.put(Context.PROVIDER_URL, "jnp://localhost:1090"); 
ht.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); 
Context jndiContext = new InitialContext(ht); 
calculator = (FacadeRemote) jndiContext.lookup("Facade"); 

Dies ist ein Ausschnitt des Codes ist, die ein bean nachzuschlagen versucht „Fassade“ genannt, ist das Problem, dass die Lookup-Methodenaufruf blockiert die Ausführung des Programms.

+0

Ja, was haben Sie erwartet? Ist Ihr Problem, dass es Ihre GUI blockiert, z. B. Swing App? –

+0

Das Problem ist, dass ich erwarte, dass nach der Suche ich einen Verweis auf eine Bean erhalten sollte, aber meine Anwendung (es ist keine grafische Anwendung) fest und die IDE reagiert noch. – pAkY88

Antwort

0

Der Jboss Namensservice läuft standardmäßig auf Port 1099, haben Sie ihn aus einem bestimmten Grund auf 1090 geändert?

Um dies weiter zu debuggen, können Sie versuchen, den Thread, in dem die Suche stattfindet, zu unterbrechen und uns diesen Thread-Dump zu senden.

Dies sind die Standard-jndi-Eigenschaften, die jboss verwendet (sie sind automatisch für Ihre App verfügbar, wenn Sie die erforderlichen jboss-Clientbibliotheken in Ihrem Klassenpfad haben).

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory 
java.naming.provider.url=jnp://localhost:1099 
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces 
+0

Ich benutzen einen falsch Port (1090) und jetzt benutze ich den richtig Port, 1099. Aber jetzt habe ich ein anderes Problem: javax.naming.NameNotFoundException: Fassade nicht \t an org.jnp.server.NamingServer gebunden. GetBinding (NamingServer.java:771) \t bei org.jnp.server.NamingServer.getBinding (NamingServer.java:779) \t bei org.jnp.server.NamingServer.getObject (NamingServer.java:785) \t bei org .jnp.server.NamingServer.lookup (NamingServer.java:443) Wie kann ich die Bean "Fassade" richtig nachschlagen? – pAkY88

+0

so das blockierende Nachschlageproblem wird durch Ändern der Portnummer gelöst? – ddewaele

+0

Entschuldigung, ich habe den Kommentar falsch eingegeben, also habe ich ihn bearbeitet. Bitte sieh es dir jetzt an, danke. – pAkY88