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)