2121import io .micrometer .observation .ObservationRegistry ;
2222import jakarta .jms .ConnectionFactory ;
2323import jakarta .jms .ExceptionListener ;
24+ import org .jspecify .annotations .Nullable ;
2425
2526import org .springframework .boot .context .properties .PropertyMapper ;
2627import org .springframework .boot .jms .autoconfigure .JmsProperties .Listener .Session ;
4647 */
4748public final class DefaultJmsListenerContainerFactoryConfigurer {
4849
49- private DestinationResolver destinationResolver ;
50+ private @ Nullable DestinationResolver destinationResolver ;
5051
51- private MessageConverter messageConverter ;
52+ private @ Nullable MessageConverter messageConverter ;
5253
53- private ExceptionListener exceptionListener ;
54+ private @ Nullable ExceptionListener exceptionListener ;
5455
55- private JtaTransactionManager transactionManager ;
56+ private @ Nullable JtaTransactionManager transactionManager ;
5657
57- private JmsProperties jmsProperties ;
58+ private @ Nullable JmsProperties jmsProperties ;
5859
59- private ObservationRegistry observationRegistry ;
60+ private @ Nullable ObservationRegistry observationRegistry ;
6061
6162 /**
6263 * Set the {@link DestinationResolver} to use or {@code null} if no destination
6364 * resolver should be associated with the factory by default.
6465 * @param destinationResolver the {@link DestinationResolver}
6566 */
66- void setDestinationResolver (DestinationResolver destinationResolver ) {
67+ void setDestinationResolver (@ Nullable DestinationResolver destinationResolver ) {
6768 this .destinationResolver = destinationResolver ;
6869 }
6970
@@ -72,7 +73,7 @@ void setDestinationResolver(DestinationResolver destinationResolver) {
7273 * converter should be used.
7374 * @param messageConverter the {@link MessageConverter}
7475 */
75- void setMessageConverter (MessageConverter messageConverter ) {
76+ void setMessageConverter (@ Nullable MessageConverter messageConverter ) {
7677 this .messageConverter = messageConverter ;
7778 }
7879
@@ -81,7 +82,7 @@ void setMessageConverter(MessageConverter messageConverter) {
8182 * should be associated by default.
8283 * @param exceptionListener the {@link ExceptionListener}
8384 */
84- void setExceptionListener (ExceptionListener exceptionListener ) {
85+ void setExceptionListener (@ Nullable ExceptionListener exceptionListener ) {
8586 this .exceptionListener = exceptionListener ;
8687 }
8788
@@ -90,23 +91,23 @@ void setExceptionListener(ExceptionListener exceptionListener) {
9091 * should not be used.
9192 * @param transactionManager the {@link JtaTransactionManager}
9293 */
93- void setTransactionManager (JtaTransactionManager transactionManager ) {
94+ void setTransactionManager (@ Nullable JtaTransactionManager transactionManager ) {
9495 this .transactionManager = transactionManager ;
9596 }
9697
9798 /**
9899 * Set the {@link JmsProperties} to use.
99100 * @param jmsProperties the {@link JmsProperties}
100101 */
101- void setJmsProperties (JmsProperties jmsProperties ) {
102+ void setJmsProperties (@ Nullable JmsProperties jmsProperties ) {
102103 this .jmsProperties = jmsProperties ;
103104 }
104105
105106 /**
106107 * Set the {@link ObservationRegistry} to use.
107108 * @param observationRegistry the {@link ObservationRegistry}
108109 */
109- void setObservationRegistry (ObservationRegistry observationRegistry ) {
110+ void setObservationRegistry (@ Nullable ObservationRegistry observationRegistry ) {
110111 this .observationRegistry = observationRegistry ;
111112 }
112113
@@ -119,6 +120,7 @@ void setObservationRegistry(ObservationRegistry observationRegistry) {
119120 public void configure (DefaultJmsListenerContainerFactory factory , ConnectionFactory connectionFactory ) {
120121 Assert .notNull (factory , "'factory' must not be null" );
121122 Assert .notNull (connectionFactory , "'connectionFactory' must not be null" );
123+ Assert .state (this .jmsProperties != null , "'jmsProperties' must not be null" );
122124 JmsProperties .Listener listenerProperties = this .jmsProperties .getListener ();
123125 Session sessionProperties = listenerProperties .getSession ();
124126 factory .setConnectionFactory (connectionFactory );
0 commit comments