1
1
/*
2
- * Copyright 2002-2018 the original author or authors.
2
+ * Copyright 2002-2020 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
17
17
package org .springframework .jms .config ;
18
18
19
19
import javax .jms .ConnectionFactory ;
20
+ import javax .jms .ExceptionListener ;
20
21
21
22
import org .apache .commons .logging .Log ;
22
23
import org .apache .commons .logging .LogFactory ;
@@ -48,10 +49,13 @@ public abstract class AbstractJmsListenerContainerFactory<C extends AbstractMess
48
49
private DestinationResolver destinationResolver ;
49
50
50
51
@ Nullable
51
- private ErrorHandler errorHandler ;
52
+ private MessageConverter messageConverter ;
52
53
53
54
@ Nullable
54
- private MessageConverter messageConverter ;
55
+ private ExceptionListener exceptionListener ;
56
+
57
+ @ Nullable
58
+ private ErrorHandler errorHandler ;
55
59
56
60
@ Nullable
57
61
private Boolean sessionTransacted ;
@@ -99,17 +103,25 @@ public void setDestinationResolver(DestinationResolver destinationResolver) {
99
103
}
100
104
101
105
/**
102
- * @see AbstractMessageListenerContainer#setErrorHandler(ErrorHandler )
106
+ * @see AbstractMessageListenerContainer#setMessageConverter(MessageConverter )
103
107
*/
104
- public void setErrorHandler ( ErrorHandler errorHandler ) {
105
- this .errorHandler = errorHandler ;
108
+ public void setMessageConverter ( MessageConverter messageConverter ) {
109
+ this .messageConverter = messageConverter ;
106
110
}
107
111
108
112
/**
109
- * @see AbstractMessageListenerContainer#setMessageConverter(MessageConverter)
113
+ * @since 5.2.8
114
+ * @see AbstractMessageListenerContainer#setExceptionListener(ExceptionListener)
110
115
*/
111
- public void setMessageConverter (MessageConverter messageConverter ) {
112
- this .messageConverter = messageConverter ;
116
+ public void setExceptionListener (ExceptionListener exceptionListener ) {
117
+ this .exceptionListener = exceptionListener ;
118
+ }
119
+
120
+ /**
121
+ * @see AbstractMessageListenerContainer#setErrorHandler(ErrorHandler)
122
+ */
123
+ public void setErrorHandler (ErrorHandler errorHandler ) {
124
+ this .errorHandler = errorHandler ;
113
125
}
114
126
115
127
/**
@@ -182,6 +194,7 @@ public void setAutoStartup(boolean autoStartup) {
182
194
this .autoStartup = autoStartup ;
183
195
}
184
196
197
+
185
198
@ Override
186
199
public C createListenerContainer (JmsListenerEndpoint endpoint ) {
187
200
C instance = createContainerInstance ();
@@ -192,12 +205,15 @@ public C createListenerContainer(JmsListenerEndpoint endpoint) {
192
205
if (this .destinationResolver != null ) {
193
206
instance .setDestinationResolver (this .destinationResolver );
194
207
}
195
- if (this .errorHandler != null ) {
196
- instance .setErrorHandler (this .errorHandler );
197
- }
198
208
if (this .messageConverter != null ) {
199
209
instance .setMessageConverter (this .messageConverter );
200
210
}
211
+ if (this .exceptionListener != null ) {
212
+ instance .setExceptionListener (this .exceptionListener );
213
+ }
214
+ if (this .errorHandler != null ) {
215
+ instance .setErrorHandler (this .errorHandler );
216
+ }
201
217
if (this .sessionTransacted != null ) {
202
218
instance .setSessionTransacted (this .sessionTransacted );
203
219
}
0 commit comments