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
5cb9b9a9
Commit
5cb9b9a9
authored
Dec 14, 2015
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '1.2.x'
parents
35388b6d
7d5cc3da
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
30 additions
and
15 deletions
+30
-15
ActiveMQConnectionFactoryConfiguration.java
.../jms/activemq/ActiveMQConnectionFactoryConfiguration.java
+4
-6
ActiveMQXAConnectionFactoryConfiguration.java
...ms/activemq/ActiveMQXAConnectionFactoryConfiguration.java
+19
-8
ActiveMQAutoConfigurationTests.java
...onfigure/jms/activemq/ActiveMQAutoConfigurationTests.java
+7
-1
No files found.
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/activemq/ActiveMQConnectionFactoryConfiguration.java
View file @
5cb9b9a9
...
...
@@ -50,17 +50,15 @@ class ActiveMQConnectionFactoryConfiguration {
@ConditionalOnClass
(
PooledConnectionFactory
.
class
)
static
class
PooledConnectionFactoryConfiguration
{
@Bean
@Bean
(
destroyMethod
=
"stop"
)
@ConditionalOnProperty
(
prefix
=
"spring.activemq"
,
name
=
"pooled"
,
havingValue
=
"true"
,
matchIfMissing
=
false
)
public
PooledConnectionFactory
pooledJmsConnectionFactory
(
ActiveMQProperties
properties
)
{
PooledConnectionFactory
pooledConnectionFactory
=
new
PooledConnectionFactory
();
pooledConnectionFactory
.
setConnectionFactory
(
new
ActiveMQConnectionFactoryFactory
(
properties
)
return
new
PooledConnectionFactory
(
new
ActiveMQConnectionFactoryFactory
(
properties
)
.
createConnectionFactory
(
ActiveMQConnectionFactory
.
class
));
return
pooledConnectionFactory
;
}
}
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/activemq/ActiveMQXAConnectionFactoryConfiguration.java
View file @
5cb9b9a9
...
...
@@ -26,6 +26,7 @@ import org.apache.activemq.pool.PooledConnectionFactory;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnBean
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.boot.jta.XAConnectionFactoryWrapper
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -53,15 +54,25 @@ class ActiveMQXAConnectionFactoryConfiguration {
}
@Bean
public
ConnectionFactory
nonXaJmsConnectionFactory
(
ActiveMQProperties
properties
)
{
ActiveMQConnectionFactory
connectionFactory
=
new
ActiveMQConnectionFactoryFactory
(
properties
).
createConnectionFactory
(
ActiveMQConnectionFactory
.
class
);
if
(
properties
.
isPooled
())
{
PooledConnectionFactory
pool
=
new
PooledConnectionFactory
();
pool
.
setConnectionFactory
(
connectionFactory
);
return
pool
;
@ConditionalOnProperty
(
prefix
=
"spring.activemq"
,
name
=
"pooled"
,
havingValue
=
"false"
,
matchIfMissing
=
true
)
public
ActiveMQConnectionFactory
nonXaJmsConnectionFactory
(
ActiveMQProperties
properties
)
{
return
new
ActiveMQConnectionFactoryFactory
(
properties
)
.
createConnectionFactory
(
ActiveMQConnectionFactory
.
class
);
}
@ConditionalOnClass
(
PooledConnectionFactory
.
class
)
@ConditionalOnProperty
(
prefix
=
"spring.activemq"
,
name
=
"pooled"
,
havingValue
=
"true"
,
matchIfMissing
=
false
)
static
class
PooledConnectionFactoryConfiguration
{
@Bean
(
destroyMethod
=
"stop"
)
public
PooledConnectionFactory
pooledNonXaJmsConnectionFactory
(
ActiveMQProperties
properties
)
{
return
new
PooledConnectionFactory
(
new
ActiveMQConnectionFactoryFactory
(
properties
)
.
createConnectionFactory
(
ActiveMQConnectionFactory
.
class
));
}
return
connectionFactory
;
}
}
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/activemq/ActiveMQAutoConfigurationTests.java
View file @
5cb9b9a9
...
...
@@ -17,6 +17,7 @@
package
org
.
springframework
.
boot
.
autoconfigure
.
jms
.
activemq
;
import
javax.jms.ConnectionFactory
;
import
javax.jms.JMSException
;
import
org.apache.activemq.ActiveMQConnectionFactory
;
import
org.apache.activemq.pool.PooledConnectionFactory
;
...
...
@@ -29,6 +30,8 @@ import org.springframework.context.annotation.Bean;
import
org.springframework.context.annotation.Configuration
;
import
static
org
.
hamcrest
.
Matchers
.
instanceOf
;
import
static
org
.
hamcrest
.
Matchers
.
is
;
import
static
org
.
hamcrest
.
Matchers
.
nullValue
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertThat
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
...
...
@@ -62,11 +65,14 @@ public class ActiveMQAutoConfigurationTests {
}
@Test
public
void
pooledConnectionFactoryConfiguration
()
{
public
void
pooledConnectionFactoryConfiguration
()
throws
JMSException
{
load
(
EmptyConfiguration
.
class
,
"spring.activemq.pooled:true"
);
ConnectionFactory
connectionFactory
=
this
.
context
.
getBean
(
ConnectionFactory
.
class
);
assertThat
(
connectionFactory
,
instanceOf
(
PooledConnectionFactory
.
class
));
this
.
context
.
close
();
assertThat
(((
PooledConnectionFactory
)
connectionFactory
).
createConnection
(),
is
(
nullValue
()));
}
private
void
load
(
Class
<?>
config
,
String
...
environment
)
{
...
...
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