Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
2da9f6d9
Commit
2da9f6d9
authored
Feb 23, 2016
by
Stephane Nicoll
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '1.3.x'
parents
34ae7e3e
c4205d04
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
64 additions
and
65 deletions
+64
-65
RabbitAnnotationDrivenConfiguration.java
...toconfigure/amqp/RabbitAnnotationDrivenConfiguration.java
+14
-4
SimpleRabbitListenerContainerFactoryConfigurer.java
.../amqp/SimpleRabbitListenerContainerFactoryConfigurer.java
+4
-19
DefaultJmsListenerContainerFactoryConfigurer.java
...ure/jms/DefaultJmsListenerContainerFactoryConfigurer.java
+7
-24
JmsAnnotationDrivenConfiguration.java
...t/autoconfigure/jms/JmsAnnotationDrivenConfiguration.java
+22
-4
JmsAutoConfigurationTests.java
...ork/boot/autoconfigure/jms/JmsAutoConfigurationTests.java
+4
-3
spring-boot-features.adoc
spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
+13
-11
No files found.
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitAnnotationDrivenConfiguration.java
View file @
2da9f6d9
...
...
@@ -20,6 +20,7 @@ import org.springframework.amqp.rabbit.annotation.EnableRabbit;
import
org.springframework.amqp.rabbit.config.RabbitListenerConfigUtils
;
import
org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory
;
import
org.springframework.amqp.rabbit.connection.ConnectionFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.context.annotation.Bean
;
...
...
@@ -36,18 +37,27 @@ import org.springframework.context.annotation.Configuration;
@ConditionalOnClass
(
EnableRabbit
.
class
)
class
RabbitAnnotationDrivenConfiguration
{
@Autowired
private
RabbitProperties
properties
;
@Bean
@ConditionalOnMissingBean
public
RabbitListenerContainerFactoryConfigurer
rabbitListenerContainerFactoryConfigurer
()
{
return
new
RabbitListenerContainerFactoryConfigurer
();
public
SimpleRabbitListenerContainerFactoryConfigurer
rabbitListenerContainerFactoryConfigurer
()
{
SimpleRabbitListenerContainerFactoryConfigurer
configurer
=
new
SimpleRabbitListenerContainerFactoryConfigurer
();
configurer
.
setRabbitProperties
(
this
.
properties
);
return
configurer
;
}
@Bean
@ConditionalOnMissingBean
(
name
=
"rabbitListenerContainerFactory"
)
public
SimpleRabbitListenerContainerFactory
rabbitListenerContainerFactory
(
RabbitListenerContainerFactoryConfigurer
configurer
,
Simple
RabbitListenerContainerFactoryConfigurer
configurer
,
ConnectionFactory
connectionFactory
)
{
return
configurer
.
createRabbitListenerContainerFactory
(
connectionFactory
);
SimpleRabbitListenerContainerFactory
factory
=
new
SimpleRabbitListenerContainerFactory
();
configurer
.
configure
(
factory
,
connectionFactory
);
return
factory
;
}
@EnableRabbit
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/RabbitListenerContainerFactoryConfigurer.java
→
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/amqp/
Simple
RabbitListenerContainerFactoryConfigurer.java
View file @
2da9f6d9
...
...
@@ -19,7 +19,6 @@ package org.springframework.boot.autoconfigure.amqp;
import
org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory
;
import
org.springframework.amqp.rabbit.connection.ConnectionFactory
;
import
org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.Assert
;
/**
...
...
@@ -28,7 +27,7 @@ import org.springframework.util.Assert;
* @author Stephane Nicoll
* @since 1.3.3
*/
public
final
class
RabbitListenerContainerFactoryConfigurer
{
public
final
class
Simple
RabbitListenerContainerFactoryConfigurer
{
private
RabbitProperties
rabbitProperties
;
...
...
@@ -36,27 +35,13 @@ public final class RabbitListenerContainerFactoryConfigurer {
* Set the {@link RabbitProperties} to use.
* @param rabbitProperties the {@link RabbitProperties}
*/
@Autowired
public
void
setRabbitProperties
(
RabbitProperties
rabbitProperties
)
{
void
setRabbitProperties
(
RabbitProperties
rabbitProperties
)
{
this
.
rabbitProperties
=
rabbitProperties
;
}
/**
* Create a new and pre-configured {@link SimpleRabbitListenerContainerFactory}
* instance for the specified {@link ConnectionFactory}.
* @param connectionFactory the {@link ConnectionFactory} to use.
* @return a pre-configured {@link SimpleRabbitListenerContainerFactory}
*/
public
SimpleRabbitListenerContainerFactory
createRabbitListenerContainerFactory
(
ConnectionFactory
connectionFactory
)
{
SimpleRabbitListenerContainerFactory
factory
=
new
SimpleRabbitListenerContainerFactory
();
configure
(
factory
,
connectionFactory
);
return
factory
;
}
/**
* Apply the default settings for the specified jms listener container factory. The
* factory can be further tuned and default settings can be overridden.
* Configure the specified rabbit listener container factory. The factory can be
* further tuned and default settings can be overridden.
* @param factory the {@link SimpleRabbitListenerContainerFactory} instance to
* configure
* @param connectionFactory the {@link ConnectionFactory} to use
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/JmsListenerContainerFactoryConfigurer.java
→
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/
Default
JmsListenerContainerFactoryConfigurer.java
View file @
2da9f6d9
...
...
@@ -18,20 +18,18 @@ package org.springframework.boot.autoconfigure.jms;
import
javax.jms.ConnectionFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.jms.config.DefaultJmsListenerContainerFactory
;
import
org.springframework.jms.config.JmsListenerContainerFactory
;
import
org.springframework.jms.support.destination.DestinationResolver
;
import
org.springframework.transaction.jta.JtaTransactionManager
;
import
org.springframework.util.Assert
;
/**
* Configure {@link JmsListenerContainerFactory} with sensible defaults.
* Configure {@link
Default
JmsListenerContainerFactory} with sensible defaults.
*
* @author Stephane Nicoll
* @since 1.3.3
*/
public
final
class
JmsListenerContainerFactoryConfigurer
{
public
final
class
Default
JmsListenerContainerFactoryConfigurer
{
private
DestinationResolver
destinationResolver
;
...
...
@@ -44,8 +42,7 @@ public final class JmsListenerContainerFactoryConfigurer {
* resolver should be associated with the factory by default.
* @param destinationResolver the {@link DestinationResolver}
*/
@Autowired
(
required
=
false
)
public
void
setDestinationResolver
(
DestinationResolver
destinationResolver
)
{
void
setDestinationResolver
(
DestinationResolver
destinationResolver
)
{
this
.
destinationResolver
=
destinationResolver
;
}
...
...
@@ -54,8 +51,7 @@ public final class JmsListenerContainerFactoryConfigurer {
* should not be used.
* @param transactionManager the {@link JtaTransactionManager}
*/
@Autowired
(
required
=
false
)
public
void
setTransactionManager
(
JtaTransactionManager
transactionManager
)
{
void
setTransactionManager
(
JtaTransactionManager
transactionManager
)
{
this
.
transactionManager
=
transactionManager
;
}
...
...
@@ -63,27 +59,14 @@ public final class JmsListenerContainerFactoryConfigurer {
* Set the {@link JmsProperties to use}.
* @param jmsProperties the {@link JmsProperties}
*/
@Autowired
public
void
setJmsProperties
(
JmsProperties
jmsProperties
)
{
void
setJmsProperties
(
JmsProperties
jmsProperties
)
{
this
.
jmsProperties
=
jmsProperties
;
}
/**
* Create a new and pre-configured {@link DefaultJmsListenerContainerFactory} instance
* for the specified {@link ConnectionFactory}.
* @param connectionFactory the {@link ConnectionFactory} to use.
* @return a pre-configured {@link DefaultJmsListenerContainerFactory}
*/
public
DefaultJmsListenerContainerFactory
createJmsListenerContainerFactory
(
ConnectionFactory
connectionFactory
)
{
DefaultJmsListenerContainerFactory
factory
=
new
DefaultJmsListenerContainerFactory
();
configure
(
factory
,
connectionFactory
);
return
factory
;
}
/**
*
Apply the default settings for the specified jms listener container factory. The
*
factory can be further
tuned and default settings can be overridden.
*
Configure the specified jms listener container factory. The factory can be further
* tuned and default settings can be overridden.
* @param factory the {@link DefaultJmsListenerContainerFactory} instance to configure
* @param connectionFactory the {@link ConnectionFactory} to use
*/
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/JmsAnnotationDrivenConfiguration.java
View file @
2da9f6d9
...
...
@@ -18,6 +18,7 @@ package org.springframework.boot.autoconfigure.jms;
import
javax.jms.ConnectionFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnJndi
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
...
...
@@ -28,6 +29,7 @@ import org.springframework.jms.config.DefaultJmsListenerContainerFactory;
import
org.springframework.jms.config.JmsListenerConfigUtils
;
import
org.springframework.jms.support.destination.DestinationResolver
;
import
org.springframework.jms.support.destination.JndiDestinationResolver
;
import
org.springframework.transaction.jta.JtaTransactionManager
;
/**
* Configuration for Spring 4.1 annotation driven JMS.
...
...
@@ -40,18 +42,34 @@ import org.springframework.jms.support.destination.JndiDestinationResolver;
@ConditionalOnClass
(
EnableJms
.
class
)
class
JmsAnnotationDrivenConfiguration
{
@Autowired
(
required
=
false
)
private
DestinationResolver
destinationResolver
;
@Autowired
(
required
=
false
)
private
JtaTransactionManager
transactionManager
;
@Autowired
private
JmsProperties
properties
;
@Bean
@ConditionalOnMissingBean
public
JmsListenerContainerFactoryConfigurer
jmsListenerContainerFactoryConfigurer
()
{
return
new
JmsListenerContainerFactoryConfigurer
();
public
DefaultJmsListenerContainerFactoryConfigurer
jmsListenerContainerFactoryConfigurer
()
{
DefaultJmsListenerContainerFactoryConfigurer
configurer
=
new
DefaultJmsListenerContainerFactoryConfigurer
();
configurer
.
setDestinationResolver
(
this
.
destinationResolver
);
configurer
.
setTransactionManager
(
this
.
transactionManager
);
configurer
.
setJmsProperties
(
this
.
properties
);
return
configurer
;
}
@Bean
@ConditionalOnMissingBean
(
name
=
"jmsListenerContainerFactory"
)
public
DefaultJmsListenerContainerFactory
jmsListenerContainerFactory
(
JmsListenerContainerFactoryConfigurer
configurer
,
Default
JmsListenerContainerFactoryConfigurer
configurer
,
ConnectionFactory
connectionFactory
)
{
return
configurer
.
createJmsListenerContainerFactory
(
connectionFactory
);
DefaultJmsListenerContainerFactory
factory
=
new
DefaultJmsListenerContainerFactory
();
configurer
.
configure
(
factory
,
connectionFactory
);
return
factory
;
}
@EnableJms
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/JmsAutoConfigurationTests.java
View file @
2da9f6d9
...
...
@@ -457,10 +457,11 @@ public class JmsAutoConfigurationTests {
@Bean
JmsListenerContainerFactory
<?>
customListenerContainerFactory
(
JmsListenerContainerFactoryConfigurer
configurer
,
Default
JmsListenerContainerFactoryConfigurer
configurer
,
ConnectionFactory
connectionFactory
)
{
DefaultJmsListenerContainerFactory
factory
=
configurer
.
createJmsListenerContainerFactory
(
connectionFactory
);
DefaultJmsListenerContainerFactory
factory
=
new
DefaultJmsListenerContainerFactory
();
configurer
.
configure
(
factory
,
connectionFactory
);
factory
.
setCacheLevel
(
DefaultMessageListenerContainer
.
CACHE_CONSUMER
);
return
factory
;
...
...
spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
View file @
2da9f6d9
...
...
@@ -3561,9 +3561,9 @@ TIP: Check {spring-javadoc}/jms/annotation/EnableJms.{dc-ext}[the Javadoc of `@E
more details.
If you need to create more `JmsListenerContainerFactory` instances or if you want to override
the default, Spring Boot provides a `
JmsListenerContainerFactoryConfigurer` that you can use
to initialize a `DefaultJmsListenerContainerFactory` with the same settings as the one that
is auto-configured.
the default, Spring Boot provides a `
DefaultJmsListenerContainerFactoryConfigurer` that you
can use to initialize a `DefaultJmsListenerContainerFactory` with the same settings as the one
that
is auto-configured.
For instance, the following exposes another factory that uses a specific `MessageConverter`:
...
...
@@ -3574,9 +3574,10 @@ For instance, the following exposes another factory that uses a specific `Messag
@Bean
public DefaultJmsListenerContainerFactory myFactory(
JmsListenerContainerFactoryConfigurer configurer) {
DefaultJmsListenerContainerFactory factory = configurer
.createJmsListenerContainerFactory(connectionFactory());
DefaultJmsListenerContainerFactoryConfigurer configurer) {
DefaultJmsListenerContainerFactory factory =
new DefaultJmsListenerContainerFactory();
configurer.configure(factory, connectionFactory());
factory.setMessageConverter(myMessageConverter());
return factory;
}
...
...
@@ -3695,8 +3696,8 @@ TIP: Check {spring-amqp-javadoc}/rabbit/annotation/EnableRabbit.{dc-ext}[the Jav
for more details.
If you need to create more `RabbitListenerContainerFactory` instances or if you want to override
the default, Spring Boot provides a `
RabbitListenerContainerFactoryConfigurer` that you can use
to initialize a `SimpleRabbitListenerContainerFactory` with the same settings as the one that
the default, Spring Boot provides a `
SimpleRabbitListenerContainerFactoryConfigurer` that you can
use
to initialize a `SimpleRabbitListenerContainerFactory` with the same settings as the one that
is auto-configured.
For instance, the following exposes another factory that uses a specific `MessageConverter`:
...
...
@@ -3708,9 +3709,10 @@ For instance, the following exposes another factory that uses a specific `Messag
@Bean
public SimpleRabbitListenerContainerFactory myFactory(
RabbitListenerContainerFactoryConfigurer configurer) {
SimpleRabbitListenerContainerFactory factory = configurer
.createRabbitListenerContainerFactory(connectionFactory());
SimpleRabbitListenerContainerFactoryConfigurer configurer) {
SimpleRabbitListenerContainerFactory factory =
new SimpleRabbitListenerContainerFactory();
configurer.configure(factory, connectionFactory);
factory.setMessageConverter(myMessageConverter());
return factory;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment