2016-11-15 2 views
0

최근 JBoss EAP 6.4 환경에서 Tomcat에서 완전히 작동 한 후에 내 응용 프로그램을 배포하는 것을 구현하려고 시도했지만 JBOSS에서는 잘못된 형식의 사용이 발생할 때마다 응용 프로그램은 RMI 호출 (특히 rmiio)을 수행 할 때 클라이언트에서 서버로 파일을 보내려고합니다. JBOSS MalformedURLException : 알 수없는 프로토콜 : RMI를 사용하는 vfs

내 오류 로그

다른 예를 통해보고에서

16:38:31,793 INFO [stdout] (Thread-89) java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
16:38:31,794 INFO [stdout] (Thread-89)  java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
16:38:31,794 INFO [stdout] (Thread-89)  java.net.MalformedURLException: unknown protocol: vfs 
16:38:31,795 INFO [stdout] (Thread-89)  at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) ~[?:?] 
16:38:31,795 INFO [stdout] (Thread-89)  at sun.rmi.transport.Transport$1.run(Unknown Source) ~[?:?] 
16:38:31,795 INFO [stdout] (Thread-89)  at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_92] 
16:38:31,795 INFO [stdout] (Thread-89)  at sun.rmi.transport.Transport.serviceCall(Unknown Source) ~[?:?] 
16:38:31,796 INFO [stdout] (Thread-89)  at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) ~[?:?] 
16:38:31,796 INFO [stdout] (Thread-89)  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) ~[?:?] 
16:38:31,796 INFO [stdout] (Thread-89)  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) ~[?:?] 
16:38:31,796 INFO [stdout] (Thread-89)  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) ~[?:1.8.0_92] 
16:38:31,796 INFO [stdout] (Thread-89)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:1.8.0_92] 
16:38:31,797 INFO [stdout] (Thread-89)  at java.lang.Thread.run(Unknown Source) ~[?:1.8.0_92] 
16:38:31,797 INFO [stdout] (Thread-89)  at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:276) ~[?:?] 
16:38:31,797 INFO [stdout] (Thread-89)  at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:253) ~[?:?] 
16:38:31,797 INFO [stdout] (Thread-89)  at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:162) ~[?:?] 
16:38:31,798 INFO [stdout] (Thread-89)  at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:227) ~[?:1.8.0_92] 
16:38:31,798 INFO [stdout] (Thread-89)  at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:179) ~[?:1.8.0_92] 
16:38:31,798 INFO [stdout] (Thread-89)  at com.sun.proxy.$Proxy107.sendFile(Unknown Source) ~[?:?] 
16:38:31,798 INFO [stdout] (Thread-89)  at rmiclient.RmiTaskStarter.sendFile(RmiTaskStarter.java:98) ~[rmiclient-1.0.0.jar:1.0.0] 
16:38:31,798 INFO [stdout] (Thread-89)  at rmiclient.RmiTaskStarter.compute(RmiTaskStarter.java:56) ~[rmiclient-1.0.0.jar:1.0.0] 
16:38:31,799 INFO [stdout] (Thread-89)  at webapp.FrontEnd.Worker.runTask(Worker.java:68) [classes:?] 
16:38:31,799 INFO [stdout] (Thread-89)  at webapp.FrontEnd.Worker.run(Worker.java:52) [classes:?] 
16:38:31,799 INFO [stdout] (Thread-89)  at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92] 
16:38:31,799 INFO [stdout] (Thread-89) Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
16:38:31,799 INFO [stdout] (Thread-89)  java.net.MalformedURLException: unknown protocol: vfs 
16:38:31,800 INFO [stdout] (Thread-89)  at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) ~[?:?] 
16:38:31,800 INFO [stdout] (Thread-89)  at sun.rmi.transport.Transport$1.run(Unknown Source) ~[?:?] 
16:38:31,800 INFO [stdout] (Thread-89)  at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_92] 
16:38:31,800 INFO [stdout] (Thread-89)  at sun.rmi.transport.Transport.serviceCall(Unknown Source) ~[?:?] 
16:38:31,801 INFO [stdout] (Thread-89)  at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) ~[?:?] 
16:38:31,801 INFO [stdout] (Thread-89)  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) ~[?:?] 
16:38:31,802 INFO [stdout] (Thread-89)  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) ~[?:?] 
16:38:31,802 INFO [stdout] (Thread-89)  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) ~[?:1.8.0_92] 
16:38:31,802 INFO [stdout] (Thread-89)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:1.8.0_92] 
16:38:31,802 INFO [stdout] (Thread-89)  at java.lang.Thread.run(Unknown Source) ~[?:1.8.0_92] 
16:38:31,802 INFO [stdout] (Thread-89) Caused by: java.net.MalformedURLException: unknown protocol: vfs 
16:38:31,803 INFO [stdout] (Thread-89)  at java.net.URL.<init>(Unknown Source) ~[?:1.8.0_92] 
16:38:31,803 INFO [stdout] (Thread-89)  at java.net.URL.<init>(Unknown Source) ~[?:1.8.0_92] 
16:38:31,803 INFO [stdout] (Thread-89)  at java.net.URL.<init>(Unknown Source) ~[?:1.8.0_92] 
16:38:31,803 INFO [stdout] (Thread-89)  at sun.rmi.server.LoaderHandler.pathToURLs(Unknown Source) ~[?:?] 
16:38:31,804 INFO [stdout] (Thread-89)  at sun.rmi.server.LoaderHandler.loadProxyClass(Unknown Source) ~[?:?] 
16:38:31,804 INFO [stdout] (Thread-89)  at java.rmi.server.RMIClassLoader$2.loadProxyClass(Unknown Source) ~[?:1.8.0_92] 
16:38:31,804 INFO [stdout] (Thread-89)  at java.rmi.server.RMIClassLoader.loadProxyClass(Unknown Source) ~[?:1.8.0_92] 
16:38:31,805 INFO [stdout] (Thread-89)  at sun.rmi.server.MarshalInputStream.resolveProxyClass(Unknown Source) ~[?:?] 
16:38:31,805 INFO [stdout] (Thread-89)  at java.io.ObjectInputStream.readProxyDesc(Unknown Source) ~[?:1.8.0_92] 
16:38:31,805 INFO [stdout] (Thread-89)  at java.io.ObjectInputStream.readClassDesc(Unknown Source) ~[?:1.8.0_92] 
16:38:31,805 INFO [stdout] (Thread-89)  at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) ~[?:1.8.0_92] 
16:38:31,805 INFO [stdout] (Thread-89)  at java.io.ObjectInputStream.readObject0(Unknown Source) ~[?:1.8.0_92] 
16:38:31,806 INFO [stdout] (Thread-89)  at java.io.ObjectInputStream.readObject(Unknown Source) ~[?:1.8.0_92] 
16:38:31,806 INFO [stdout] (Thread-89)  at sun.rmi.server.UnicastRef.unmarshalValue(Unknown Source) ~[?:?] 
16:38:31,806 INFO [stdout] (Thread-89)  at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) ~[?:?] 
16:38:31,806 INFO [stdout] (Thread-89)  at sun.rmi.transport.Transport$1.run(Unknown Source) ~[?:?] 
16:38:31,806 INFO [stdout] (Thread-89)  at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_92] 
16:38:31,807 INFO [stdout] (Thread-89)  at sun.rmi.transport.Transport.serviceCall(Unknown Source) ~[?:?] 
16:38:31,807 INFO [stdout] (Thread-89)  at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) ~[?:?] 
16:38:31,807 INFO [stdout] (Thread-89)  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) ~[?:?] 
16:38:31,807 INFO [stdout] (Thread-89)  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) ~[?:?] 
16:38:31,808 INFO [stdout] (Thread-89)  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) ~[?:1.8.0_92] 
16:38:31,808 INFO [stdout] (Thread-89)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:1.8.0_92] 
16:38:31,808 INFO [stdout] (Thread-89)  at java.lang.Thread.run(Unknown Source) ~[?:1.8.0_92] 

