CORBA Lookup in einem LAN hängt

Ist eine bestimmte Glassfish-Konfiguration erforderlich, um eine Remote-CORBA-Suche über ein LAN zu ermöglichen? Oder muss die Firewall des Routers möglicherweise konfiguriert werden?

Wie mache ich Problembehandlung diese Verbindung?

DasCORBA-Suchclient hängt nur:

BUILD SUCCESSFUL
Total time: 3 seconds
Nov 22, 2014 3:45:26 AM aggregatorclient.AggregatorClient remoteEJB
WARNING: {org.omg.CORBA.ORBInitialPort=3700, java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, Context.SECURITY_CREDENTIALS=pass123, org.omg.CORBA.ORBInitialHost=192.168.0.119, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, Context.SECURITY_PRINCIPAL=user1}

Wenn die Verbindung von localhost (dh von localhost, Verbindung zu localhost) ausgeführt wird und sich alles auf demselben Computer befindet, funktioniert die Verbindung einwandfrei.

Die CORBA-Verbindungssuchparameter injndi.properties:

java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
java.naming.factory.url.pkgs=com.sun.enterprise.naming
java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
Context.SECURITY_PRINCIPAL=user1
Context.SECURITY_CREDENTIALS=pass123
org.omg.CORBA.ORBInitialHost=192.168.0.119
org.omg.CORBA.ORBInitialPort=3700

der Code des Verbindungsclients:

package aggregatorclient;

import dur.ejb.AnswerSessionBeanRemote;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

public class AggregatorClient {

    private static final Logger log = Logger.getLogger(AggregatorClient.class.getName());

    public static void main(String[] args) {
        try {
            new AggregatorClient().remoteEJB();
        } catch (NamingException ex) {
            Logger.getLogger(AggregatorClient.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    private void remoteEJB() throws NamingException {
        Context ctx = new InitialContext();
        log.warning(ctx.getEnvironment().toString());
        Object obj = ctx.lookup("dur.ejb.AnswerSessionBeanRemote");
        AnswerSessionBeanRemote asbr = (AnswerSessionBeanRemote) obj;
        log.info("answer\t" + asbr.lifeTheUniverseAndEverything());
    }

}

DasKlien wird mit Glassfish @ ausgefühappclient.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage