Sziasztok!
Végső elkeseredésemben már ide is írok, háta van errefelé Java RMI fan. A problémám a következő:
Van egy osztott rendszerem - szerver algoritmusokat futtat, számol, több szálon; kliens feladatokat indít el és folyamatosan csekkolja az eredményt. Van ugye egy közös interfész és egy Result object. Mind2 jelen van mind2 oldalon.
Az egész architektúra nagyon szépen működött, soha egyetlen elszállás, vagy kivétel. Egyik nap viszont a megrendelőm hív, hogy elszáll nála az alábbi kivétellel a cucc és hogy miért. Nálam 100-ból 1-szer fordul elő, míg nála 100-ból 100-szor! ADSL kapcsolaton gyakrabban, nekem az egyetemni hálón soha nem száll el. Hozzá kell tennem , hogy semmi, azaz SEMMI nem változott a kódon, egyik oldalon sem. Kíváncsi volnék, hogy valaki találkozott -e már ezzel a problémával. Köszönöm a válaszokat!
A kivétel:
java.rmi.MarshalException: error marshalling arguments; nested exception is: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: java.net.SocketException: Connection reset by peer: socket write error
7 Comments
tvik
Auth Gábor
Unknown User (frimen)
A másik, hogy szerintem ide felesleges az SSL, mert ha snifelik is a forgalmat, mit csinál az objectom "stream"-mel? Az SSL ellen szól az is, hogy ha nem korrekt az signoja akkor gond lehet.. elszállhat 100-bol 100x...
sanyigz omg
A történet úgy néz ki, hogy volt egy működő rmi kapcsolat. Másik fejlesztőkörnyezetben(eclipse -> ibm rational software architect (ami végülis szintén eclipse kicsit alakítva)) meg már nem működik, pedig a forráskódon nem volt változtatás. Az exeption egy "szokásos":
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: és itt a remote object van. jelen esetben Compute
A sun oldalán van hozzá egy tutorial. Kínomban 1 az egyben becopypasteltem azt, de ugyan ez a hiba. Ha rákeresek, legtöbbször valami java.rmi.server.codebase propertyvel hozzák kapcsolatba. De ahol működött ott semmi ilyet nem állítottam.
Sajnos a teljes projektet nem tudom feltölteni, mivel munkhelyen ezt sem lehet, de azt leírhatom hogy raktam össze.
A forráskód innen van: http://java.sun.com/docs/books/tutorial/rmi/index.html
Simán copypastelve.
workspace/Rmi/
/src itt van az össes osztály csak úgy nyersen package nélkül
/resources itt egy no.policy nevű fájl aminek a tartalma:
grant {
permission java.security.AllPermission;
};
/bin ugye a classok
Ezen kívül annyi beállítás volt még hogy 1.5-ös javaval kéne mennie.
Valaki tudna segíteni? Fontos lenne...
tvik
Java verzió be van állítva?
sanyigz omg
A projecten be van állítva az 1.5
Hol kéne még beállítani a java verziót?
sanyigz omg