아래에 포함되어 본인은 malformedurlexceptions 하나가 no protocol 또는 unknown exception c 구성하지만 그들 중 대부분은 코드베이스 설정 문제에서 발생하는 것 같다 것으로 나타났습니다한다 나는 가지고 있다고 믿지 않는다. 또한 RMI와 함께 사용되는 vfs에 대한 언급을 찾을 수없는 것 같습니다. 어떤 제안이라도 고맙게 받아 들일 것이다, 고마워!

답변

0

vfs: 어딘가에서 java.rmi.server.codebase 설정을 사용 중입니다. Java가 인식하는 프로토콜 만 사용할 수 있습니다. 코드베이스 URL은 거의 항상 HTTP입니다.

+0

응답 해 주셔서 감사합니다. 나는'System.setProperty ("java.rmi.server.codebase", class.getProtectionDomain(). getCodeSource()를 사용했기 때문에 그 내용을 놓쳤다. getCodeSource() \t \t \t \t.getLocation(). toString()); 모든 경로가 파일 프로토콜 만 사용한다는 가정하에있었습니다. 그래서 이것을 JBOSS에서 실행하려면 자체 HTTP 웹 서버를 설치해야합니다 (http://www.kedwards.com/jini/codebase.html)? – ricemagician

관련 문제