Deprecate remoting technologies support

Because of security and broader industry support, support for several
remoting technologies is now deprecated and scheduled for removal in
Spring Framework 6.0.

This commit deprecates the following remoting technologies:

* HTTPInvoker
* RMI
* Hessian
* JMS remoting

Other remoting technologies like EJB or JAXWS might be deprecated in the
future depending on industry support.

Closes gh-25379
This commit is contained in:
Brian Clozel 2020-07-10 12:04:24 +02:00
parent 92cdf526fb
commit d9ccd618ea
32 changed files with 858 additions and 791 deletions

View File

@ -29,7 +29,6 @@ import org.aopalliance.intercept.MethodInvocation;
import org.springframework.lang.Nullable; import org.springframework.lang.Nullable;
import org.springframework.remoting.RemoteConnectFailureException; import org.springframework.remoting.RemoteConnectFailureException;
import org.springframework.remoting.RemoteLookupFailureException; import org.springframework.remoting.RemoteLookupFailureException;
import org.springframework.remoting.rmi.RmiClientInterceptorUtils;
/** /**
* Base class for interceptors proxying remote Stateless Session Beans. * Base class for interceptors proxying remote Stateless Session Beans.
@ -121,8 +120,9 @@ public abstract class AbstractRemoteSlsbInvokerInterceptor extends AbstractSlsbI
* @return whether the exception should be treated as connect failure * @return whether the exception should be treated as connect failure
* @see org.springframework.remoting.rmi.RmiClientInterceptorUtils#isConnectFailure * @see org.springframework.remoting.rmi.RmiClientInterceptorUtils#isConnectFailure
*/ */
@SuppressWarnings("deprecation")
protected boolean isConnectFailure(RemoteException ex) { protected boolean isConnectFailure(RemoteException ex) {
return RmiClientInterceptorUtils.isConnectFailure(ex); return org.springframework.remoting.rmi.RmiClientInterceptorUtils.isConnectFailure(ex);
} }
@Nullable @Nullable

View File

