21
21
import io .micrometer .observation .ObservationRegistry ;
22
22
import jakarta .jms .ConnectionFactory ;
23
23
import jakarta .jms .ExceptionListener ;
24
+ import org .jspecify .annotations .Nullable ;
24
25
25
26
import org .springframework .boot .context .properties .PropertyMapper ;
26
27
import org .springframework .boot .jms .autoconfigure .JmsProperties .Listener .Session ;
46
47
*/
47
48
public final class DefaultJmsListenerContainerFactoryConfigurer {
48
49
49
- private DestinationResolver destinationResolver ;
50
+ private @ Nullable DestinationResolver destinationResolver ;
50
51
51
- private MessageConverter messageConverter ;
52
+ private @ Nullable MessageConverter messageConverter ;
52
53
53
- private ExceptionListener exceptionListener ;
54
+ private @ Nullable ExceptionListener exceptionListener ;
54
55
55
- private JtaTransactionManager transactionManager ;
56
+ private @ Nullable JtaTransactionManager transactionManager ;
56
57
57
- private JmsProperties jmsProperties ;
58
+ private @ Nullable JmsProperties jmsProperties ;
58
59
59
- private ObservationRegistry observationRegistry ;
60
+ private @ Nullable ObservationRegistry observationRegistry ;
60
61
61
62
/**
62
63
* Set the {@link DestinationResolver} to use or {@code null} if no destination
63
64
* resolver should be associated with the factory by default.
64
65
* @param destinationResolver the {@link DestinationResolver}
65
66
*/
66
- void setDestinationResolver (DestinationResolver destinationResolver ) {
67
+ void setDestinationResolver (@ Nullable DestinationResolver destinationResolver ) {
67
68
this .destinationResolver = destinationResolver ;
68
69
}
69
70
@@ -72,7 +73,7 @@ void setDestinationResolver(DestinationResolver destinationResolver) {
72
73
* converter should be used.
73
74
* @param messageConverter the {@link MessageConverter}
74
75
*/
75
- void setMessageConverter (MessageConverter messageConverter ) {
76
+ void setMessageConverter (@ Nullable MessageConverter messageConverter ) {
76
77
this .messageConverter = messageConverter ;
77
78
}
78
79
@@ -81,7 +82,7 @@ void setMessageConverter(MessageConverter messageConverter) {
81
82
* should be associated by default.
82
83
* @param exceptionListener the {@link ExceptionListener}
83
84
*/
84
- void setExceptionListener (ExceptionListener exceptionListener ) {
85
+ void setExceptionListener (@ Nullable ExceptionListener exceptionListener ) {
85
86
this .exceptionListener = exceptionListener ;
86
87
}
87
88
@@ -90,23 +91,23 @@ void setExceptionListener(ExceptionListener exceptionListener) {
90
91
* should not be used.
91
92
* @param transactionManager the {@link JtaTransactionManager}
92
93
*/
93
- void setTransactionManager (JtaTransactionManager transactionManager ) {
94
+ void setTransactionManager (@ Nullable JtaTransactionManager transactionManager ) {
94
95
this .transactionManager = transactionManager ;
95
96
}
96
97
97
98
/**
98
99
* Set the {@link JmsProperties} to use.
99
100
* @param jmsProperties the {@link JmsProperties}
100
101
*/
101
- void setJmsProperties (JmsProperties jmsProperties ) {
102
+ void setJmsProperties (@ Nullable JmsProperties jmsProperties ) {
102
103
this .jmsProperties = jmsProperties ;
103
104
}
104
105
105
106
/**
106
107
* Set the {@link ObservationRegistry} to use.
107
108
* @param observationRegistry the {@link ObservationRegistry}
108
109
*/
109
- void setObservationRegistry (ObservationRegistry observationRegistry ) {
110
+ void setObservationRegistry (@ Nullable ObservationRegistry observationRegistry ) {
110
111
this .observationRegistry = observationRegistry ;
111
112
}
112
113
@@ -119,6 +120,7 @@ void setObservationRegistry(ObservationRegistry observationRegistry) {
119
120
public void configure (DefaultJmsListenerContainerFactory factory , ConnectionFactory connectionFactory ) {
120
121
Assert .notNull (factory , "'factory' must not be null" );
121
122
Assert .notNull (connectionFactory , "'connectionFactory' must not be null" );
123
+ Assert .state (this .jmsProperties != null , "'jmsProperties' must not be null" );
122
124
JmsProperties .Listener listenerProperties = this .jmsProperties .getListener ();
123
125
Session sessionProperties = listenerProperties .getSession ();
124
126
factory .setConnectionFactory (connectionFactory );
0 commit comments