2016-11-15 76 views
0

我最近一直試圖在JBOST EAP 6.4環境下實現部署我的應用程序作戰,但在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 protocolunknown exception c但大多數人似乎從代碼庫的設置問題,要出現這我不相信我有。此外,我似乎無法找到任何提及甚至與RMI一起使用的vfs。任何建議,將不勝感激,謝謝!

回答

0

您在java.rmi.server.codebase設置中的某處使用了vfs:。您只能使用Java識別的協議。代碼庫URL幾乎總是HTTP。

+0

謝謝你的迴應!我錯過了,因爲我已經使用System.setProperty(「java.rmi.server.codebase」,class.getProtectionDomain()。getCodeSource() \t \t \t \t .getLocation()。toString());'和I假設我的所有路徑只使用文件協議。所以要用JBOSS運行這個,我需要建立自己的HTTP web服務器[就像這樣](http://www.kedwards.com/jini/codebase.html)? – ricemagician