3 Stimmen

Wie registriere ich einen Server in der Standard-RMI-Registrierung für JBoss und greife von einem Client, der in einer anderen JVM läuft, auf ihn zu?

Ich versuche, auf eine Kaninchen Repository, das auf einer JBoss Anwendungsserver über RMI.

Ich erhalte die folgende Ausnahme, wenn ich versuche, mit ClientRepositoryFactory.getRepository('rmi://xxx.xxx.xxx.xxx:1099/imageserver') eine Verbindung mit der Fabrik herzustellen. Aber wenn ich eine Webanwendung erstelle, die eine neue RMI-Registry auf dem Server mit einem anderen Port startet und Jackrabbit in dieser neuen Registry registriert, funktioniert es.

Allerdings muss ich dies mit der minimalen Optimierung der Standard-JBoss-Konfiguration zum Laufen bringen. Kann jemand etwas Licht auf die Ursachen für das Problem werfen. Ich habe an anderer Stelle viele Beiträge zu diesem Thema gesehen, und wir haben alle plausiblen (und viele nicht plausible) Lösungsvorschläge ausprobiert.

org.apache.jackrabbit.rmi.client.RemoteRuntimeException: java.rmi.ConnectIOException: non-JRMP server at remote endpoint
    org.apache.jackrabbit.rmi.client.SafeClientRepository.getDescriptor(SafeClientRepository.java:81)
    com.btmatthews.freelancer.webapp.servlet.TestServlet.doGet(TestServlet.java:39)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
root cause

java.rmi.ConnectIOException: non-JRMP server at remote endpoint
    sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:230)
    sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
    sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322)
    sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
    java.rmi.Naming.lookup(Naming.java:84)
    org.apache.jackrabbit.rmi.client.ClientRepositoryFactory$1.getRemoteRepository(ClientRepositoryFactory.java:95)
    org.apache.jackrabbit.rmi.client.SafeClientRepository.getDescriptor(SafeClientRepository.java:77)
    com.btmatthews.freelancer.webapp.servlet.TestServlet.doGet(TestServlet.java:39)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X