EJB: Eine Remote Bean soll eine Local Bean ansprechen und dem Client übergeben

Diskutiere EJB: Eine Remote Bean soll eine Local Bean ansprechen und dem Client übergeben im Application Tier Forum; Hallo! Ich habe mich die letzten Tage mit EJB und JBoss befasst. Mittlerweile pack ich es nach der JNDI-Norm meine Remote Beans anzusprechen...

  1. virtuellesNugat
    virtuellesNugat Neues Mitglied
    Hallo!

    Ich habe mich die letzten Tage mit EJB und JBoss befasst.
    Mittlerweile pack ich es nach der JNDI-Norm meine Remote Beans anzusprechen (lookup & invoke). Aber ich hätte es gerne, dass ich auf dem Server eine Remote Bean habe, welche eine Local Bean anspricht. Nehmen wir mal an, dass die Local Bean über eine Methode den String "Hello World" zurückgibt. Die Remote Bean soll dann eine Methode bereitstellen, welche die lokale Bean anspricht und dort die Helloworld-Methode benutzt und das Ergebnis an den aufrufenden Client zurückliefert.

    Der JNDI Name für den Remote-lookup wird so gebildet:
    Code (Java):
    final String fullJndiName = "ejb:" + appName + "/" + moduleName + "/"
        + distinctName + "/" + beanName + "!" + viewClassName;
    Wie baue ich den Lookup für eine lokale Bean auf?

    Außerdem erstelle ich ja den SessionContext (per Hilfsmethode):
    Code (Java):
    // Hashtable für Verbindungsdetails aufsetzen
    Hashtable p = new Hashtable();
    // nur den notwendigen Parameter setzen, die anderen werden bezogen
    p.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
    // Context erstellen und zurückgeben
    return new InitialContext(p);
    Dabei wird auf die jboss-ejb-client.properties zurückgegriffen, welche sich im Classpath befindet und die weiteren Verbindungsparameter bereitstellt.

    Hier sehe ich ein weiteres Problem: Solange der Client die Remote Bean aufruft funktioniert alles tadellos. Sobald dann aber die Remote Bean die loakle Bean nutzen möchte, können die Verbindungsinformationen ja nicht mehr stimmen oder? Denn der JBoss läuft auf einer virtuellen Maschine und somit nicht auf dem localhost.

    Kann mir da jemand weiterhelfen? Ich bin jetzt schon seit 3 Tagen auf diesem Problem gestrandet :(
    Danke!
     
  2. Vielleicht hilft dir dieser Kurs hier weiter --> (hier klicken)
  3. virtuellesNugat
    virtuellesNugat Neues Mitglied
    Okay der Jndi-Lookup über den Context ist wohl nur für Remote-Aufrufe gedacht.

    Um auf die LocalBean zugreifen zu können bediene ich mich einfach der Dependency Injection und alles ist gut :)
     
  4. FArt
    FArt Neues Mitglied
    Ja... und wenn du doch mal selber einen Lookup machen möchteste, dann erstelle einfach einen parameterlosen InitialContext... der JBoss kennt seine eigenen Parameter schon ... ;-)
     
Die Seite wird geladen...

EJB: Eine Remote Bean soll eine Local Bean ansprechen und dem Client übergeben - Ähnliche Themen

Remote Debugging einer .jar
Remote Debugging einer .jar im Forum IDEs und Tools
Mssql_connect () Kann keine Verbindung zum Server mit dem Remotehost vom PHP-Hosting her herstellen
Mssql_connect () Kann keine Verbindung zum Server mit dem Remotehost vom PHP-Hosting her herstellen im Forum HTML / CSS / JScript / AJAX
Remote Application Platform - Fragen über Fragen und keiner weiß nichts genaues
Remote Application Platform - Fragen über Fragen und keiner weiß nichts genaues im Forum Plattformprogrammierung
GIT remote Problem keine Synchronisation
GIT remote Problem keine Synchronisation im Forum IDEs und Tools
Nexus-Hosting - Keine Remote-Suche im Repo?
Nexus-Hosting - Keine Remote-Suche im Repo? im Forum Deployment
Thema: EJB: Eine Remote Bean soll eine Local Bean ansprechen und dem Client übergeben