diff --git a/spring-context/src/main/java/org/springframework/cache/interceptor/SimpleKeyGenerator.java b/spring-context/src/main/java/org/springframework/cache/interceptor/SimpleKeyGenerator.java index 5db54f5e75..eb860ad6a9 100644 --- a/spring-context/src/main/java/org/springframework/cache/interceptor/SimpleKeyGenerator.java +++ b/spring-context/src/main/java/org/springframework/cache/interceptor/SimpleKeyGenerator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,20 +19,19 @@ package org.springframework.cache.interceptor; import java.lang.reflect.Method; /** - * Simple key generator. Returns the parameter itself if a single non-null value - * is given, otherwise returns a {@link SimpleKey} of the parameters. + * Simple key generator. Returns the parameter itself if a single non-null + * value is given, otherwise returns a {@link SimpleKey} of the parameters. * - *

Unlike {@link DefaultKeyGenerator}, no collisions will occur with the keys - * generated by this class. The returned {@link SimpleKey} object can be safely - * used with a {@link org.springframework.cache.concurrent.ConcurrentMapCache}, - * however, might not be suitable for all {@link org.springframework.cache.Cache} + *

No collisions will occur with the keys generated by this class. + * The returned {@link SimpleKey} object can be safely used with a + * {@link org.springframework.cache.concurrent.ConcurrentMapCache}, however, + * might not be suitable for all {@link org.springframework.cache.Cache} * implementations. * * @author Phillip Webb * @author Juergen Hoeller * @since 4.0 * @see SimpleKey - * @see DefaultKeyGenerator * @see org.springframework.cache.annotation.CachingConfigurer */ public class SimpleKeyGenerator implements KeyGenerator { diff --git a/spring-context/src/main/java/org/springframework/remoting/RemoteAccessException.java b/spring-context/src/main/java/org/springframework/remoting/RemoteAccessException.java index 260b7de604..ac71aa200a 100644 --- a/spring-context/src/main/java/org/springframework/remoting/RemoteAccessException.java +++ b/spring-context/src/main/java/org/springframework/remoting/RemoteAccessException.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2008 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,10 +24,10 @@ import org.springframework.core.NestedRuntimeException; * to transparently expose a plain Java business interface. * *

When using conforming proxies, switching the actual remoting protocol - * e.g. from Hessian to Burlap does not affect client code. Clients work - * with a plain natural Java business interface that the service exposes. - * A client object simply receives an implementation for the interface that - * it needs via a bean reference, like it does for a local bean as well. + * e.g. from Hessian does not affect client code. Clients work with a plain + * natural Java business interface that the service exposes. A client object + * simply receives an implementation for the interface that it needs via a + * bean reference, like it does for a local bean as well. * *

A client may catch RemoteAccessException if it wants to, but as * remote access errors are typically unrecoverable, it will probably let diff --git a/spring-context/src/main/java/org/springframework/remoting/rmi/RmiProxyFactoryBean.java b/spring-context/src/main/java/org/springframework/remoting/rmi/RmiProxyFactoryBean.java index ef88378589..139c69a3f6 100644 --- a/spring-context/src/main/java/org/springframework/remoting/rmi/RmiProxyFactoryBean.java +++ b/spring-context/src/main/java/org/springframework/remoting/rmi/RmiProxyFactoryBean.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -39,11 +39,11 @@ import org.springframework.beans.factory.FactoryBean; * RemoteExceptions thrown by the RMI stub will automatically get converted to * Spring's unchecked RemoteAccessException. * - *

The major advantage of RMI, compared to Hessian and Burlap, is serialization. + *

The major advantage of RMI, compared to Hessian, is serialization. * Effectively, any serializable Java object can be transported without hassle. - * Hessian and Burlap have their own (de-)serialization mechanisms, but are - * HTTP-based and thus much easier to setup than RMI. Alternatively, consider - * Spring's HTTP invoker to combine Java serialization with HTTP-based transport. + * Hessian has its own (de-)serialization mechanisms, but is HTTP-based and thus + * much easier to setup than RMI. Alternatively, consider Spring's HTTP invoker + * to combine Java serialization with HTTP-based transport. * * @author Juergen Hoeller * @since 13.05.2003 @@ -55,7 +55,6 @@ import org.springframework.beans.factory.FactoryBean; * @see java.rmi.RemoteException * @see org.springframework.remoting.RemoteAccessException * @see org.springframework.remoting.caucho.HessianProxyFactoryBean - * @see org.springframework.remoting.caucho.BurlapProxyFactoryBean * @see org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean */ public class RmiProxyFactoryBean extends RmiClientInterceptor implements FactoryBean, BeanClassLoaderAware { diff --git a/spring-context/src/main/java/org/springframework/remoting/rmi/RmiServiceExporter.java b/spring-context/src/main/java/org/springframework/remoting/rmi/RmiServiceExporter.java index 6f05da086d..ca3f6e5f2e 100644 --- a/spring-context/src/main/java/org/springframework/remoting/rmi/RmiServiceExporter.java +++ b/spring-context/src/main/java/org/springframework/remoting/rmi/RmiServiceExporter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,11 +42,11 @@ import org.springframework.beans.factory.InitializingBean; * extend {@code java.rmi.Remote} or throw {@code java.rmi.RemoteException} * on all methods, but in and out parameters have to be serializable. * - *

The major advantage of RMI, compared to Hessian and Burlap, is serialization. + *

The major advantage of RMI, compared to Hessian, is serialization. * Effectively, any serializable Java object can be transported without hassle. - * Hessian and Burlap have their own (de-)serialization mechanisms, but are - * HTTP-based and thus much easier to setup than RMI. Alternatively, consider - * Spring's HTTP invoker to combine Java serialization with HTTP-based transport. + * Hessian has its own (de-)serialization mechanisms, but is HTTP-based and thus + * much easier to setup than RMI. Alternatively, consider Spring's HTTP invoker + * to combine Java serialization with HTTP-based transport. * *

Note: RMI makes a best-effort attempt to obtain the fully qualified host name. * If one cannot be determined, it will fall back and use the IP address. Depending @@ -63,7 +63,6 @@ import org.springframework.beans.factory.InitializingBean; * @see java.rmi.Remote * @see java.rmi.RemoteException * @see org.springframework.remoting.caucho.HessianServiceExporter - * @see org.springframework.remoting.caucho.BurlapServiceExporter * @see org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter */ public class RmiServiceExporter extends RmiBasedExporter implements InitializingBean, DisposableBean { diff --git a/spring-context/src/main/java/org/springframework/remoting/support/SimpleHttpServerFactoryBean.java b/spring-context/src/main/java/org/springframework/remoting/support/SimpleHttpServerFactoryBean.java index ad5ce7bc77..57d4a22813 100644 --- a/spring-context/src/main/java/org/springframework/remoting/support/SimpleHttpServerFactoryBean.java +++ b/spring-context/src/main/java/org/springframework/remoting/support/SimpleHttpServerFactoryBean.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -122,7 +122,6 @@ public class SimpleHttpServerFactoryBean implements FactoryBean, Ini * objects as values * @see org.springframework.remoting.httpinvoker.SimpleHttpInvokerServiceExporter * @see org.springframework.remoting.caucho.SimpleHessianServiceExporter - * @see org.springframework.remoting.caucho.SimpleBurlapServiceExporter */ public void setContexts(Map contexts) { this.contexts = contexts; diff --git a/spring-core/src/main/java/org/springframework/core/annotation/AnnotationAttributes.java b/spring-core/src/main/java/org/springframework/core/annotation/AnnotationAttributes.java index daccfd38d2..9b3f0cc10e 100644 --- a/spring-core/src/main/java/org/springframework/core/annotation/AnnotationAttributes.java +++ b/spring-core/src/main/java/org/springframework/core/annotation/AnnotationAttributes.java @@ -73,6 +73,31 @@ public class AnnotationAttributes extends LinkedHashMap { this.displayName = UNKNOWN; } + /** + * Create a new {@link AnnotationAttributes} instance, wrapping the provided + * map and all its key-value pairs. + * @param map original source of annotation attribute key-value pairs + * @see #fromMap(Map) + */ + public AnnotationAttributes(Map map) { + super(map); + this.annotationType = null; + this.displayName = UNKNOWN; + } + + /** + * Create a new {@link AnnotationAttributes} instance, wrapping the provided + * map and all its key-value pairs. + * @param other original source of annotation attribute key-value pairs + * @see #fromMap(Map) + */ + public AnnotationAttributes(AnnotationAttributes other) { + super(other); + this.annotationType = other.annotationType; + this.displayName = other.displayName; + this.validated = other.validated; + } + /** * Create a new, empty {@link AnnotationAttributes} instance for the * specified {@code annotationType}. @@ -89,7 +114,7 @@ public class AnnotationAttributes extends LinkedHashMap { /** * Create a new, empty {@link AnnotationAttributes} instance for the * specified {@code annotationType}. - * @param annotationType the type of annotation represented by this + * @param annotationType the annotation type name represented by this * {@code AnnotationAttributes} instance; never {@code null} * @param classLoader the ClassLoader to try to load the annotation type on, * or {@code null} to just store the annotation type name @@ -114,31 +139,6 @@ public class AnnotationAttributes extends LinkedHashMap { return null; } - /** - * Create a new {@link AnnotationAttributes} instance, wrapping the provided - * map and all its key-value pairs. - * @param map original source of annotation attribute key-value pairs - * @see #fromMap(Map) - */ - public AnnotationAttributes(Map map) { - super(map); - this.annotationType = null; - this.displayName = UNKNOWN; - } - - /** - * Create a new {@link AnnotationAttributes} instance, wrapping the provided - * map and all its key-value pairs. - * @param other original source of annotation attribute key-value pairs - * @see #fromMap(Map) - */ - public AnnotationAttributes(AnnotationAttributes other) { - super(other); - this.annotationType = other.annotationType; - this.displayName = other.displayName; - this.validated = other.validated; - } - /** * Get the type of annotation represented by this diff --git a/spring-core/src/main/java/org/springframework/util/PathMatcher.java b/spring-core/src/main/java/org/springframework/util/PathMatcher.java index 0bea9cd808..0e0cfb33b7 100644 --- a/spring-core/src/main/java/org/springframework/util/PathMatcher.java +++ b/spring-core/src/main/java/org/springframework/util/PathMatcher.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,7 +24,6 @@ import java.util.Map; * *

Used by {@link org.springframework.core.io.support.PathMatchingResourcePatternResolver}, * {@link org.springframework.web.servlet.handler.AbstractUrlHandlerMapping}, - * {@link org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver}, * and {@link org.springframework.web.servlet.mvc.WebContentInterceptor}. * *

The default implementation is {@link AntPathMatcher}, supporting the diff --git a/spring-core/src/main/java/org/springframework/util/ResourceUtils.java b/spring-core/src/main/java/org/springframework/util/ResourceUtils.java index d02da53582..082fade93a 100644 --- a/spring-core/src/main/java/org/springframework/util/ResourceUtils.java +++ b/spring-core/src/main/java/org/springframework/util/ResourceUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -41,12 +41,6 @@ import org.springframework.core.io.Resource; * object, which in turn allows one to obtain a {@code java.io.File} in the * file system through its {@code getFile()} method. * - *

The main reason for these utility methods for resource location handling - * is to support {@link Log4jConfigurer}, which must be able to resolve - * resource locations before the logging system has been initialized. - * Spring's {@code Resource} abstraction in the core package, on the other hand, - * already expects the logging system to be available. - * * @author Juergen Hoeller * @since 1.1.5 * @see org.springframework.core.io.Resource diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/support/lob/DefaultLobHandler.java b/spring-jdbc/src/main/java/org/springframework/jdbc/support/lob/DefaultLobHandler.java index b63c4e2b9e..7c4b047d6e 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/support/lob/DefaultLobHandler.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/support/lob/DefaultLobHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -60,9 +60,8 @@ import org.apache.commons.logging.LogFactory; * argument directly. Consider switching the {@link #setStreamAsLob "streamAsLob"} * property to "true" when operating against a fully compliant JDBC 4.0 driver. * - *

Finally, primarily as a direct equivalent to {@link OracleLobHandler}, - * this LobHandler also supports the creation of temporary BLOB/CLOB objects. - * Consider switching the {@link #setCreateTemporaryLob "createTemporaryLob"} + *

Finally, this LobHandler also supports the creation of temporary BLOB/CLOB + * objects. Consider switching the {@link #setCreateTemporaryLob "createTemporaryLob"} * property to "true" when "streamAsLob" happens to run into LOB size limitations. * *

See the {@link LobHandler} interface javadoc for a summary of recommendations. diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/support/lob/LobCreator.java b/spring-jdbc/src/main/java/org/springframework/jdbc/support/lob/LobCreator.java index 8bee169c79..2a93708979 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/support/lob/LobCreator.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/support/lob/LobCreator.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -48,7 +48,6 @@ import java.sql.SQLException; * @see #close() * @see LobHandler#getLobCreator() * @see DefaultLobHandler.DefaultLobCreator - * @see OracleLobHandler.OracleLobCreator * @see java.sql.PreparedStatement#setBlob * @see java.sql.PreparedStatement#setClob * @see java.sql.PreparedStatement#setBytes diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/support/lob/LobHandler.java b/spring-jdbc/src/main/java/org/springframework/jdbc/support/lob/LobHandler.java index 07e1847e4f..83b4367d5c 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/support/lob/LobHandler.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/support/lob/LobHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2013 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,9 +24,6 @@ import java.sql.SQLException; /** * Abstraction for handling large binary fields and large text fields in * specific databases, no matter if represented as simple types or Large OBjects. - * Its main purpose is to isolate Oracle 9i's peculiar handling of LOBs in - * {@link OracleLobHandler}; most other databases should be able to work - * with the provided {@link DefaultLobHandler}. * *

Provides accessor methods for BLOBs and CLOBs, and acts as factory for * LobCreator instances, to be used as sessions for creating BLOBs or CLOBs. @@ -41,15 +38,6 @@ import java.sql.SQLException; * {@code PreparedStatement.setBlob/setClob} (e.g. for PostgreSQL), through * setting the {@link DefaultLobHandler#setWrapAsLob "wrapAsLob"} property. * - *

Unfortunately, Oracle 9i just accepts Blob/Clob instances created via its own - * proprietary BLOB/CLOB API, and additionally doesn't accept large streams for - * PreparedStatement's corresponding setter methods. Therefore, you need to use - * {@link OracleLobHandler} there, which uses Oracle's BLOB/CLOB API for both types - * of access. The Oracle 10g+ JDBC driver will work with {@link DefaultLobHandler} - * as well, with some limitations in terms of LOB sizes depending on DBMS setup; - * as of Oracle 11g (or actually, using the 11g driver even against older databases), - * there should be no need to use {@link OracleLobHandler} at all anymore. - * *

Of course, you need to declare different field types for each database. * In Oracle, any binary content needs to go into a BLOB, and all character content * beyond 4000 bytes needs to go into a CLOB. In MySQL, there is no notion of a @@ -65,10 +53,7 @@ import java.sql.SQLException; * if you happen to run into LOB size limitations with your (Oracle) database setup. *

  • Oracle 10g driver: Use {@link DefaultLobHandler} with standard setup. * On Oracle 10.1, set the "SetBigStringTryClob" connection property; as of Oracle 10.2, - * DefaultLobHandler should work with standard setup out of the box. Alternatively, - * consider using the proprietary {@link OracleLobHandler} (see below). - *
  • Oracle 9i driver: Use {@link OracleLobHandler} with a connection-pool-specific - * {@link OracleLobHandler#setNativeJdbcExtractor NativeJdbcExtractor}. + * DefaultLobHandler should work with standard setup out of the box. *
  • PostgreSQL: Configure {@link DefaultLobHandler} with {@code wrapAsLob=true}, * and use that LobHandler to access OID columns (but not BYTEA) in your database tables. *
  • For all other database drivers (and for non-LOB fields that might potentially @@ -78,7 +63,6 @@ import java.sql.SQLException; * @author Juergen Hoeller * @since 23.12.2003 * @see DefaultLobHandler - * @see OracleLobHandler * @see java.sql.ResultSet#getBlob * @see java.sql.ResultSet#getClob * @see java.sql.ResultSet#getBytes diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/Jdbc4NativeJdbcExtractor.java b/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/Jdbc4NativeJdbcExtractor.java index b011339933..b4d34a9364 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/Jdbc4NativeJdbcExtractor.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/Jdbc4NativeJdbcExtractor.java @@ -42,7 +42,6 @@ import java.sql.Statement; * @see java.sql.Wrapper#unwrap * @see SimpleNativeJdbcExtractor * @see org.springframework.jdbc.core.JdbcTemplate#setNativeJdbcExtractor - * @see org.springframework.jdbc.support.lob.OracleLobHandler#setNativeJdbcExtractor */ public class Jdbc4NativeJdbcExtractor extends NativeJdbcExtractorAdapter { diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/NativeJdbcExtractor.java b/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/NativeJdbcExtractor.java index ca6d2ebb7d..fef6c7bb9c 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/NativeJdbcExtractor.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/NativeJdbcExtractor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -41,29 +41,17 @@ import java.sql.Statement; * not necessary to unwrap the Connection to retrieve a native ResultSet. * *

    When working with a simple connection pool that wraps Connections but not - * Statements, a {@link SimpleNativeJdbcExtractor} is often sufficient. However, - * some pools (like Apache's Commons DBCP) wrap all JDBC objects that they - * return: Therefore, you need to use a specific {@code NativeJdbcExtractor} - * (like {@link CommonsDbcpNativeJdbcExtractor}) with them. + * Statements, a {@link SimpleNativeJdbcExtractor} is often sufficient. * *

    {@link org.springframework.jdbc.core.JdbcTemplate} can properly apply a * {@code NativeJdbcExtractor} if specified, unwrapping all JDBC objects * that it creates. Note that this is just necessary if you intend to cast to * native implementations in your data access code. * - *

    {@link org.springframework.jdbc.support.lob.OracleLobHandler}, - * the Oracle-specific implementation of Spring's - * {@link org.springframework.jdbc.support.lob.LobHandler} interface, requires a - * {@code NativeJdbcExtractor} for obtaining the native {@code OracleConnection}. - * This is also necessary for other Oracle-specific features that you may want - * to leverage in your applications, such as Oracle InterMedia. - * * @author Juergen Hoeller * @since 25.08.2003 * @see SimpleNativeJdbcExtractor - * @see CommonsDbcpNativeJdbcExtractor * @see org.springframework.jdbc.core.JdbcTemplate#setNativeJdbcExtractor - * @see org.springframework.jdbc.support.lob.OracleLobHandler#setNativeJdbcExtractor */ public interface NativeJdbcExtractor { diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/SimpleNativeJdbcExtractor.java b/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/SimpleNativeJdbcExtractor.java index 5a6939c59c..2bc2781cfd 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/SimpleNativeJdbcExtractor.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/support/nativejdbc/SimpleNativeJdbcExtractor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -58,7 +58,6 @@ package org.springframework.jdbc.support.nativejdbc; * @see #setNativeConnectionNecessaryForNativeCallableStatements * @see Jdbc4NativeJdbcExtractor * @see org.springframework.jdbc.core.JdbcTemplate#setNativeJdbcExtractor - * @see org.springframework.jdbc.support.lob.OracleLobHandler#setNativeJdbcExtractor */ public class SimpleNativeJdbcExtractor extends NativeJdbcExtractorAdapter { diff --git a/spring-tx/src/main/java/org/springframework/jca/work/WorkManagerTaskExecutor.java b/spring-tx/src/main/java/org/springframework/jca/work/WorkManagerTaskExecutor.java index 5d221ad19b..227bc4367f 100644 --- a/spring-tx/src/main/java/org/springframework/jca/work/WorkManagerTaskExecutor.java +++ b/spring-tx/src/main/java/org/springframework/jca/work/WorkManagerTaskExecutor.java @@ -61,12 +61,6 @@ import org.springframework.util.concurrent.ListenableFutureTask; * can be linked into the J2EE environment through "gbean-ref" entries * in the {@code geronimo-web.xml} deployment descriptor. * - *

    On JBoss and GlassFish, obtaining the default JCA WorkManager - * requires special lookup steps. See the - * {@link org.springframework.jca.work.jboss.JBossWorkManagerTaskExecutor} - * {@link org.springframework.jca.work.glassfish.GlassFishWorkManagerTaskExecutor} - * classes which are the direct equivalent of this generic JCA adapter class. - * * @author Juergen Hoeller * @since 2.0.3 * @see #setWorkManager diff --git a/spring-web/src/main/java/org/springframework/http/converter/reactive/HttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/reactive/HttpMessageConverter.java index ff8c5531b5..a8e1d947b5 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/reactive/HttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/reactive/HttpMessageConverter.java @@ -30,6 +30,7 @@ import org.springframework.http.ReactiveHttpOutputMessage; /** * Strategy interface that specifies a converter that can convert from and to HTTP * requests and responses. + * * @author Arjen Poutsma * @since 5.0 */ @@ -53,9 +54,8 @@ public interface HttpMessageConverter { /** * Read a {@link Flux} of the given type form the given input message, and returns it. * @param type the type of object to return. This type must have previously been - * passed to the - * {@link #canRead canRead} method of this interface, which must have returned {@code - * true}. + * passed to the {@link #canRead canRead} method of this interface, which must have + * returned {@code true}. * @param inputMessage the HTTP input message to read from * @return the converted {@link Flux} of elements */ @@ -64,9 +64,8 @@ public interface HttpMessageConverter { /** * Read a {@link Mono} of the given type form the given input message, and returns it. * @param type the type of object to return. This type must have previously been - * passed to the - * {@link #canRead canRead} method of this interface, which must have returned {@code - * true}. + * passed to the {@link #canRead canRead} method of this interface, which must have + * returned {@code true}. * @param inputMessage the HTTP input message to read from * @return the converted {@link Mono} of object */ @@ -82,8 +81,7 @@ public interface HttpMessageConverter { boolean canWrite(ResolvableType type, MediaType mediaType); /** - * Return the list of {@link MediaType} objects that can be written by this - * converter. + * Return the list of {@link MediaType} objects that can be written by this converter. * @return the list of supported readable media types */ List getWritableMediaTypes(); @@ -95,10 +93,9 @@ public interface HttpMessageConverter { * @param contentType the content type to use when writing. May be {@code null} to * indicate that the default content type of the converter must be used. * @param outputMessage the message to write to - * @return + * @return the converted {@link Mono} of object */ - Mono write(Publisher inputStream, - ResolvableType type, MediaType contentType, - ReactiveHttpOutputMessage outputMessage); + Mono write(Publisher inputStream, ResolvableType type, + MediaType contentType, ReactiveHttpOutputMessage outputMessage); } diff --git a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerClientInterceptor.java b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerClientInterceptor.java index 6144c786c8..cdb0aefc3b 100644 --- a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerClientInterceptor.java +++ b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerClientInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,7 +38,7 @@ import org.springframework.remoting.support.RemoteInvocationResult; * *

    Serializes remote invocation objects and deserializes remote invocation * result objects. Uses Java serialization just like RMI, but provides the - * same ease of setup as Caucho's HTTP-based Hessian and Burlap protocols. + * same ease of setup as Caucho's HTTP-based Hessian protocol. * *

    HTTP invoker is a very extensible and customizable protocol. * It supports the RemoteInvocationFactory mechanism, like RMI invoker, diff --git a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerProxyFactoryBean.java b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerProxyFactoryBean.java index 1386ea1a91..8850398a53 100644 --- a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerProxyFactoryBean.java +++ b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerProxyFactoryBean.java @@ -29,12 +29,12 @@ import org.springframework.beans.factory.FactoryBean; * *

    Serializes remote invocation objects and deserializes remote invocation * result objects. Uses Java serialization just like RMI, but provides the - * same ease of setup as Caucho's HTTP-based Hessian and Burlap protocols. + * same ease of setup as Caucho's HTTP-based Hessian protocol. * *

    HTTP invoker is the recommended protocol for Java-to-Java remoting. - * It is more powerful and more extensible than Hessian and Burlap, at the - * expense of being tied to Java. Nevertheless, it is as easy to set up as - * Hessian and Burlap, which is its main advantage compared to RMI. + * It is more powerful and more extensible than Hessian, at the expense of + * being tied to Java. Nevertheless, it is as easy to set up as Hessian, + * which is its main advantage compared to RMI. * *

    WARNING: Be aware of vulnerabilities due to unsafe Java deserialization: * Manipulated input streams could lead to unwanted code execution on the server @@ -50,7 +50,6 @@ import org.springframework.beans.factory.FactoryBean; * @see HttpInvokerServiceExporter * @see org.springframework.remoting.rmi.RmiProxyFactoryBean * @see org.springframework.remoting.caucho.HessianProxyFactoryBean - * @see org.springframework.remoting.caucho.BurlapProxyFactoryBean */ public class HttpInvokerProxyFactoryBean extends HttpInvokerClientInterceptor implements FactoryBean { diff --git a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerServiceExporter.java b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerServiceExporter.java index 82bb00b6c6..15332cc17a 100644 --- a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerServiceExporter.java +++ b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/HttpInvokerServiceExporter.java @@ -41,12 +41,12 @@ import org.springframework.web.util.NestedServletException; * *

    Deserializes remote invocation objects and serializes remote invocation * result objects. Uses Java serialization just like RMI, but provides the - * same ease of setup as Caucho's HTTP-based Hessian and Burlap protocols. + * same ease of setup as Caucho's HTTP-based Hessian protocol. * *

    HTTP invoker is the recommended protocol for Java-to-Java remoting. - * It is more powerful and more extensible than Hessian and Burlap, at the - * expense of being tied to Java. Nevertheless, it is as easy to set up as - * Hessian and Burlap, which is its main advantage compared to RMI. + * It is more powerful and more extensible than Hessian, at the expense of + * being tied to Java. Nevertheless, it is as easy to set up as Hessian, + * which is its main advantage compared to RMI. * *

    WARNING: Be aware of vulnerabilities due to unsafe Java deserialization: * Manipulated input streams could lead to unwanted code execution on the server @@ -59,7 +59,6 @@ import org.springframework.web.util.NestedServletException; * @see HttpInvokerProxyFactoryBean * @see org.springframework.remoting.rmi.RmiServiceExporter * @see org.springframework.remoting.caucho.HessianServiceExporter - * @see org.springframework.remoting.caucho.BurlapServiceExporter */ public class HttpInvokerServiceExporter extends RemoteInvocationSerializingExporter implements HttpRequestHandler { diff --git a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/SimpleHttpInvokerServiceExporter.java b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/SimpleHttpInvokerServiceExporter.java index 6f3b016da9..0463fbedf2 100644 --- a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/SimpleHttpInvokerServiceExporter.java +++ b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/SimpleHttpInvokerServiceExporter.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2014 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,19 +38,18 @@ import org.springframework.remoting.support.RemoteInvocationResult; * *

    Deserializes remote invocation objects and serializes remote invocation * result objects. Uses Java serialization just like RMI, but provides the - * same ease of setup as Caucho's HTTP-based Hessian and Burlap protocols. + * same ease of setup as Caucho's HTTP-based Hessian protocol. * *

    HTTP invoker is the recommended protocol for Java-to-Java remoting. - * It is more powerful and more extensible than Hessian and Burlap, at the - * expense of being tied to Java. Nevertheless, it is as easy to set up as - * Hessian and Burlap, which is its main advantage compared to RMI. + * It is more powerful and more extensible than Hessian, at the expense of + * being tied to Java. Nevertheless, it is as easy to set up as Hessian, + * which is its main advantage compared to RMI. * * @author Juergen Hoeller * @since 2.5.1 * @see org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor * @see org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean * @see org.springframework.remoting.caucho.SimpleHessianServiceExporter - * @see org.springframework.remoting.caucho.SimpleBurlapServiceExporter */ @UsesSunHttpServer public class SimpleHttpInvokerServiceExporter extends RemoteInvocationSerializingExporter diff --git a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/package-info.java b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/package-info.java index f6f726dc11..c145ec2455 100644 --- a/spring-web/src/main/java/org/springframework/remoting/httpinvoker/package-info.java +++ b/spring-web/src/main/java/org/springframework/remoting/httpinvoker/package-info.java @@ -1,11 +1,11 @@ /** * Remoting classes for transparent Java-to-Java remoting via HTTP invokers. * Uses Java serialization just like RMI, but provides the same ease of setup - * as Caucho's HTTP-based Hessian and Burlap protocols. + * as Caucho's HTTP-based Hessian protocol. * *

    HTTP invoker is the recommended protocol for Java-to-Java remoting. - * It is more powerful and more extensible than Hessian and Burlap, at the - * expense of being tied to Java. Neverthelesss, it is as easy to set up as - * Hessian and Burlap, which is its main advantage compared to RMI. + * It is more powerful and more extensible than Hessian, at the expense of + * being tied to Java. Nevertheless, it is as easy to set up as Hessian, + * which is its main advantage compared to RMI. */ package org.springframework.remoting.httpinvoker; diff --git a/spring-web/src/main/java/org/springframework/web/HttpRequestHandler.java b/spring-web/src/main/java/org/springframework/web/HttpRequestHandler.java index ac173879a6..9ccbdddff6 100644 --- a/spring-web/src/main/java/org/springframework/web/HttpRequestHandler.java +++ b/spring-web/src/main/java/org/springframework/web/HttpRequestHandler.java @@ -72,7 +72,6 @@ import javax.servlet.http.HttpServletResponse; * @see org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter * @see org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter * @see org.springframework.remoting.caucho.HessianServiceExporter - * @see org.springframework.remoting.caucho.BurlapServiceExporter */ @FunctionalInterface public interface HttpRequestHandler { diff --git a/spring-web/src/main/java/org/springframework/web/client/reactive/package-info.java b/spring-web/src/main/java/org/springframework/web/client/reactive/package-info.java index 693089156f..1dac81abd4 100644 --- a/spring-web/src/main/java/org/springframework/web/client/reactive/package-info.java +++ b/spring-web/src/main/java/org/springframework/web/client/reactive/package-info.java @@ -1,6 +1,6 @@ /** * Provides a reactive {@link org.springframework.web.client.reactive.WebClient} * that builds on top of the - * {@link org.springframework.http.client.reactive reactive HTTP adapter} layer. + * {@code org.springframework.http.client.reactive} reactive HTTP adapter} layer. */ package org.springframework.web.client.reactive; diff --git a/spring-web/src/main/java/org/springframework/web/context/ContextLoaderListener.java b/spring-web/src/main/java/org/springframework/web/context/ContextLoaderListener.java index 3b4fa7f28d..13a38ebadd 100644 --- a/spring-web/src/main/java/org/springframework/web/context/ContextLoaderListener.java +++ b/spring-web/src/main/java/org/springframework/web/context/ContextLoaderListener.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,9 +23,6 @@ import javax.servlet.ServletContextListener; * Bootstrap listener to start up and shut down Spring's root {@link WebApplicationContext}. * Simply delegates to {@link ContextLoader} as well as to {@link ContextCleanupListener}. * - *

    This listener should be registered after {@link org.springframework.web.util.Log4jConfigListener} - * in {@code web.xml}, if the latter is used. - * *

    As of Spring 3.1, {@code ContextLoaderListener} supports injecting the root web * application context via the {@link #ContextLoaderListener(WebApplicationContext)} * constructor, allowing for programmatic configuration in Servlet 3.0+ environments. @@ -36,7 +33,6 @@ import javax.servlet.ServletContextListener; * @since 17.02.2003 * @see #setContextInitializers * @see org.springframework.web.WebApplicationInitializer - * @see org.springframework.web.util.Log4jConfigListener */ public class ContextLoaderListener extends ContextLoader implements ServletContextListener { diff --git a/spring-web/src/main/java/org/springframework/web/server/adapter/package-info.java b/spring-web/src/main/java/org/springframework/web/server/adapter/package-info.java index 462b71c259..8f20e00d33 100644 --- a/spring-web/src/main/java/org/springframework/web/server/adapter/package-info.java +++ b/spring-web/src/main/java/org/springframework/web/server/adapter/package-info.java @@ -1,6 +1,6 @@ /** * Implementations to adapt to the underlying - * {@link org.springframework.http.client.reactive reactive HTTP adapter} + * {@code org.springframework.http.client.reactive} reactive HTTP adapter * and {@link org.springframework.http.server.reactive.HttpHandler}. */ package org.springframework.web.server.adapter; diff --git a/spring-web/src/main/java/org/springframework/web/server/package-info.java b/spring-web/src/main/java/org/springframework/web/server/package-info.java index ebf89dc0ff..dda2f5dbef 100644 --- a/spring-web/src/main/java/org/springframework/web/server/package-info.java +++ b/spring-web/src/main/java/org/springframework/web/server/package-info.java @@ -1,8 +1,7 @@ /** * Core interfaces and classes for Spring's generic, reactive web support. - * Builds on top of - * {@link org.springframework.http.client.reactive reactive HTTP adapter} layer - * providing additional constructs such as WebHandler, WebFilter, WebSession - * among others. + * Builds on top of the {@code org.springframework.http.client.reactive} + * reactive HTTP adapter layer, providing additional constructs such as + * WebHandler, WebFilter, WebSession among others. */ package org.springframework.web.server; diff --git a/spring-web/src/main/java/org/springframework/web/util/HtmlUtils.java b/spring-web/src/main/java/org/springframework/web/util/HtmlUtils.java index cb43aa9e04..6210945626 100644 --- a/spring-web/src/main/java/org/springframework/web/util/HtmlUtils.java +++ b/spring-web/src/main/java/org/springframework/web/util/HtmlUtils.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2015 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,7 +36,6 @@ import org.springframework.util.Assert; * @author Martin Kersten * @author Craig Andrews * @since 01.03.2003 - * @see org.apache.commons.lang.StringEscapeUtils */ public abstract class HtmlUtils { diff --git a/spring-web/src/main/java/org/springframework/web/util/UrlPathHelper.java b/spring-web/src/main/java/org/springframework/web/util/UrlPathHelper.java index 31b2187918..4305d8476b 100644 --- a/spring-web/src/main/java/org/springframework/web/util/UrlPathHelper.java +++ b/spring-web/src/main/java/org/springframework/web/util/UrlPathHelper.java @@ -35,8 +35,7 @@ import org.springframework.util.StringUtils; * Helper class for URL path matching. Provides support for URL paths in * RequestDispatcher includes and support for consistent URL decoding. * - *

    Used by {@link org.springframework.web.servlet.handler.AbstractUrlHandlerMapping}, - * {@link org.springframework.web.servlet.mvc.multiaction.AbstractUrlMethodNameResolver} + *

    Used by {@link org.springframework.web.servlet.handler.AbstractUrlHandlerMapping} * and {@link org.springframework.web.servlet.support.RequestContext} for path matching * and/or URI determination. * @@ -179,8 +178,8 @@ public class UrlPathHelper { String sanitizedPathWithinApp = getSanitizedPath(pathWithinApp); String path; - // if the app container sanitized the servletPath, check against the sanitized version - if (servletPath.indexOf(sanitizedPathWithinApp) != -1) { + // If the app container sanitized the servletPath, check against the sanitized version + if (servletPath.contains(sanitizedPathWithinApp)) { path = getRemainingPath(sanitizedPathWithinApp, servletPath, false); } else { diff --git a/spring-web/src/main/java/org/springframework/web/util/WebAppRootListener.java b/spring-web/src/main/java/org/springframework/web/util/WebAppRootListener.java index 7042ed762b..8f2b60f11a 100644 --- a/spring-web/src/main/java/org/springframework/web/util/WebAppRootListener.java +++ b/spring-web/src/main/java/org/springframework/web/util/WebAppRootListener.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2012 the original author or authors. + * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -47,7 +47,6 @@ import javax.servlet.ServletContextListener; * @author Juergen Hoeller * @since 18.04.2003 * @see WebUtils#setWebAppRootSystemProperty - * @see Log4jConfigListener * @see System#getProperty */ public class WebAppRootListener implements ServletContextListener { diff --git a/spring-web/src/main/java/org/springframework/web/util/WebUtils.java b/spring-web/src/main/java/org/springframework/web/util/WebUtils.java index aca26544fc..17a9a56b36 100644 --- a/spring-web/src/main/java/org/springframework/web/util/WebUtils.java +++ b/spring-web/src/main/java/org/springframework/web/util/WebUtils.java @@ -146,7 +146,6 @@ public abstract class WebUtils { * @see #WEB_APP_ROOT_KEY_PARAM * @see #DEFAULT_WEB_APP_ROOT_KEY * @see WebAppRootListener - * @see Log4jWebConfigurer */ public static void setWebAppRootSystemProperty(ServletContext servletContext) throws IllegalStateException { Assert.notNull(servletContext, "ServletContext must not be null"); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/WebContentInterceptor.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/WebContentInterceptor.java index 7eb293d6bf..c3af22e000 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/WebContentInterceptor.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/WebContentInterceptor.java @@ -102,7 +102,6 @@ public class WebContentInterceptor extends WebContentGenerator implements Handle *

    Only relevant for the "cacheMappings" setting. * @see #setCacheMappings * @see org.springframework.web.servlet.handler.AbstractUrlHandlerMapping#setUrlPathHelper - * @see org.springframework.web.servlet.mvc.multiaction.AbstractUrlMethodNameResolver#setUrlPathHelper */ public void setUrlPathHelper(UrlPathHelper urlPathHelper) { Assert.notNull(urlPathHelper, "UrlPathHelper must not be null"); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/MvcUriComponentsBuilder.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/MvcUriComponentsBuilder.java index 9af2ec1e7a..aefc71b61a 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/MvcUriComponentsBuilder.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/MvcUriComponentsBuilder.java @@ -118,7 +118,7 @@ public class MvcUriComponentsBuilder { * @see #fromMethodName(Class, String, Object...) * @see #fromMethodCall(Object) * @see #fromMappingName(String) - * @see #fromMethod(java.lang.reflect.Method, Object...) + * @see #fromMethod(Class, Method, Object...) */ protected MvcUriComponentsBuilder(UriComponentsBuilder baseUrl) { Assert.notNull(baseUrl, "'baseUrl' is required"); @@ -168,7 +168,7 @@ public class MvcUriComponentsBuilder { /** * Create a {@link UriComponentsBuilder} from the mapping of a controller * method and an array of method argument values. This method delegates - * to {@link #fromMethod(java.lang.reflect.Method, Object...)}. + * to {@link #fromMethod(Class, Method, Object...)}. * @param controllerType the controller * @param methodName the method name * @param args the argument values @@ -207,7 +207,7 @@ public class MvcUriComponentsBuilder { /** * Create a {@link UriComponentsBuilder} by invoking a "mock" controller method. * The controller method and the supplied argument values are then used to - * delegate to {@link #fromMethod(java.lang.reflect.Method, Object...)}. + * delegate to {@link #fromMethod(Class, Method, Object...)}. *

    For example, given this controller: *

     	 * @RequestMapping("/people/{id}/addresses")
    @@ -361,7 +361,7 @@ public class MvcUriComponentsBuilder {
     	}
     
     	/**
    -	 * An alternative to {@link #fromMethod(java.lang.reflect.Method, Object...)}
    +	 * An alternative to {@link #fromMethod(Class, Method, Object...)}
     	 * that accepts a {@code UriComponentsBuilder} representing the base URL.
     	 * This is useful when using MvcUriComponentsBuilder outside the context of
     	 * processing a request or to apply a custom baseUrl not matching the
    @@ -546,8 +546,7 @@ public class MvcUriComponentsBuilder {
     	 * on the controller is invoked, the supplied argument values are remembered
     	 * and the result can then be used to create a {@code UriComponentsBuilder}
     	 * via {@link #fromMethodCall(Object)}.
    -	 * 

    - * Note that this is a shorthand version of {@link #controller(Class)} intended + *

    Note that this is a shorthand version of {@link #controller(Class)} intended * for inline use (with a static import), for example: *

     	 * MvcUriComponentsBuilder.fromMethodCall(on(FooController.class).getFoo(1)).build();
    @@ -563,8 +562,7 @@ public class MvcUriComponentsBuilder {
     	 * on the controller is invoked, the supplied argument values are remembered
     	 * and the result can then be used to create {@code UriComponentsBuilder} via
     	 * {@link #fromMethodCall(Object)}.
    -	 * 

    - * This is a longer version of {@link #on(Class)}. It is needed with controller + *

    This is a longer version of {@link #on(Class)}. It is needed with controller * methods returning void as well for repeated invocations. *

     	 * FooController fooController = controller(FooController.class);
    diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/support/RequestContext.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/support/RequestContext.java
    index 256ed8ce7b..a6e7156f5d 100644
    --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/support/RequestContext.java
    +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/support/RequestContext.java
    @@ -468,7 +468,7 @@ public class RequestContext {
     	/**
     	 * (De)activate default HTML escaping for messages and errors, for the scope of this RequestContext.
     	 * 

    The default is the application-wide setting (the "defaultHtmlEscape" context-param in web.xml). - * @see org.springframework.web.util.WebUtils#isDefaultHtmlEscape + * @see org.springframework.web.util.WebUtils#getDefaultHtmlEscape */ public void setDefaultHtmlEscape(boolean defaultHtmlEscape) { this.defaultHtmlEscape = defaultHtmlEscape; diff --git a/src/asciidoc/images/full.svg b/src/asciidoc/images/full.svg index e416f6e4df..44b4c76758 100644 --- a/src/asciidoc/images/full.svg +++ b/src/asciidoc/images/full.svg @@ -222,7 +222,7 @@ x="15.55" dy="1.2em" class="st8">Email Box.17 - Remote access via Hession, Burlap, SOAP + Remote access via Hession or SOAP @@ -234,8 +234,7 @@ Remote access viaHession, Burlap, SOAP + x="9.04" dy="1.2em" class="st8">access viaHession, SOAP Box.18 WebApplicationContext providing e.g. messaging diff --git a/src/asciidoc/images/overview-remoting.graffle b/src/asciidoc/images/overview-remoting.graffle index 029ffe2268..11e10c2475 100644 --- a/src/asciidoc/images/overview-remoting.graffle +++ b/src/asciidoc/images/overview-remoting.graffle @@ -128,41 +128,6 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural -\f0\i\fs28 \cf0 Burlap Client} - - - - Bounds - {{222.995, 18.3863}, {123.908, 52.4129}} - Class - ShapedGraphic - ID - 84 - Shape - Rectangle - Style - - fill - - Color - - b - 0.51301 - g - 0.996221 - r - 1 - - - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf430 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural - \f0\i\fs28 \cf0 Hessian Client} diff --git a/src/asciidoc/images/remoting.svg b/src/asciidoc/images/remoting.svg index 2b2d59337b..9b45245bdf 100644 --- a/src/asciidoc/images/remoting.svg +++ b/src/asciidoc/images/remoting.svg @@ -110,20 +110,6 @@ Hessian client - - Box.6 - Burlap client - - - - - - - - - - Burlap client Box.7 RMI client diff --git a/src/asciidoc/integration.adoc b/src/asciidoc/integration.adoc index 5c83a26b76..29775b59be 100644 --- a/src/asciidoc/integration.adoc +++ b/src/asciidoc/integration.adoc @@ -39,8 +39,6 @@ usual (Spring) POJOs. Currently, Spring supports the following remoting technolo * __Hessian__. By using Spring's `HessianProxyFactoryBean` and the `HessianServiceExporter` you can transparently expose your services using the lightweight binary HTTP-based protocol provided by Caucho. -* __Burlap__. Burlap is Caucho's XML-based alternative to Hessian. Spring provides - support classes such as `BurlapProxyFactoryBean` and `BurlapServiceExporter`. * __JAX-WS__. Spring provides remoting support for web services via JAX-WS (the successor of JAX-RPC, as introduced in Java EE 5 and Java 6). * __JMS__. Remoting using JMS as the underlying protocol is supported via the @@ -207,7 +205,7 @@ will transparently create an invoker and remotely enable the account service thr [[remoting-caucho-protocols]] -=== Using Hessian or Burlap to remotely call services via HTTP +=== Using Hessian to remotely call services via HTTP Hessian offers a binary HTTP-based remoting protocol. It is developed by Caucho and more information about Hessian itself can be found at http://www.caucho.com[]. @@ -329,22 +327,13 @@ the `AccountService` to manage accounts: -[[remoting-caucho-protocols-burlap]] -==== Using Burlap -We won't discuss Burlap, the XML-based equivalent of Hessian, in detail here, since it -is configured and set up in exactly the same way as the Hessian variant explained above. -Just replace the word `Hessian` with `Burlap` and you're all set to go. - - - [[remoting-caucho-protocols-security]] -==== Applying HTTP basic authentication to a service exposed through Hessian or Burlap -One of the advantages of Hessian and Burlap is that we can easily apply HTTP basic -authentication, because both protocols are HTTP-based. Your normal HTTP server security -mechanism can easily be applied through using the `web.xml` security features, for -example. Usually, you don't use per-user security credentials here, but rather shared -credentials defined at the `Hessian/BurlapProxyFactoryBean` level (similar to a JDBC -`DataSource`). +==== Applying HTTP basic authentication to a service exposed through Hessian +One of the advantages of Hessian is that we can easily apply HTTP basic authentication, +because both protocols are HTTP-based. Your normal HTTP server security mechanism can +easily be applied through using the `web.xml` security features, for example. Usually, +you don't use per-user security credentials here, but rather shared credentials defined +at the `HessianProxyFactoryBean` level (similar to a JDBC `DataSource`). [source,xml,indent=0] [subs="verbatim,quotes"] @@ -375,12 +364,12 @@ at http://projects.spring.io/spring-security/[]. [[remoting-httpinvoker]] === Exposing services using HTTP invokers -As opposed to Burlap and Hessian, which are both lightweight protocols using their own -slim serialization mechanisms, Spring HTTP invokers use the standard Java serialization +As opposed to Hessian, which are both lightweight protocols using their own slim +serialization mechanisms, Spring HTTP invokers use the standard Java serialization mechanism to expose services through HTTP. This has a huge advantage if your arguments and return types are complex types that cannot be serialized using the serialization -mechanisms Hessian and Burlap use (refer to the next section for more considerations -when choosing a remoting technology). +mechanisms Hessian uses (refer to the next section for more considerations when +choosing a remoting technology). Under the hood, Spring uses either the standard facilities provided by the JDK or Apache `HttpComponents` to perform HTTP calls. Use the latter if you need more @@ -393,7 +382,7 @@ for more information. [[remoting-httpinvoker-server]] ==== Exposing the service object Setting up the HTTP invoker infrastructure for a service object resembles closely the -way you would do the same using Hessian or Burlap. Just as Hessian support provides the +way you would do the same using Hessian. Just as Hessian support provides the `HessianServiceExporter`, Spring's HttpInvoker support provides the `org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter`. @@ -472,8 +461,8 @@ shown in this example: [[remoting-httpinvoker-client]] ==== Linking in the service at the client Again, linking in the service from the client much resembles the way you would do it -when using Hessian or Burlap. Using a proxy, Spring will be able to translate your calls -to HTTP POST requests to the URL pointing to the exported service. +when using Hessian. Using a proxy, Spring will be able to translate your calls to +HTTP POST requests to the URL pointing to the exported service. [source,xml,indent=0] [subs="verbatim,quotes"] @@ -924,11 +913,11 @@ HTTP as transport. Note that HTTP invokers are not only limited to Java-to-Java but also to Spring on both the client and server side. (The latter also applies to Spring's RMI invoker for non-RMI interfaces.) -Hessian and/or Burlap might provide significant value when operating in a heterogeneous -environment, because they explicitly allow for non-Java clients. However, non-Java -support is still limited. Known issues include the serialization of Hibernate objects in -combination with lazily-initialized collections. If you have such a data model, consider -using RMI or HTTP invokers instead of Hessian. +Hessian might provide significant value when operating in a heterogeneous environment, +because they explicitly allow for non-Java clients. However, non-Java support is still +limited. Known issues include the serialization of Hibernate objects in combination with +lazily-initialized collections. If you have such a data model, consider using RMI or +HTTP invokers instead of Hessian. JMS can be useful for providing clusters of services and allowing the JMS broker to take care of load balancing, discovery and auto-failover. By default: Java serialization is @@ -4170,13 +4159,12 @@ To create an `MBeanServerConnection` to a remote JSR-160 enabled `MBeanServer` u [[jmx-jsr160-protocols]] -==== JMX over Burlap/Hessian/SOAP +==== JMX over Hessian or SOAP JSR-160 permits extensions to the way in which communication is done between the client and the server. The examples above are using the mandatory RMI-based implementation required by the JSR-160 specification (IIOP and JRMP) and the (optional) JMXMP. By using other providers or JMX implementations (such as http://mx4j.sourceforge.net[MX4J]) you -can take advantage of protocols like SOAP, Hessian, Burlap over simple HTTP or SSL and -others: +can take advantage of protocols like SOAP or Hessian over simple HTTP or SSL and others: [source,xml,indent=0] [subs="verbatim,quotes"] diff --git a/src/asciidoc/overview.adoc b/src/asciidoc/overview.adoc index a6131c24af..9edca1040d 100644 --- a/src/asciidoc/overview.adoc +++ b/src/asciidoc/overview.adoc @@ -274,7 +274,7 @@ layer. image::images/overview-remoting.png[width=400] When you need to access existing code through web services, you can use Spring's -`Hessian-`, `Burlap-`, `Rmi-` or `JaxRpcProxyFactory` classes. Enabling remote access to +`Hessian-`, `Rmi-` or `HttpInvokerProxyFactoryBean` classes. Enabling remote access to existing applications is not difficult. .EJBs - Wrapping existing POJOs