1818
1919import java .util .concurrent .atomic .AtomicInteger ;
2020
21+ import org .jspecify .annotations .Nullable ;
22+
2123import org .springframework .beans .BeansException ;
2224import org .springframework .beans .factory .BeanFactory ;
2325import org .springframework .beans .factory .BeanFactoryAware ;
3840 * @author Artem Bilan
3941 * @author Gary Russell
4042 * @author Ngoc Nhan
43+ * @author Glenn Renfro
4144 *
4245 * @since 4.0
4346 */
@@ -51,27 +54,28 @@ public class TransactionSynchronizationFactoryBean implements FactoryBean<Defaul
5154
5255 private final AtomicInteger counter = new AtomicInteger ();
5356
57+ @ SuppressWarnings ("NullAway.Init" )
5458 private BeanFactory beanFactory ;
5559
56- private volatile String beforeCommitExpression ;
60+ private volatile @ Nullable String beforeCommitExpression ;
5761
58- private volatile String afterCommitExpression ;
62+ private volatile @ Nullable String afterCommitExpression ;
5963
60- private volatile String afterRollbackExpression ;
64+ private volatile @ Nullable String afterRollbackExpression ;
6165
62- private volatile MessageChannel beforeCommitChannel ;
66+ private volatile @ Nullable MessageChannel beforeCommitChannel ;
6367
64- private volatile String beforeCommitChannelName ;
68+ private volatile @ Nullable String beforeCommitChannelName ;
6569
66- private volatile MessageChannel afterCommitChannel ;
70+ private volatile @ Nullable MessageChannel afterCommitChannel ;
6771
68- private volatile String afterCommitChannelName ;
72+ private volatile @ Nullable String afterCommitChannelName ;
6973
70- private volatile MessageChannel afterRollbackChannel ;
74+ private volatile @ Nullable MessageChannel afterRollbackChannel ;
7175
72- private volatile String afterRollbackChannelName ;
76+ private volatile @ Nullable String afterRollbackChannelName ;
7377
74- private volatile DestinationResolver <MessageChannel > channelResolver ;
78+ private volatile @ Nullable DestinationResolver <MessageChannel > channelResolver ;
7579
7680 @ Override
7781 public void setBeanFactory (BeanFactory beanFactory ) throws BeansException {
@@ -108,7 +112,7 @@ public TransactionSynchronizationFactoryBean beforeCommit(MessageChannel message
108112 return beforeCommit (this .beforeCommitExpression , messageChannel );
109113 }
110114
111- public TransactionSynchronizationFactoryBean beforeCommit (String expression , MessageChannel messageChannel ) {
115+ public TransactionSynchronizationFactoryBean beforeCommit (@ Nullable String expression , @ Nullable MessageChannel messageChannel ) {
112116 Assert .state (StringUtils .hasText (expression ) || messageChannel != null ,
113117 EXPRESSION_OR_CHANNEL_NEEDED );
114118 this .beforeCommitExpression = expression ;
@@ -134,7 +138,7 @@ public TransactionSynchronizationFactoryBean afterCommit(MessageChannel messageC
134138 return afterCommit (this .afterCommitExpression , messageChannel );
135139 }
136140
137- public TransactionSynchronizationFactoryBean afterCommit (String expression , MessageChannel messageChannel ) {
141+ public TransactionSynchronizationFactoryBean afterCommit (@ Nullable String expression , @ Nullable MessageChannel messageChannel ) {
138142 Assert .state (StringUtils .hasText (expression ) || messageChannel != null ,
139143 EXPRESSION_OR_CHANNEL_NEEDED );
140144 this .afterCommitExpression = expression ;
@@ -160,7 +164,7 @@ public TransactionSynchronizationFactoryBean afterRollback(MessageChannel messag
160164 return afterRollback (this .afterRollbackExpression , messageChannel );
161165 }
162166
163- public TransactionSynchronizationFactoryBean afterRollback (String expression , MessageChannel messageChannel ) {
167+ public TransactionSynchronizationFactoryBean afterRollback (@ Nullable String expression , @ Nullable MessageChannel messageChannel ) {
164168 Assert .state (StringUtils .hasText (expression ) || messageChannel != null ,
165169 EXPRESSION_OR_CHANNEL_NEEDED );
166170 this .afterRollbackExpression = expression ;
0 commit comments