@ -28,7 +28,6 @@ import org.aopalliance.intercept.MethodInvocation;
import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.DisposableBean;
import org.springframework.lang.Nullable; import org.springframework.lang.Nullable;
import org.springframework.remoting.RemoteLookupFailureException; import org.springframework.remoting.RemoteLookupFailureException;
import org.springframework.remoting.rmi.RmiClientInterceptorUtils;
/** /**
* Basic invoker for a remote Stateless Session Bean. * Basic invoker for a remote Stateless Session Bean.
@ -95,11 +94,12 @@ public class SimpleRemoteSlsbInvokerInterceptor extends AbstractRemoteSlsbInvoke
*/ */
@Override @Override
@Nullable @Nullable
@SuppressWarnings("deprecation")
protected Object doInvoke(MethodInvocation invocation) throws Throwable { protected Object doInvoke(MethodInvocation invocation) throws Throwable {
Object ejb = null; Object ejb = null;
try { try {
ejb = getSessionBeanInstance(); ejb = getSessionBeanInstance();
return RmiClientInterceptorUtils.invokeRemoteMethod(invocation, ejb); return org.springframework.remoting.rmi.RmiClientInterceptorUtils.invokeRemoteMethod(invocation, ejb);
} }
catch (NamingException ex) { catch (NamingException ex) {
throw new RemoteLookupFailureException("Failed to locate remote EJB [" + getJndiName() + "]", ex); throw new RemoteLookupFailureException("Failed to locate remote EJB [" + getJndiName() + "]", ex);
@ -108,12 +108,12 @@ public class SimpleRemoteSlsbInvokerInterceptor extends AbstractRemoteSlsbInvoke
Throwable targetEx = ex.getTargetException(); Throwable targetEx = ex.getTargetException();
if (targetEx instanceof RemoteException) { if (targetEx instanceof RemoteException) {
RemoteException rex = (RemoteException) targetEx; RemoteException rex = (RemoteException) targetEx;
throw RmiClientInterceptorUtils.convertRmiAccessException( throw org.springframework.remoting.rmi.RmiClientInterceptorUtils.convertRmiAccessException(
invocation.getMethod(), rex, isConnectFailure(rex), getJndiName()); invocation.getMethod(), rex, isConnectFailure(rex), getJndiName());
} }
else if (targetEx instanceof CreateException) { else if (targetEx instanceof CreateException) {
throw RmiClientInterceptorUtils.convertRmiAccessException( throw org.springframework.remoting.rmi.RmiClientInterceptorUtils.convertRmiAccessException(
invocation.getMethod(), targetEx, "Could not create remote EJB [" + getJndiName() + "]"); invocation.getMethod(), targetEx, "Could not create remote EJB [" + getJndiName() + "]");
} }
throw targetEx; throw targetEx;
} }

View File

@ -50,7 +50,9 @@ import org.springframework.lang.Nullable;
* @see java.rmi.server.RMIClassLoader * @see java.rmi.server.RMIClassLoader
* @see RemoteInvocationSerializingExporter#createObjectInputStream * @see RemoteInvocationSerializingExporter#createObjectInputStream
* @see org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor#setCodebaseUrl * @see org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor#setCodebaseUrl
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class CodebaseAwareObjectInputStream extends ConfigurableObjectInputStream { public class CodebaseAwareObjectInputStream extends ConfigurableObjectInputStream {
private final String codebaseUrl; private final String codebaseUrl;

View File

@ -72,7 +72,9 @@ import org.springframework.util.Assert;
* @see org.springframework.remoting.RemoteAccessException * @see org.springframework.remoting.RemoteAccessException
* @see java.rmi.RemoteException * @see java.rmi.RemoteException
* @see java.rmi.Remote * @see java.rmi.Remote
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class JndiRmiClientInterceptor extends JndiObjectLocator implements MethodInterceptor, InitializingBean { public class JndiRmiClientInterceptor extends JndiObjectLocator implements MethodInterceptor, InitializingBean {
private Class<?> serviceInterface; private Class<?> serviceInterface;

View File

@ -61,7 +61,9 @@ import org.springframework.util.ClassUtils;
* @see java.rmi.RemoteException * @see java.rmi.RemoteException
* @see java.rmi.Remote * @see java.rmi.Remote
* @see javax.rmi.PortableRemoteObject#narrow * @see javax.rmi.PortableRemoteObject#narrow
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class JndiRmiProxyFactoryBean extends JndiRmiClientInterceptor public class JndiRmiProxyFactoryBean extends JndiRmiClientInterceptor
implements FactoryBean<Object>, BeanClassLoaderAware { implements FactoryBean<Object>, BeanClassLoaderAware {

View File

@ -67,7 +67,9 @@ import org.springframework.util.ReflectionUtils;
* @see JndiRmiClientInterceptor * @see JndiRmiClientInterceptor
* @see JndiRmiProxyFactoryBean * @see JndiRmiProxyFactoryBean
* @see javax.rmi.PortableRemoteObject#exportObject * @see javax.rmi.PortableRemoteObject#exportObject
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class JndiRmiServiceExporter extends RmiBasedExporter implements InitializingBean, DisposableBean { public class JndiRmiServiceExporter extends RmiBasedExporter implements InitializingBean, DisposableBean {
@Nullable @Nullable

View File

@ -45,7 +45,9 @@ import org.springframework.util.ClassUtils;
* @see java.io.ObjectOutputStream * @see java.io.ObjectOutputStream
* @see #doReadRemoteInvocation * @see #doReadRemoteInvocation
* @see #doWriteRemoteInvocationResult * @see #doWriteRemoteInvocationResult
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public abstract class RemoteInvocationSerializingExporter extends RemoteInvocationBasedExporter public abstract class RemoteInvocationSerializingExporter extends RemoteInvocationBasedExporter
implements InitializingBean { implements InitializingBean {

View File

@ -36,7 +36,9 @@ import org.springframework.remoting.support.RemoteInvocationBasedExporter;
* @since 1.2.5 * @since 1.2.5
* @see RmiServiceExporter * @see RmiServiceExporter
* @see JndiRmiServiceExporter * @see JndiRmiServiceExporter
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public abstract class RmiBasedExporter extends RemoteInvocationBasedExporter { public abstract class RmiBasedExporter extends RemoteInvocationBasedExporter {
/** /**

View File

@ -67,7 +67,9 @@ import org.springframework.remoting.support.RemoteInvocationUtils;
* @see org.springframework.remoting.RemoteAccessException * @see org.springframework.remoting.RemoteAccessException
* @see java.rmi.RemoteException * @see java.rmi.RemoteException
* @see java.rmi.Remote * @see java.rmi.Remote
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class RmiClientInterceptor extends RemoteInvocationBasedAccessor public class RmiClientInterceptor extends RemoteInvocationBasedAccessor
implements MethodInterceptor { implements MethodInterceptor {

View File

@ -44,7 +44,9 @@ import org.springframework.util.ReflectionUtils;
* *
* @author Juergen Hoeller * @author Juergen Hoeller
* @since 1.1 * @since 1.1
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public abstract class RmiClientInterceptorUtils { public abstract class RmiClientInterceptorUtils {
private static final Log logger = LogFactory.getLog(RmiClientInterceptorUtils.class); private static final Log logger = LogFactory.getLog(RmiClientInterceptorUtils.class);

View File

@ -32,7 +32,9 @@ import org.springframework.remoting.support.RemoteInvocation;
* *
* @author Juergen Hoeller * @author Juergen Hoeller
* @since 14.05.2003 * @since 14.05.2003
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public interface RmiInvocationHandler extends Remote { public interface RmiInvocationHandler extends Remote {
/** /**

View File

@ -34,6 +34,7 @@ import org.springframework.util.Assert;
* @since 14.05.2003 * @since 14.05.2003
* @see RmiServiceExporter * @see RmiServiceExporter
*/ */
@Deprecated
class RmiInvocationWrapper implements RmiInvocationHandler { class RmiInvocationWrapper implements RmiInvocationHandler {
private final Object wrappedObject; private final Object wrappedObject;

View File

@ -57,7 +57,9 @@ import org.springframework.util.Assert;
* @see org.springframework.remoting.RemoteAccessException * @see org.springframework.remoting.RemoteAccessException
* @see org.springframework.remoting.caucho.HessianProxyFactoryBean * @see org.springframework.remoting.caucho.HessianProxyFactoryBean
* @see org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean * @see org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class RmiProxyFactoryBean extends RmiClientInterceptor implements FactoryBean<Object>, BeanClassLoaderAware { public class RmiProxyFactoryBean extends RmiClientInterceptor implements FactoryBean<Object>, BeanClassLoaderAware {
private Object serviceProxy; private Object serviceProxy;

View File

@ -60,7 +60,9 @@ import org.springframework.lang.Nullable;
* @see org.springframework.jmx.support.ConnectorServerFactoryBean * @see org.springframework.jmx.support.ConnectorServerFactoryBean
* @see java.rmi.registry.Registry * @see java.rmi.registry.Registry
* @see java.rmi.registry.LocateRegistry * @see java.rmi.registry.LocateRegistry
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class RmiRegistryFactoryBean implements FactoryBean<Registry>, InitializingBean, DisposableBean { public class RmiRegistryFactoryBean implements FactoryBean<Registry>, InitializingBean, DisposableBean {
protected final Log logger = LogFactory.getLog(getClass()); protected final Log logger = LogFactory.getLog(getClass());

View File

@ -65,7 +65,9 @@ import org.springframework.lang.Nullable;
* @see java.rmi.RemoteException * @see java.rmi.RemoteException
* @see org.springframework.remoting.caucho.HessianServiceExporter * @see org.springframework.remoting.caucho.HessianServiceExporter
* @see org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter * @see org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class RmiServiceExporter extends RmiBasedExporter implements InitializingBean, DisposableBean { public class RmiServiceExporter extends RmiBasedExporter implements InitializingBean, DisposableBean {
private String serviceName; private String serviceName;

View File

@ -71,7 +71,9 @@ import org.springframework.util.Assert;
* @see #setQueueName * @see #setQueueName
* @see org.springframework.jms.remoting.JmsInvokerServiceExporter * @see org.springframework.jms.remoting.JmsInvokerServiceExporter
* @see org.springframework.jms.remoting.JmsInvokerProxyFactoryBean * @see org.springframework.jms.remoting.JmsInvokerProxyFactoryBean
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class JmsInvokerClientInterceptor implements MethodInterceptor, InitializingBean { public class JmsInvokerClientInterceptor implements MethodInterceptor, InitializingBean {
@Nullable @Nullable

View File

@ -41,7 +41,9 @@ import org.springframework.util.ClassUtils;
* @see #setServiceInterface * @see #setServiceInterface
* @see org.springframework.jms.remoting.JmsInvokerClientInterceptor * @see org.springframework.jms.remoting.JmsInvokerClientInterceptor
* @see org.springframework.jms.remoting.JmsInvokerServiceExporter * @see org.springframework.jms.remoting.JmsInvokerServiceExporter
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class JmsInvokerProxyFactoryBean extends JmsInvokerClientInterceptor public class JmsInvokerProxyFactoryBean extends JmsInvokerClientInterceptor
implements FactoryBean<Object>, BeanClassLoaderAware { implements FactoryBean<Object>, BeanClassLoaderAware {

View File

@ -51,7 +51,9 @@ import org.springframework.remoting.support.RemoteInvocationResult;
* @since 2.0 * @since 2.0
* @see JmsInvokerClientInterceptor * @see JmsInvokerClientInterceptor
* @see JmsInvokerProxyFactoryBean * @see JmsInvokerProxyFactoryBean
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class JmsInvokerServiceExporter extends RemoteInvocationBasedExporter public class JmsInvokerServiceExporter extends RemoteInvocationBasedExporter
implements SessionAwareMessageListener<Message>, InitializingBean { implements SessionAwareMessageListener<Message>, InitializingBean {

View File

@ -63,7 +63,9 @@ import org.springframework.util.Assert;
* @see HessianProxyFactoryBean * @see HessianProxyFactoryBean
* @see com.caucho.hessian.client.HessianProxyFactory * @see com.caucho.hessian.client.HessianProxyFactory
* @see com.caucho.hessian.server.HessianServlet * @see com.caucho.hessian.server.HessianServlet
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class HessianClientInterceptor extends UrlBasedRemoteAccessor implements MethodInterceptor { public class HessianClientInterceptor extends UrlBasedRemoteAccessor implements MethodInterceptor {
private HessianProxyFactory proxyFactory = new HessianProxyFactory(); private HessianProxyFactory proxyFactory = new HessianProxyFactory();

View File

@ -53,7 +53,9 @@ import org.springframework.util.CommonsLogWriter;
* @since 2.5.1 * @since 2.5.1
* @see #invoke(java.io.InputStream, java.io.OutputStream) * @see #invoke(java.io.InputStream, java.io.OutputStream)
* @see HessianServiceExporter * @see HessianServiceExporter
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class HessianExporter extends RemoteExporter implements InitializingBean { public class HessianExporter extends RemoteExporter implements InitializingBean {
/** /**

View File

@ -40,7 +40,9 @@ import org.springframework.lang.Nullable;
* @see HessianServiceExporter * @see HessianServiceExporter
* @see org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean * @see org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean
* @see org.springframework.remoting.rmi.RmiProxyFactoryBean * @see org.springframework.remoting.rmi.RmiProxyFactoryBean
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class HessianProxyFactoryBean extends HessianClientInterceptor implements FactoryBean<Object> { public class HessianProxyFactoryBean extends HessianClientInterceptor implements FactoryBean<Object> {
@Nullable @Nullable

View File

@ -44,7 +44,9 @@ import org.springframework.web.util.NestedServletException;
* @see HessianProxyFactoryBean * @see HessianProxyFactoryBean
* @see org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter * @see org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter
* @see org.springframework.remoting.rmi.RmiServiceExporter * @see org.springframework.remoting.rmi.RmiServiceExporter
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class HessianServiceExporter extends HessianExporter implements HttpRequestHandler { public class HessianServiceExporter extends HessianExporter implements HttpRequestHandler {
/** /**

View File

@ -29,7 +29,6 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.BeanClassLoaderAware; import org.springframework.beans.factory.BeanClassLoaderAware;
import org.springframework.lang.Nullable; import org.springframework.lang.Nullable;
import org.springframework.remoting.rmi.CodebaseAwareObjectInputStream;
import org.springframework.remoting.support.RemoteInvocation; import org.springframework.remoting.support.RemoteInvocation;
import org.springframework.remoting.support.RemoteInvocationResult; import org.springframework.remoting.support.RemoteInvocationResult;
import org.springframework.util.Assert; import org.springframework.util.Assert;
@ -44,7 +43,9 @@ import org.springframework.util.ClassUtils;
* @author Juergen Hoeller * @author Juergen Hoeller
* @since 1.1 * @since 1.1
* @see #doExecuteRequest * @see #doExecuteRequest
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public abstract class AbstractHttpInvokerRequestExecutor implements HttpInvokerRequestExecutor, BeanClassLoaderAware { public abstract class AbstractHttpInvokerRequestExecutor implements HttpInvokerRequestExecutor, BeanClassLoaderAware {
/** /**
@ -264,7 +265,7 @@ public abstract class AbstractHttpInvokerRequestExecutor implements HttpInvokerR
* @see org.springframework.remoting.rmi.CodebaseAwareObjectInputStream * @see org.springframework.remoting.rmi.CodebaseAwareObjectInputStream
*/ */
protected ObjectInputStream createObjectInputStream(InputStream is, @Nullable String codebaseUrl) throws IOException { protected ObjectInputStream createObjectInputStream(InputStream is, @Nullable String codebaseUrl) throws IOException {
return new CodebaseAwareObjectInputStream(is, getBeanClassLoader(), codebaseUrl); return new org.springframework.remoting.rmi.CodebaseAwareObjectInputStream(is, getBeanClassLoader(), codebaseUrl);
} }
/** /**

View File

@ -60,7 +60,9 @@ import org.springframework.util.Assert;
* @author Stephane Nicoll * @author Stephane Nicoll
* @since 3.1 * @since 3.1
* @see org.springframework.remoting.httpinvoker.SimpleHttpInvokerRequestExecutor * @see org.springframework.remoting.httpinvoker.SimpleHttpInvokerRequestExecutor
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class HttpComponentsHttpInvokerRequestExecutor extends AbstractHttpInvokerRequestExecutor { public class HttpComponentsHttpInvokerRequestExecutor extends AbstractHttpInvokerRequestExecutor {
private static final int DEFAULT_MAX_TOTAL_CONNECTIONS = 100; private static final int DEFAULT_MAX_TOTAL_CONNECTIONS = 100;

View File

@ -25,7 +25,9 @@ import org.springframework.lang.Nullable;
* @since 1.1 * @since 1.1
* @see HttpInvokerRequestExecutor * @see HttpInvokerRequestExecutor
* @see HttpInvokerClientInterceptor * @see HttpInvokerClientInterceptor
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public interface HttpInvokerClientConfiguration { public interface HttpInvokerClientConfiguration {
/** /**

View File

@ -69,7 +69,9 @@ import org.springframework.remoting.support.RemoteInvocationResult;
* @see HttpInvokerServiceExporter * @see HttpInvokerServiceExporter
* @see HttpInvokerProxyFactoryBean * @see HttpInvokerProxyFactoryBean
* @see java.rmi.server.RMIClassLoader * @see java.rmi.server.RMIClassLoader
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class HttpInvokerClientInterceptor extends RemoteInvocationBasedAccessor public class HttpInvokerClientInterceptor extends RemoteInvocationBasedAccessor
implements MethodInterceptor, HttpInvokerClientConfiguration { implements MethodInterceptor, HttpInvokerClientConfiguration {

View File

@ -53,7 +53,9 @@ import org.springframework.util.Assert;
* @see HttpInvokerServiceExporter * @see HttpInvokerServiceExporter
* @see org.springframework.remoting.rmi.RmiProxyFactoryBean * @see org.springframework.remoting.rmi.RmiProxyFactoryBean
* @see org.springframework.remoting.caucho.HessianProxyFactoryBean * @see org.springframework.remoting.caucho.HessianProxyFactoryBean
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class HttpInvokerProxyFactoryBean extends HttpInvokerClientInterceptor implements FactoryBean<Object> { public class HttpInvokerProxyFactoryBean extends HttpInvokerClientInterceptor implements FactoryBean<Object> {
@Nullable @Nullable

View File

@ -40,7 +40,9 @@ import org.springframework.remoting.support.RemoteInvocationResult;
* @author Juergen Hoeller * @author Juergen Hoeller
* @since 1.1 * @since 1.1
* @see HttpInvokerClientInterceptor#setHttpInvokerRequestExecutor * @see HttpInvokerClientInterceptor#setHttpInvokerRequestExecutor
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
@FunctionalInterface @FunctionalInterface
public interface HttpInvokerRequestExecutor { public interface HttpInvokerRequestExecutor {

View File

@ -27,7 +27,6 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.springframework.remoting.rmi.RemoteInvocationSerializingExporter;
import org.springframework.remoting.support.RemoteInvocation; import org.springframework.remoting.support.RemoteInvocation;
import org.springframework.remoting.support.RemoteInvocationResult; import org.springframework.remoting.support.RemoteInvocationResult;
import org.springframework.web.HttpRequestHandler; import org.springframework.web.HttpRequestHandler;
@ -58,8 +57,10 @@ import org.springframework.web.util.NestedServletException;
* @see HttpInvokerProxyFactoryBean * @see HttpInvokerProxyFactoryBean
* @see org.springframework.remoting.rmi.RmiServiceExporter * @see org.springframework.remoting.rmi.RmiServiceExporter
* @see org.springframework.remoting.caucho.HessianServiceExporter * @see org.springframework.remoting.caucho.HessianServiceExporter
* @deprecated as of 5.3.0 with no replacement.
*/ */
public class HttpInvokerServiceExporter extends RemoteInvocationSerializingExporter implements HttpRequestHandler { @Deprecated
public class HttpInvokerServiceExporter extends org.springframework.remoting.rmi.RemoteInvocationSerializingExporter implements HttpRequestHandler {
/** /**
* Reads a remote invocation from the request, executes it, * Reads a remote invocation from the request, executes it,
@ -167,7 +168,7 @@ public class HttpInvokerServiceExporter extends RemoteInvocationSerializingExpor
throws IOException { throws IOException {
try (ObjectOutputStream oos = try (ObjectOutputStream oos =
createObjectOutputStream(new FlushGuardedOutputStream(decorateOutputStream(request, response, os)))) { createObjectOutputStream(new FlushGuardedOutputStream(decorateOutputStream(request, response, os)))) {
doWriteRemoteInvocationResult(result, oos); doWriteRemoteInvocationResult(result, oos);
} }
} }

View File

@ -41,7 +41,9 @@ import org.springframework.remoting.support.RemoteInvocationResult;
* @author Juergen Hoeller * @author Juergen Hoeller
* @since 1.1 * @since 1.1
* @see java.net.HttpURLConnection * @see java.net.HttpURLConnection
* @deprecated as of 5.3.0 with no replacement.
*/ */
@Deprecated
public class SimpleHttpInvokerRequestExecutor extends AbstractHttpInvokerRequestExecutor { public class SimpleHttpInvokerRequestExecutor extends AbstractHttpInvokerRequestExecutor {
private int connectTimeout = -1; private int connectTimeout = -1;

View File

@ -25,7 +25,6 @@ import java.io.OutputStream;
import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpHandler;
import org.springframework.remoting.rmi.RemoteInvocationSerializingExporter;
import org.springframework.remoting.support.RemoteInvocation; import org.springframework.remoting.support.RemoteInvocation;
import org.springframework.remoting.support.RemoteInvocationResult; import org.springframework.remoting.support.RemoteInvocationResult;
@ -58,7 +57,7 @@ import org.springframework.remoting.support.RemoteInvocationResult;
*/ */
@Deprecated @Deprecated
@org.springframework.lang.UsesSunHttpServer @org.springframework.lang.UsesSunHttpServer
public class SimpleHttpInvokerServiceExporter extends RemoteInvocationSerializingExporter implements HttpHandler { public class SimpleHttpInvokerServiceExporter extends org.springframework.remoting.rmi.RemoteInvocationSerializingExporter implements HttpHandler {
/** /**
* Reads a remote invocation from the request, executes it, * Reads a remote invocation from the request, executes it,

File diff suppressed because it is too large Load Diff