Fix broken links in Javadoc
This commit removes several links that were broken due to the removal of various APIs in 6.0. See gh-27480
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2020 the original author or authors.
|
||||
* Copyright 2002-2021 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,8 +38,7 @@ import org.springframework.lang.Nullable;
|
||||
* <p>Note: This is by no means a sophisticated CacheManager; it comes with no
|
||||
* cache configuration options. However, it may be useful for testing or simple
|
||||
* caching scenarios. For advanced local caching needs, consider
|
||||
* {@link org.springframework.cache.jcache.JCacheCacheManager},
|
||||
* {@link org.springframework.cache.ehcache.EhCacheCacheManager},
|
||||
* {@link org.springframework.cache.jcache.JCacheCacheManager} or
|
||||
* {@link org.springframework.cache.caffeine.CaffeineCacheManager}.
|
||||
*
|
||||
* @author Juergen Hoeller
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2012 the original author or authors.
|
||||
* Copyright 2002-2021 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.
|
||||
@@ -17,22 +17,17 @@
|
||||
package org.springframework.scheduling;
|
||||
|
||||
/**
|
||||
* Extension of the Runnable interface, adding special callbacks
|
||||
* Extension of the {@link Runnable} interface, adding special callbacks
|
||||
* for long-running operations.
|
||||
*
|
||||
* <p>This interface closely corresponds to the CommonJ Work interface,
|
||||
* but is kept separate to avoid a required CommonJ dependency.
|
||||
*
|
||||
* <p>Scheduling-capable TaskExecutors are encouraged to check a submitted
|
||||
* Runnable, detecting whether this interface is implemented and reacting
|
||||
* as appropriately as they are able to.
|
||||
*
|
||||
* @author Juergen Hoeller
|
||||
* @since 2.0
|
||||
* @see commonj.work.Work
|
||||
* @see org.springframework.core.task.TaskExecutor
|
||||
* @see SchedulingTaskExecutor
|
||||
* @see org.springframework.scheduling.commonj.WorkManagerTaskExecutor
|
||||
*/
|
||||
public interface SchedulingAwareRunnable extends Runnable {
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
* Copyright 2002-2021 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.
|
||||
@@ -28,7 +28,7 @@ import org.springframework.core.task.AsyncTaskExecutor;
|
||||
*
|
||||
* <p>Note: {@link SchedulingTaskExecutor} implementations are encouraged to also
|
||||
* implement the {@link org.springframework.core.task.AsyncListenableTaskExecutor}
|
||||
* interface. This is not required due to the dependency on Spring 4.0's new
|
||||
* interface. This is not required due to the dependency on Spring 4.0's
|
||||
* {@link org.springframework.util.concurrent.ListenableFuture} interface,
|
||||
* which would make it impossible for third-party executor implementations
|
||||
* to remain compatible with both Spring 4.0 and Spring 3.x.
|
||||
@@ -37,7 +37,6 @@ import org.springframework.core.task.AsyncTaskExecutor;
|
||||
* @since 2.0
|
||||
* @see SchedulingAwareRunnable
|
||||
* @see org.springframework.core.task.TaskExecutor
|
||||
* @see org.springframework.scheduling.commonj.WorkManagerTaskExecutor
|
||||
*/
|
||||
public interface SchedulingTaskExecutor extends AsyncTaskExecutor {
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2016 the original author or authors.
|
||||
* Copyright 2002-2021 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.
|
||||
@@ -26,12 +26,12 @@ import org.springframework.lang.Nullable;
|
||||
import org.springframework.util.ClassUtils;
|
||||
|
||||
/**
|
||||
* Special ObjectInputStream subclass that resolves class names
|
||||
* against a specific ClassLoader. Serves as base class for
|
||||
* {@link org.springframework.remoting.rmi.CodebaseAwareObjectInputStream}.
|
||||
* Special {@link ObjectInputStream} subclass that resolves class names
|
||||
* against a specific {@link ClassLoader}.
|
||||
*
|
||||
* @author Juergen Hoeller
|
||||
* @since 2.5.5
|
||||
* @see org.springframework.core.serializer.DefaultDeserializer
|
||||
*/
|
||||
public class ConfigurableObjectInputStream extends ObjectInputStream {
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
* Copyright 2002-2021 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,6 @@ import org.springframework.util.Assert;
|
||||
* @author Costin Leau
|
||||
* @author Sam Brannen
|
||||
* @since 3.0
|
||||
* @see org.jboss.vfs.VirtualFile
|
||||
*/
|
||||
public class VfsResource extends AbstractResource {
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
* Copyright 2002-2021 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.
|
||||
@@ -35,8 +35,9 @@ import org.springframework.util.ReflectionUtils;
|
||||
* (package {@code org.jboss.vfs}) and is in particular compatible with
|
||||
* JBoss AS 7 and WildFly 8+.
|
||||
*
|
||||
* <p>Thanks go to Marius Bogoevici for the initial patch.
|
||||
* <b>Note:</b> This is an internal class and should not be used outside the framework.
|
||||
* <p>Thanks go to Marius Bogoevici for the initial implementation.
|
||||
*
|
||||
* <p><b>Note:</b> This is an internal class and should not be used outside the framework.
|
||||
*
|
||||
* @author Costin Leau
|
||||
* @author Juergen Hoeller
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2020 the original author or authors.
|
||||
* Copyright 2002-2021 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.
|
||||
@@ -45,7 +45,6 @@ import org.springframework.util.concurrent.ListenableFutureTask;
|
||||
* @see #setConcurrencyLimit
|
||||
* @see SyncTaskExecutor
|
||||
* @see org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
|
||||
* @see org.springframework.scheduling.commonj.WorkManagerTaskExecutor
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
public class SimpleAsyncTaskExecutor extends CustomizableThreadCreator
|
||||
|
||||
@@ -62,11 +62,10 @@ import org.springframework.util.backoff.FixedBackOff;
|
||||
* abstraction. By default, the specified number of invoker tasks will be created
|
||||
* on startup, according to the {@link #setConcurrentConsumers "concurrentConsumers"}
|
||||
* setting. Specify an alternative {@code TaskExecutor} to integrate with an existing
|
||||
* thread pool facility (such as a Jakarta EE server's), for example using a
|
||||
* {@link org.springframework.scheduling.commonj.WorkManagerTaskExecutor CommonJ WorkManager}.
|
||||
* With a native JMS setup, each of those listener threads is going to use a
|
||||
* cached JMS {@code Session} and {@code MessageConsumer} (only refreshed in case
|
||||
* of failure), using the JMS provider's resources as efficiently as possible.
|
||||
* thread pool facility (such as a Jakarta EE server's). With a native JMS setup,
|
||||
* each of those listener threads is going to use a cached JMS {@code Session} and
|
||||
* {@code MessageConsumer} (only refreshed in case of failure), using the JMS provider's
|
||||
* resources as efficiently as possible.
|
||||
*
|
||||
* <p>Message reception and listener execution can automatically be wrapped
|
||||
* in transactions by passing a Spring
|
||||
@@ -224,7 +223,6 @@ public class DefaultMessageListenerContainer extends AbstractPollingMessageListe
|
||||
* will occupy a number of threads for its entire lifetime.
|
||||
* @see #setConcurrentConsumers
|
||||
* @see org.springframework.core.task.SimpleAsyncTaskExecutor
|
||||
* @see org.springframework.scheduling.commonj.WorkManagerTaskExecutor
|
||||
*/
|
||||
public void setTaskExecutor(Executor taskExecutor) {
|
||||
this.taskExecutor = taskExecutor;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2020 the original author or authors.
|
||||
* Copyright 2002-2021 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.
|
||||
@@ -177,7 +177,6 @@ public class SimpleMessageListenerContainer extends AbstractMessageListenerConta
|
||||
* {@link jakarta.jms.MessageListener} will work fine, in general.
|
||||
* @see #setConcurrentConsumers
|
||||
* @see org.springframework.core.task.SimpleAsyncTaskExecutor
|
||||
* @see org.springframework.scheduling.commonj.WorkManagerTaskExecutor
|
||||
*/
|
||||
public void setTaskExecutor(Executor taskExecutor) {
|
||||
this.taskExecutor = taskExecutor;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2017 the original author or authors.
|
||||
* Copyright 2002-2021 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.
|
||||
@@ -31,8 +31,6 @@ import jakarta.jms.Session;
|
||||
* @since 1.1
|
||||
* @see org.springframework.jms.core.JmsTemplate#setMessageConverter
|
||||
* @see org.springframework.jms.listener.adapter.MessageListenerAdapter#setMessageConverter
|
||||
* @see org.springframework.jms.remoting.JmsInvokerClientInterceptor#setMessageConverter
|
||||
* @see org.springframework.jms.remoting.JmsInvokerServiceExporter#setMessageConverter
|
||||
*/
|
||||
public interface MessageConverter {
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2020 the original author or authors.
|
||||
* Copyright 2002-2021 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,21 +39,22 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* <pre class="code">
|
||||
* <bean class="org.springframework.jca.endpoint.GenericMessageEndpointManager">
|
||||
* <property name="resourceAdapter" ref="resourceAdapter"/>
|
||||
* <property name="messageEndpointFactory">
|
||||
* <bean class="org.springframework.jca.endpoint.GenericMessageEndpointFactory">
|
||||
* <property name="messageListener" ref="messageListener"/>
|
||||
* </bean>
|
||||
* </property>
|
||||
* <property name="activationSpec">
|
||||
* <bean class="org.apache.activemq.ra.ActiveMQActivationSpec">
|
||||
* <property name="destination" value="myQueue"/>
|
||||
* <property name="destinationType" value="jakarta.jms.Queue"/>
|
||||
* </bean>
|
||||
* </property>
|
||||
* </bean></pre>
|
||||
* <property name="resourceAdapter" ref="resourceAdapter"/>
|
||||
* <property name="messageEndpointFactory">
|
||||
* <bean class="org.springframework.jca.endpoint.GenericMessageEndpointFactory">
|
||||
* <property name="messageListener" ref="messageListener"/>
|
||||
* </bean>
|
||||
* </property>
|
||||
* <property name="activationSpec">
|
||||
* <bean class="org.apache.activemq.ra.ActiveMQActivationSpec">
|
||||
* <property name="destination" value="myQueue"/>
|
||||
* <property name="destinationType" value="jakarta.jms.Queue"/>
|
||||
* </bean>
|
||||
* </property>
|
||||
* </bean>
|
||||
* </pre>
|
||||
*
|
||||
* In this example, Spring's own {@link GenericMessageEndpointFactory} is used
|
||||
* <p>In this example, Spring's own {@link GenericMessageEndpointFactory} is used
|
||||
* to point to a standard message listener object that happens to be supported
|
||||
* by the specified target ResourceAdapter: in this case, a JMS
|
||||
* {@link jakarta.jms.MessageListener} object as supported by the ActiveMQ
|
||||
@@ -61,37 +62,38 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* <pre class="code">
|
||||
* <bean id="messageListener" class="com.myorg.messaging.myMessageListener">
|
||||
* ...
|
||||
* </bean></pre>
|
||||
* <!-- ... -->
|
||||
* </bean>
|
||||
* </pre>
|
||||
*
|
||||
* The target ResourceAdapter may be configured as a local Spring bean as well
|
||||
* <p>The target ResourceAdapter may be configured as a local Spring bean as well
|
||||
* (the typical case) or obtained from JNDI (e.g. on WebLogic). For the
|
||||
* example above, a local ResourceAdapter bean could be defined as follows
|
||||
* (matching the "resourceAdapter" bean reference above):
|
||||
*
|
||||
* <pre class="code">
|
||||
* <bean id="resourceAdapter" class="org.springframework.jca.support.ResourceAdapterFactoryBean">
|
||||
* <property name="resourceAdapter">
|
||||
* <bean class="org.apache.activemq.ra.ActiveMQResourceAdapter">
|
||||
* <property name="serverUrl" value="tcp://localhost:61616"/>
|
||||
* </bean>
|
||||
* </property>
|
||||
* <property name="workManager">
|
||||
* <bean class="org.springframework.jca.work.SimpleTaskWorkManager"/>
|
||||
* </property>
|
||||
* </bean></pre>
|
||||
* <property name="resourceAdapter">
|
||||
* <bean class="org.apache.activemq.ra.ActiveMQResourceAdapter">
|
||||
* <property name="serverUrl" value="tcp://localhost:61616"/>
|
||||
* </bean>
|
||||
* </property>
|
||||
* <property name="workManager">
|
||||
* <bean class="..."/>
|
||||
* </property>
|
||||
* </bean>
|
||||
* </pre>
|
||||
*
|
||||
* For a different target resource, the configuration would simply point to a
|
||||
* <p>For a different target resource, the configuration would simply point to a
|
||||
* different ResourceAdapter and a different ActivationSpec object (which are
|
||||
* both specific to the resource provider), and possibly a different message
|
||||
* listener (e.g. a CCI {@link jakarta.resource.cci.MessageListener} for a
|
||||
* resource adapter which is based on the JCA Common Client Interface).
|
||||
*
|
||||
* <p>The asynchronous execution strategy can be customized through the
|
||||
* "workManager" property on the ResourceAdapterFactoryBean (as shown above).
|
||||
* Check out {@link org.springframework.jca.work.SimpleTaskWorkManager}'s
|
||||
* javadoc for its configuration options; alternatively, any other
|
||||
* JCA-compliant WorkManager can be used (e.g. Geronimo's).
|
||||
* "workManager" property on the ResourceAdapterFactoryBean as shown above,
|
||||
* where {@code <bean class="..."/>} should be replaced with configuration for
|
||||
* any JCA-compliant {@code WorkManager}.
|
||||
*
|
||||
* <p>Transactional execution is a responsibility of the concrete message endpoint,
|
||||
* as built by the specified MessageEndpointFactory. {@link GenericMessageEndpointFactory}
|
||||
@@ -101,43 +103,45 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* <pre class="code">
|
||||
* <bean class="org.springframework.jca.endpoint.GenericMessageEndpointManager">
|
||||
* <property name="resourceAdapter" ref="resourceAdapter"/>
|
||||
* <property name="messageEndpointFactory">
|
||||
* <bean class="org.springframework.jca.endpoint.GenericMessageEndpointFactory">
|
||||
* <property name="messageListener" ref="messageListener"/>
|
||||
* <property name="transactionManager" ref="transactionManager"/>
|
||||
* </bean>
|
||||
* </property>
|
||||
* <property name="activationSpec">
|
||||
* <bean class="org.apache.activemq.ra.ActiveMQActivationSpec">
|
||||
* <property name="destination" value="myQueue"/>
|
||||
* <property name="destinationType" value="jakarta.jms.Queue"/>
|
||||
* </bean>
|
||||
* </property>
|
||||
* <property name="resourceAdapter" ref="resourceAdapter"/>
|
||||
* <property name="messageEndpointFactory">
|
||||
* <bean class="org.springframework.jca.endpoint.GenericMessageEndpointFactory">
|
||||
* <property name="messageListener" ref="messageListener"/>
|
||||
* <property name="transactionManager" ref="transactionManager"/>
|
||||
* </bean>
|
||||
* </property>
|
||||
* <property name="activationSpec">
|
||||
* <bean class="org.apache.activemq.ra.ActiveMQActivationSpec">
|
||||
* <property name="destination" value="myQueue"/>
|
||||
* <property name="destinationType" value="jakarta.jms.Queue"/>
|
||||
* </bean>
|
||||
* </property>
|
||||
* </bean>
|
||||
*
|
||||
* <bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"/></pre>
|
||||
* <bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager"/>
|
||||
* </pre>
|
||||
*
|
||||
* Alternatively, check out your resource provider's ActivationSpec object,
|
||||
* <p>Alternatively, check out your resource provider's ActivationSpec object,
|
||||
* which should support local transactions through a provider-specific config flag,
|
||||
* e.g. ActiveMQActivationSpec's "useRAManagedTransaction" bean property.
|
||||
*
|
||||
* <pre class="code">
|
||||
* <bean class="org.springframework.jca.endpoint.GenericMessageEndpointManager">
|
||||
* <property name="resourceAdapter" ref="resourceAdapter"/>
|
||||
* <property name="messageEndpointFactory">
|
||||
* <bean class="org.springframework.jca.endpoint.GenericMessageEndpointFactory">
|
||||
* <property name="messageListener" ref="messageListener"/>
|
||||
* </bean>
|
||||
* </property>
|
||||
* <property name="activationSpec">
|
||||
* <bean class="org.apache.activemq.ra.ActiveMQActivationSpec">
|
||||
* <property name="destination" value="myQueue"/>
|
||||
* <property name="destinationType" value="jakarta.jms.Queue"/>
|
||||
* <property name="useRAManagedTransaction" value="true"/>
|
||||
* </bean>
|
||||
* </property>
|
||||
* </bean></pre>
|
||||
* <property name="resourceAdapter" ref="resourceAdapter"/>
|
||||
* <property name="messageEndpointFactory">
|
||||
* <bean class="org.springframework.jca.endpoint.GenericMessageEndpointFactory">
|
||||
* <property name="messageListener" ref="messageListener"/>
|
||||
* </bean>
|
||||
* </property>
|
||||
* <property name="activationSpec">
|
||||
* <bean class="org.apache.activemq.ra.ActiveMQActivationSpec">
|
||||
* <property name="destination" value="myQueue"/>
|
||||
* <property name="destinationType" value="jakarta.jms.Queue"/>
|
||||
* <property name="useRAManagedTransaction" value="true"/>
|
||||
* </bean>
|
||||
* </property>
|
||||
* </bean>
|
||||
* </pre>
|
||||
*
|
||||
* @author Juergen Hoeller
|
||||
* @since 2.5
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
* Copyright 2002-2021 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.
|
||||
@@ -57,9 +57,8 @@ import org.springframework.lang.Nullable;
|
||||
* order to make the connector interact with an XA transaction coordinator.
|
||||
* Alternatively, simply use the native local transaction facilities of the
|
||||
* exposed API (e.g. CCI local transactions), or use a corresponding
|
||||
* implementation of Spring's PlatformTransactionManager SPI
|
||||
* (e.g. {@link org.springframework.jca.cci.connection.CciLocalTransactionManager})
|
||||
* to drive local transactions.
|
||||
* implementation of Spring's PlatformTransactionManager SPI to drive local
|
||||
* transactions.
|
||||
*
|
||||
* @author Juergen Hoeller
|
||||
* @since 1.2
|
||||
@@ -67,7 +66,6 @@ import org.springframework.lang.Nullable;
|
||||
* @see #setConnectionManager
|
||||
* @see jakarta.resource.cci.ConnectionFactory
|
||||
* @see jakarta.resource.cci.Connection#getLocalTransaction
|
||||
* @see org.springframework.jca.cci.connection.CciLocalTransactionManager
|
||||
*/
|
||||
public class LocalConnectionFactoryBean implements FactoryBean<Object>, InitializingBean {
|
||||
|
||||
|
||||
@@ -62,54 +62,51 @@ import org.springframework.lang.Nullable;
|
||||
* <p>Example usage with
|
||||
* {@link MappingJackson2HttpMessageConverter}:
|
||||
*
|
||||
* <pre class="code">{@code
|
||||
* <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
|
||||
* <property name="objectMapper">
|
||||
* <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean"
|
||||
* <pre class="code">
|
||||
* <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
|
||||
* <property name="objectMapper">
|
||||
* <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean"
|
||||
* p:autoDetectFields="false"
|
||||
* p:autoDetectGettersSetters="false"
|
||||
* p:annotationIntrospector-ref="jaxbAnnotationIntrospector" />
|
||||
* </property>
|
||||
* </bean>
|
||||
* }</pre>
|
||||
* p:annotationIntrospector-ref="jaxbAnnotationIntrospector" />
|
||||
* </property>
|
||||
* </bean></pre>
|
||||
*
|
||||
* <p>Example usage with MappingJackson2JsonView:
|
||||
*
|
||||
* <pre class="code">{@code
|
||||
* <bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
|
||||
* <property name="objectMapper">
|
||||
* <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean"
|
||||
* <pre class="code">
|
||||
* <bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
|
||||
* <property name="objectMapper">
|
||||
* <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean"
|
||||
* p:failOnEmptyBeans="false"
|
||||
* p:indentOutput="true">
|
||||
* <property name="serializers">
|
||||
* <array>
|
||||
* <bean class="org.mycompany.MyCustomSerializer" />
|
||||
* </array>
|
||||
* </property>
|
||||
* </bean>
|
||||
* </property>
|
||||
* </bean>
|
||||
* }</pre>
|
||||
* p:indentOutput="true">
|
||||
* <property name="serializers">
|
||||
* <array>
|
||||
* <bean class="org.mycompany.MyCustomSerializer" />
|
||||
* </array>
|
||||
* </property>
|
||||
* </bean>
|
||||
* </property>
|
||||
* </bean></pre>
|
||||
*
|
||||
* <p>In case there are no specific setters provided (for some rarely used options),
|
||||
* you can still use the more general methods {@link #setFeaturesToEnable} and
|
||||
* {@link #setFeaturesToDisable}.
|
||||
*
|
||||
* <pre class="code">{@code
|
||||
* <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
|
||||
* <property name="featuresToEnable">
|
||||
* <array>
|
||||
* <util:constant static-field="com.fasterxml.jackson.databind.SerializationFeature.WRAP_ROOT_VALUE"/>
|
||||
* <util:constant static-field="com.fasterxml.jackson.databind.SerializationFeature.CLOSE_CLOSEABLE"/>
|
||||
* </array>
|
||||
* </property>
|
||||
* <property name="featuresToDisable">
|
||||
* <array>
|
||||
* <util:constant static-field="com.fasterxml.jackson.databind.MapperFeature.USE_ANNOTATIONS"/>
|
||||
* </array>
|
||||
* </property>
|
||||
* </bean>
|
||||
* }</pre>
|
||||
* <pre class="code">
|
||||
* <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
|
||||
* <property name="featuresToEnable">
|
||||
* <array>
|
||||
* <util:constant static-field="com.fasterxml.jackson.databind.SerializationFeature.WRAP_ROOT_VALUE"/>
|
||||
* <util:constant static-field="com.fasterxml.jackson.databind.SerializationFeature.CLOSE_CLOSEABLE"/>
|
||||
* </array>
|
||||
* </property>
|
||||
* <property name="featuresToDisable">
|
||||
* <array>
|
||||
* <util:constant static-field="com.fasterxml.jackson.databind.MapperFeature.USE_ANNOTATIONS"/>
|
||||
* </array>
|
||||
* </property>
|
||||
* </bean></pre>
|
||||
*
|
||||
* <p>It also automatically registers the following well-known modules if they are
|
||||
* detected on the classpath:
|
||||
@@ -127,11 +124,10 @@ import org.springframework.lang.Nullable;
|
||||
* <p>In case you want to configure Jackson's {@link ObjectMapper} with a custom {@link Module},
|
||||
* you can register one or more such Modules by class name via {@link #setModulesToInstall}:
|
||||
*
|
||||
* <pre class="code">{@code
|
||||
* <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
|
||||
* <property name="modulesToInstall" value="myapp.jackson.MySampleModule,myapp.jackson.MyOtherModule"/>
|
||||
* </bean
|
||||
* }</pre>
|
||||
* <pre class="code">
|
||||
* <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
|
||||
* <property name="modulesToInstall" value="myapp.jackson.MySampleModule,myapp.jackson.MyOtherModule"/>
|
||||
* </bean></pre>
|
||||
*
|
||||
* <p>Compatible with Jackson 2.9 to 2.12, as of Spring 5.3.
|
||||
*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2016 the original author or authors.
|
||||
* Copyright 2002-2021 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.
|
||||
@@ -49,12 +49,6 @@ import jakarta.servlet.http.HttpServletResponse;
|
||||
* return value gives a clearer signature to callers other than the
|
||||
* DispatcherServlet, indicating that there will never be a view to render.
|
||||
*
|
||||
* <p>As of Spring 2.0, Spring's HTTP-based remote exporters, such as
|
||||
* {@link org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter}
|
||||
* and {@link org.springframework.remoting.caucho.HessianServiceExporter},
|
||||
* implement this interface rather than the more extensive Controller interface,
|
||||
* for minimal dependencies on Spring-specific web infrastructure.
|
||||
*
|
||||
* <p>Note that HttpRequestHandlers may optionally implement the
|
||||
* {@link org.springframework.web.servlet.mvc.LastModified} interface,
|
||||
* just like Controllers can, <i>provided that they run within Spring's
|
||||
@@ -71,8 +65,6 @@ import jakarta.servlet.http.HttpServletResponse;
|
||||
* @see org.springframework.web.servlet.mvc.Controller
|
||||
* @see org.springframework.web.servlet.mvc.LastModified
|
||||
* @see org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter
|
||||
* @see org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter
|
||||
* @see org.springframework.remoting.caucho.HessianServiceExporter
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface HttpRequestHandler {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2017 the original author or authors.
|
||||
* Copyright 2002-2021 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,13 +36,6 @@ import org.springframework.web.context.WebApplicationContext;
|
||||
* in Spring's root web application context. The target bean name must match the
|
||||
* HttpRequestHandlerServlet servlet-name as defined in {@code web.xml}.
|
||||
*
|
||||
* <p>This can for example be used to expose a single Spring remote exporter,
|
||||
* such as {@link org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter}
|
||||
* or {@link org.springframework.remoting.caucho.HessianServiceExporter},
|
||||
* per HttpRequestHandlerServlet definition. This is a minimal alternative
|
||||
* to defining remote exporters as beans in a DispatcherServlet context
|
||||
* (with advanced mapping and interception facilities being available there).
|
||||
*
|
||||
* @author Juergen Hoeller
|
||||
* @since 2.0
|
||||
* @see org.springframework.web.HttpRequestHandler
|
||||
|
||||
@@ -61,8 +61,6 @@ public interface MultipartFile extends InputStreamSource {
|
||||
* this one one somewhere for reference, if necessary.
|
||||
* @return the original filename, or the empty String if no file has been chosen
|
||||
* in the multipart form, or {@code null} if not defined or not available
|
||||
* @see org.apache.commons.fileupload.FileItem#getName()
|
||||
* @see org.springframework.web.multipart.commons.CommonsMultipartFile#setPreserveFilename
|
||||
* @see <a href="https://tools.ietf.org/html/rfc7578#section-4.2">RFC 7578, Section 4.2</a>
|
||||
* @see <a href="https://owasp.org/www-community/vulnerabilities/Unrestricted_File_Upload">Unrestricted File Upload</a>
|
||||
*/
|
||||
@@ -133,7 +131,6 @@ public interface MultipartFile extends InputStreamSource {
|
||||
* @throws IOException in case of reading or writing errors
|
||||
* @throws IllegalStateException if the file has already been moved
|
||||
* in the filesystem and is not available anymore for another transfer
|
||||
* @see org.apache.commons.fileupload.FileItem#write(File)
|
||||
* @see jakarta.servlet.http.Part#write(String)
|
||||
*/
|
||||
void transferTo(File dest) throws IOException, IllegalStateException;
|
||||
|
||||
@@ -25,7 +25,8 @@ import org.springframework.lang.Nullable;
|
||||
/**
|
||||
* Provides additional methods for dealing with multipart content within a
|
||||
* servlet request, allowing to access uploaded files.
|
||||
* Implementations also need to override the standard
|
||||
*
|
||||
* <p>Implementations also need to override the standard
|
||||
* {@link jakarta.servlet.ServletRequest} methods for parameter access, making
|
||||
* multipart parameters available.
|
||||
*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2015 the original author or authors.
|
||||
* Copyright 2002-2021 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,8 @@ import jakarta.servlet.http.HttpServletRequest;
|
||||
* Implementations are typically usable both within an application context
|
||||
* and standalone.
|
||||
*
|
||||
* <p>There are two concrete implementations included in Spring, as of Spring 3.1:
|
||||
* <p>Spring provides the following concrete implementation:
|
||||
* <ul>
|
||||
* <li>{@link org.springframework.web.multipart.commons.CommonsMultipartResolver}
|
||||
* for Apache Commons FileUpload
|
||||
* <li>{@link org.springframework.web.multipart.support.StandardServletMultipartResolver}
|
||||
* for the Servlet 3.0+ Part API
|
||||
* </ul>
|
||||
@@ -77,7 +75,6 @@ import jakarta.servlet.http.HttpServletRequest;
|
||||
* @since 29.09.2003
|
||||
* @see MultipartHttpServletRequest
|
||||
* @see MultipartFile
|
||||
* @see org.springframework.web.multipart.commons.CommonsMultipartResolver
|
||||
* @see org.springframework.web.multipart.support.ByteArrayMultipartFileEditor
|
||||
* @see org.springframework.web.multipart.support.StringMultipartFileEditor
|
||||
* @see org.springframework.web.servlet.DispatcherServlet
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
* Copyright 2002-2021 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.
|
||||
@@ -34,8 +34,8 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
|
||||
/**
|
||||
* Abstract base implementation of the MultipartHttpServletRequest interface.
|
||||
* Provides management of pre-generated MultipartFile instances.
|
||||
* Abstract base implementation of the {@link MultipartHttpServletRequest} interface.
|
||||
* <p>Provides management of pre-generated {@link MultipartFile} instances.
|
||||
*
|
||||
* @author Juergen Hoeller
|
||||
* @author Arjen Poutsma
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2018 the original author or authors.
|
||||
* Copyright 2002-2021 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.
|
||||
@@ -35,8 +35,6 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
* {@link org.springframework.web.multipart.MultipartHttpServletRequest}
|
||||
* interface. Provides management of pre-generated parameter values.
|
||||
*
|
||||
* <p>Used by {@link org.springframework.web.multipart.commons.CommonsMultipartResolver}.
|
||||
*
|
||||
* @author Trevor D. Cook
|
||||
* @author Juergen Hoeller
|
||||
* @author Arjen Poutsma
|
||||
|
||||
@@ -34,11 +34,8 @@ import org.springframework.web.multipart.MultipartResolver;
|
||||
*
|
||||
* <p>This resolver variant uses your Servlet container's multipart parser as-is,
|
||||
* potentially exposing the application to container implementation differences.
|
||||
* See {@link org.springframework.web.multipart.commons.CommonsMultipartResolver}
|
||||
* for an alternative implementation using a local Commons FileUpload library
|
||||
* within the application, providing maximum portability across Servlet containers.
|
||||
* Also, see this resolver's configuration option for
|
||||
* {@link #setStrictServletCompliance strict Servlet compliance}, narrowing the
|
||||
* {@linkplain #setStrictServletCompliance strict Servlet compliance}, narrowing the
|
||||
* applicability of Spring's {@link MultipartHttpServletRequest} to form data only.
|
||||
*
|
||||
* <p><b>Note:</b> In order to use Servlet 3.0 based multipart parsing,
|
||||
@@ -52,21 +49,19 @@ import org.springframework.web.multipart.MultipartResolver;
|
||||
*
|
||||
* <pre class="code">
|
||||
* public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
|
||||
* // ...
|
||||
* @Override
|
||||
* protected void customizeRegistration(ServletRegistration.Dynamic registration) {
|
||||
* // ...
|
||||
* @Override
|
||||
* protected void customizeRegistration(ServletRegistration.Dynamic registration) {
|
||||
* // Optionally also set maxFileSize, maxRequestSize, fileSizeThreshold
|
||||
* registration.setMultipartConfig(new MultipartConfigElement("/tmp"));
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
* }</pre>
|
||||
*
|
||||
* @author Juergen Hoeller
|
||||
* @since 3.1
|
||||
* @see #setResolveLazily
|
||||
* @see #setStrictServletCompliance
|
||||
* @see HttpServletRequest#getParts()
|
||||
* @see org.springframework.web.multipart.commons.CommonsMultipartResolver
|
||||
*/
|
||||
public class StandardServletMultipartResolver implements MultipartResolver {
|
||||
|
||||
@@ -99,10 +94,6 @@ public class StandardServletMultipartResolver implements MultipartResolver {
|
||||
* switch this flag to "true": Only "multipart/form-data" requests will be
|
||||
* wrapped with a {@link MultipartHttpServletRequest} then; other kinds of
|
||||
* requests will be left as-is, allowing for custom processing in user code.
|
||||
* <p>Note that Commons FileUpload and therefore
|
||||
* {@link org.springframework.web.multipart.commons.CommonsMultipartResolver}
|
||||
* supports any "multipart/" request type. However, it restricts processing
|
||||
* to POST requests which standard Servlet multipart parsers might not do.
|
||||
* @since 5.3.9
|
||||
*/
|
||||
public void setStrictServletCompliance(boolean strictServletCompliance) {
|
||||
|
||||
@@ -117,10 +117,9 @@ import org.springframework.web.util.WebUtils;
|
||||
* {@link org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator}.
|
||||
*
|
||||
* <li>The dispatcher's strategy for resolving multipart requests is determined by a
|
||||
* {@link org.springframework.web.multipart.MultipartResolver} implementation.
|
||||
* Implementations for Apache Commons FileUpload and Servlet 3 are included; the typical
|
||||
* choice is {@link org.springframework.web.multipart.commons.CommonsMultipartResolver}.
|
||||
* The MultipartResolver bean name is "multipartResolver"; default is none.
|
||||
* {@link org.springframework.web.multipart.MultipartResolver} implementation. An
|
||||
* implementation for Servlet 3 is included. The MultipartResolver bean name is
|
||||
* "multipartResolver"; default is none.
|
||||
*
|
||||
* <li>Its locale resolution strategy is determined by a {@link LocaleResolver}.
|
||||
* Out-of-the-box implementations work via HTTP accept header, cookie, or session.
|
||||
|
||||
@@ -39,7 +39,7 @@ import org.springframework.web.servlet.view.groovy.GroovyMarkupViewResolver;
|
||||
import org.springframework.web.servlet.view.script.ScriptTemplateViewResolver;
|
||||
|
||||
/**
|
||||
* Parse the {@code view-resolvers} MVC namespace element and register
|
||||
* Parses the {@code view-resolvers} MVC namespace element and registers
|
||||
* {@link org.springframework.web.servlet.ViewResolver} bean definitions.
|
||||
*
|
||||
* <p>All registered resolvers are wrapped in a single (composite) ViewResolver
|
||||
@@ -49,13 +49,12 @@ import org.springframework.web.servlet.view.script.ScriptTemplateViewResolver;
|
||||
* <p>When content negotiation is enabled the order property is set to highest priority
|
||||
* instead with the ContentNegotiatingViewResolver encapsulating all other registered
|
||||
* view resolver instances. That way the resolvers registered through the MVC namespace
|
||||
* form self-encapsulated resolver chain.
|
||||
* form a self-encapsulated resolver chain.
|
||||
*
|
||||
* @author Sivaprasad Valluru
|
||||
* @author Sebastien Deleuze
|
||||
* @author Rossen Stoyanchev
|
||||
* @since 4.1
|
||||
* @see TilesConfigurerBeanDefinitionParser
|
||||
* @see FreeMarkerConfigurerBeanDefinitionParser
|
||||
* @see GroovyMarkupConfigurerBeanDefinitionParser
|
||||
* @see ScriptTemplateConfigurerBeanDefinitionParser
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2017 the original author or authors.
|
||||
* Copyright 2002-2021 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,7 @@ import org.springframework.web.socket.server.HandshakeFailureException;
|
||||
/**
|
||||
* WebSphere support for upgrading an {@link HttpServletRequest} during a
|
||||
* WebSocket handshake. To modify properties of the underlying
|
||||
* {@link javax.websocket.server.ServerContainer} you can use
|
||||
* {@link jakarta.websocket.server.ServerContainer} you can use
|
||||
* {@link ServletServerContainerFactoryBean} in XML configuration or, when using
|
||||
* Java configuration, access the container instance through the
|
||||
* "javax.websocket.server.ServerContainer" ServletContext attribute.
|
||||
|
||||
Reference in New Issue
Block a user