You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If the client application already holding a stub to remote method tries to invoke it after the RMI server has been restarted, the following exception is received:
org.springframework.remoting.RemoteAccessException: Could not access remote service [rmi://remote:1099/service]; nested exception is java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.net.SocketException: Software caused connection abort: socket write error
at org.springframework.remoting.rmi.RmiClientInterceptorUtils.convertRmiAccessException(RmiClientInterceptorUtils.java:190)
at org.springframework.remoting.rmi.RmiClientInterceptor.doInvoke(RmiClientInterceptor.java:346)
at org.springframework.remoting.rmi.RmiClientInterceptor.invoke(RmiClientInterceptor.java:258)
Although it's not a pure connection failure because the server is rejecting the call (thus the SocketException) it could be seen as a connection failure (by detecting the root cause is a SocketException) because trying to get a new stub will solve the issue.
Doing it so will avoid to have to completely disable stub caching to support RMI server hot restart.
Does anybody have an objection on this?
Affects: 3.0.5
1 votes, 0 watchers
The text was updated successfully, but these errors were encountered:
Renaud Marquet opened SPR-8628 and commented
If the client application already holding a stub to remote method tries to invoke it after the RMI server has been restarted, the following exception is received:
org.springframework.remoting.RemoteAccessException: Could not access remote service [rmi://remote:1099/service]; nested exception is java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.net.SocketException: Software caused connection abort: socket write error
at org.springframework.remoting.rmi.RmiClientInterceptorUtils.convertRmiAccessException(RmiClientInterceptorUtils.java:190)
at org.springframework.remoting.rmi.RmiClientInterceptor.doInvoke(RmiClientInterceptor.java:346)
at org.springframework.remoting.rmi.RmiClientInterceptor.invoke(RmiClientInterceptor.java:258)
Although it's not a pure connection failure because the server is rejecting the call (thus the SocketException) it could be seen as a connection failure (by detecting the root cause is a SocketException) because trying to get a new stub will solve the issue.
Doing it so will avoid to have to completely disable stub caching to support RMI server hot restart.
Does anybody have an objection on this?
Affects: 3.0.5
1 votes, 0 watchers
The text was updated successfully, but these errors were encountered: