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
533d36a4
Commit
533d36a4
authored
Jul 01, 2015
by
Stephane Nicoll
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '1.2.x'
parents
0db7bd37
441049cf
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
70 additions
and
0 deletions
+70
-0
JmsAnnotationDrivenConfiguration.java
...t/autoconfigure/jms/JmsAnnotationDrivenConfiguration.java
+3
-0
JmsAutoConfigurationTests.java
...ork/boot/autoconfigure/jms/JmsAutoConfigurationTests.java
+67
-0
No files found.
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/jms/JmsAnnotationDrivenConfiguration.java
View file @
533d36a4
...
@@ -61,6 +61,9 @@ class JmsAnnotationDrivenConfiguration {
...
@@ -61,6 +61,9 @@ class JmsAnnotationDrivenConfiguration {
if
(
this
.
transactionManager
!=
null
)
{
if
(
this
.
transactionManager
!=
null
)
{
factory
.
setTransactionManager
(
this
.
transactionManager
);
factory
.
setTransactionManager
(
this
.
transactionManager
);
}
}
else
{
factory
.
setSessionTransacted
(
true
);
}
if
(
this
.
destinationResolver
!=
null
)
{
if
(
this
.
destinationResolver
!=
null
)
{
factory
.
setDestinationResolver
(
this
.
destinationResolver
);
factory
.
setDestinationResolver
(
this
.
destinationResolver
);
}
}
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/jms/JmsAutoConfigurationTests.java
View file @
533d36a4
...
@@ -23,12 +23,14 @@ import org.apache.activemq.pool.PooledConnectionFactory;
...
@@ -23,12 +23,14 @@ import org.apache.activemq.pool.PooledConnectionFactory;
import
org.junit.After
;
import
org.junit.After
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.springframework.beans.BeansException
;
import
org.springframework.beans.BeansException
;
import
org.springframework.beans.DirectFieldAccessor
;
import
org.springframework.beans.factory.config.BeanPostProcessor
;
import
org.springframework.beans.factory.config.BeanPostProcessor
;
import
org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration
;
import
org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration
;
import
org.springframework.boot.test.EnvironmentTestUtils
;
import
org.springframework.boot.test.EnvironmentTestUtils
;
import
org.springframework.context.annotation.AnnotationConfigApplicationContext
;
import
org.springframework.context.annotation.AnnotationConfigApplicationContext
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.jdbc.datasource.DataSourceTransactionManager
;
import
org.springframework.jms.annotation.EnableJms
;
import
org.springframework.jms.annotation.EnableJms
;
import
org.springframework.jms.config.DefaultJmsListenerContainerFactory
;
import
org.springframework.jms.config.DefaultJmsListenerContainerFactory
;
import
org.springframework.jms.config.JmsListenerConfigUtils
;
import
org.springframework.jms.config.JmsListenerConfigUtils
;
...
@@ -38,10 +40,13 @@ import org.springframework.jms.config.SimpleJmsListenerContainerFactory;
...
@@ -38,10 +40,13 @@ import org.springframework.jms.config.SimpleJmsListenerContainerFactory;
import
org.springframework.jms.core.JmsMessagingTemplate
;
import
org.springframework.jms.core.JmsMessagingTemplate
;
import
org.springframework.jms.core.JmsTemplate
;
import
org.springframework.jms.core.JmsTemplate
;
import
org.springframework.jms.listener.DefaultMessageListenerContainer
;
import
org.springframework.jms.listener.DefaultMessageListenerContainer
;
import
org.springframework.transaction.jta.JtaTransactionManager
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
static
org
.
junit
.
Assert
.
assertFalse
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
import
static
org
.
junit
.
Assert
.
assertNull
;
import
static
org
.
junit
.
Assert
.
assertSame
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
mock
;
...
@@ -137,6 +142,48 @@ public class JmsAutoConfigurationTests {
...
@@ -137,6 +142,48 @@ public class JmsAutoConfigurationTests {
jmsListenerContainerFactory
.
getClass
());
jmsListenerContainerFactory
.
getClass
());
}
}
@Test
public
void
testDefaultContainerFactoryWithJtaTransactionManager
()
{
this
.
context
=
createContext
(
TestConfiguration7
.
class
,
EnableJmsConfiguration
.
class
);
JmsListenerContainerFactory
<?>
jmsListenerContainerFactory
=
this
.
context
.
getBean
(
"jmsListenerContainerFactory"
,
JmsListenerContainerFactory
.
class
);
assertEquals
(
DefaultJmsListenerContainerFactory
.
class
,
jmsListenerContainerFactory
.
getClass
());
DefaultMessageListenerContainer
listenerContainer
=
((
DefaultJmsListenerContainerFactory
)
jmsListenerContainerFactory
).
createListenerContainer
(
mock
(
JmsListenerEndpoint
.
class
));
assertFalse
(
"wrong session transacted flag with JTA transactions"
,
listenerContainer
.
isSessionTransacted
());
assertSame
(
this
.
context
.
getBean
(
JtaTransactionManager
.
class
),
new
DirectFieldAccessor
(
listenerContainer
).
getPropertyValue
(
"transactionManager"
));
}
@Test
public
void
testDefaultContainerFactoryNonJtaTransactionManager
()
{
this
.
context
=
createContext
(
TestConfiguration8
.
class
,
EnableJmsConfiguration
.
class
);
JmsListenerContainerFactory
<?>
jmsListenerContainerFactory
=
this
.
context
.
getBean
(
"jmsListenerContainerFactory"
,
JmsListenerContainerFactory
.
class
);
assertEquals
(
DefaultJmsListenerContainerFactory
.
class
,
jmsListenerContainerFactory
.
getClass
());
DefaultMessageListenerContainer
listenerContainer
=
((
DefaultJmsListenerContainerFactory
)
jmsListenerContainerFactory
).
createListenerContainer
(
mock
(
JmsListenerEndpoint
.
class
));
assertTrue
(
"wrong session transacted flag with no tx manager"
,
listenerContainer
.
isSessionTransacted
());
assertNull
(
new
DirectFieldAccessor
(
listenerContainer
).
getPropertyValue
(
"transactionManager"
));
}
@Test
public
void
testDefaultContainerFactoryNoTransactionManager
()
{
this
.
context
=
createContext
(
EnableJmsConfiguration
.
class
);
JmsListenerContainerFactory
<?>
jmsListenerContainerFactory
=
this
.
context
.
getBean
(
"jmsListenerContainerFactory"
,
JmsListenerContainerFactory
.
class
);
assertEquals
(
DefaultJmsListenerContainerFactory
.
class
,
jmsListenerContainerFactory
.
getClass
());
DefaultMessageListenerContainer
listenerContainer
=
((
DefaultJmsListenerContainerFactory
)
jmsListenerContainerFactory
).
createListenerContainer
(
mock
(
JmsListenerEndpoint
.
class
));
assertTrue
(
"wrong session transacted flag with no tx manager"
,
listenerContainer
.
isSessionTransacted
());
assertNull
(
new
DirectFieldAccessor
(
listenerContainer
).
getPropertyValue
(
"transactionManager"
));
}
@Test
@Test
public
void
testPubSubDisabledByDefault
()
{
public
void
testPubSubDisabledByDefault
()
{
load
(
TestConfiguration
.
class
);
load
(
TestConfiguration
.
class
);
...
@@ -350,6 +397,26 @@ public class JmsAutoConfigurationTests {
...
@@ -350,6 +397,26 @@ public class JmsAutoConfigurationTests {
}
}
@Configuration
protected
static
class
TestConfiguration7
{
@Bean
JtaTransactionManager
transactionManager
()
{
return
mock
(
JtaTransactionManager
.
class
);
}
}
@Configuration
protected
static
class
TestConfiguration8
{
@Bean
DataSourceTransactionManager
transactionManager
()
{
return
mock
(
DataSourceTransactionManager
.
class
);
}
}
@Configuration
@Configuration
@EnableJms
@EnableJms
protected
static
class
EnableJmsConfiguration
{
protected
static
class
EnableJmsConfiguration
{
...
...
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