Skip to content

Commit d6c1a65

Browse files
committed
JtaTransactionManagerFactoryBean fully initializes its JTM instance
Closes gh-22605
1 parent 271445b commit d6c1a65

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

spring-tx/src/main/java/org/springframework/transaction/config/JtaTransactionManagerFactoryBean.java

+10-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2018 the original author or authors.
2+
* Copyright 2002-2019 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -18,7 +18,9 @@
1818

1919
import org.springframework.beans.BeanUtils;
2020
import org.springframework.beans.factory.FactoryBean;
21+
import org.springframework.beans.factory.InitializingBean;
2122
import org.springframework.lang.Nullable;
23+
import org.springframework.transaction.TransactionSystemException;
2224
import org.springframework.transaction.jta.JtaTransactionManager;
2325
import org.springframework.util.ClassUtils;
2426

@@ -32,7 +34,7 @@
3234
* @see org.springframework.transaction.jta.WebLogicJtaTransactionManager
3335
* @see org.springframework.transaction.jta.WebSphereUowTransactionManager
3436
*/
35-
public class JtaTransactionManagerFactoryBean implements FactoryBean<JtaTransactionManager> {
37+
public class JtaTransactionManagerFactoryBean implements FactoryBean<JtaTransactionManager>, InitializingBean {
3638

3739
private static final String WEBLOGIC_JTA_TRANSACTION_MANAGER_CLASS_NAME =
3840
"org.springframework.transaction.jta.WebLogicJtaTransactionManager";
@@ -55,7 +57,6 @@ public class JtaTransactionManagerFactoryBean implements FactoryBean<JtaTransact
5557
}
5658

5759

58-
@Nullable
5960
private final JtaTransactionManager transactionManager;
6061

6162

@@ -73,6 +74,11 @@ public JtaTransactionManagerFactoryBean() {
7374
}
7475

7576

77+
@Override
78+
public void afterPropertiesSet() throws TransactionSystemException {
79+
this.transactionManager.afterPropertiesSet();
80+
}
81+
7682
@Override
7783
@Nullable
7884
public JtaTransactionManager getObject() {
@@ -81,7 +87,7 @@ public JtaTransactionManager getObject() {
8187

8288
@Override
8389
public Class<?> getObjectType() {
84-
return (this.transactionManager != null ? this.transactionManager.getClass() : JtaTransactionManager.class);
90+
return this.transactionManager.getClass();
8591
}
8692

8793
@Override

0 commit comments

Comments
 (0)