Skip to content

Commit e726f2a

Browse files
marcosgopentomjenkinson
authored andcommitted
JBTM-3803 re-enable spring jta quickstart
1 parent 97b9257 commit e726f2a

File tree

7 files changed

+59
-138
lines changed

7 files changed

+59
-138
lines changed

pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,8 @@
159159
<version.arquillian.byteman>1.1.0</version.arquillian.byteman>
160160

161161
<version.clear.plugin>3.0.0</version.clear.plugin>
162-
<version.commons-dbcp2>2.2.0</version.commons-dbcp2>
163-
<version.commons-pool2>2.5.0</version.commons-pool2>
162+
<version.commons-dbcp2>2.13.0</version.commons-dbcp2>
163+
<version.commons-pool2>2.12.1</version.commons-pool2>
164164
<version.compiler.plugin>3.5.1</version.compiler.plugin>
165165
<version.creaper>2.0.2</version.creaper>
166166
<version.ear.plugin>2.10.1</version.ear.plugin>
@@ -190,8 +190,8 @@
190190
<version.org.jboss.stdio>1.0.1.GA</version.org.jboss.stdio>
191191
<version.org.jboss.threads>2.3.2.Final</version.org.jboss.threads>
192192

193-
<version.org.springframework.boot>2.0.9.RELEASE</version.org.springframework.boot>
194-
<version.org.springframwork>5.2.22.RELEASE</version.org.springframwork>
193+
<version.org.springframework.boot>3.5.6</version.org.springframework.boot>
194+
<version.org.springframwork>6.2.11</version.org.springframwork>
195195
<version.plugin.maven.dependency>2.3</version.plugin.maven.dependency>
196196
<version.postgresql>9.1-901.jdbc4</version.postgresql>
197197
<version.resteasy.api>3.0.12.Final</version.resteasy.api>

spring/jta/pom.xml

Lines changed: 16 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
<dependency>
4646
<groupId>org.springframework</groupId>
4747
<artifactId>spring-jdbc</artifactId>
48-
<version>${version.org.springframwork}</version>
48+
<scope>compile</scope>
4949
</dependency>
5050
<dependency>
5151
<groupId>org.springframework</groupId>
@@ -85,72 +85,29 @@
8585
</dependency>
8686
<!-- Other dependencies -->
8787
<dependency>
88-
<groupId>org.apache.commons</groupId>
89-
<artifactId>commons-dbcp2</artifactId>
90-
<version>${version.commons-dbcp2}</version>
91-
<exclusions>
92-
<exclusion>
93-
<groupId>commons-logging</groupId>
94-
<artifactId>commons-logging</artifactId>
95-
</exclusion>
96-
</exclusions>
88+
<groupId>dev.snowdrop</groupId>
89+
<artifactId>narayana-spring-boot-core</artifactId>
90+
<version>3.5.0</version>
9791
</dependency>
9892
<dependency>
99-
<groupId>org.apache.commons</groupId>
100-
<artifactId>commons-pool2</artifactId>
101-
<version>${version.commons-pool2}</version>
93+
<groupId>dev.snowdrop</groupId>
94+
<artifactId>narayana-spring-boot-starter</artifactId>
95+
<version>3.5.0</version>
96+
<scope>compile</scope>
10297
</dependency>
10398
<dependency>
10499
<groupId>com.h2database</groupId>
105100
<artifactId>h2</artifactId>
101+
<scope>compile</scope>
106102
</dependency>
107103

108-
<dependency>
109-
<groupId>org.apache.logging.log4j</groupId>
110-
<artifactId>log4j-api</artifactId>
111-
<version>2.17.1</version>
112-
<exclusions>
113-
<exclusion>
114-
<groupId>com.sun.jmx</groupId>
115-
<artifactId>jmxri</artifactId>
116-
</exclusion>
117-
<exclusion>
118-
<groupId>com.sun.jdmk</groupId>
119-
<artifactId>jmxtools</artifactId>
120-
</exclusion>
121-
<exclusion>
122-
<groupId>jakarta.jms</groupId>
123-
<artifactId>jms</artifactId>
124-
</exclusion>
125-
<exclusion>
126-
<groupId>jakarta.mail</groupId>
127-
<artifactId>mail</artifactId>
128-
</exclusion>
129-
</exclusions>
130-
</dependency>
131-
<dependency>
132-
<groupId>org.apache.logging.log4j</groupId>
133-
<artifactId>log4j-core</artifactId>
134-
<version>2.17.1</version>
135-
<exclusions>
136-
<exclusion>
137-
<groupId>com.sun.jmx</groupId>
138-
<artifactId>jmxri</artifactId>
139-
</exclusion>
140-
<exclusion>
141-
<groupId>com.sun.jdmk</groupId>
142-
<artifactId>jmxtools</artifactId>
143-
</exclusion>
144-
<exclusion>
145-
<groupId>jakarta.jms</groupId>
146-
<artifactId>jms</artifactId>
147-
</exclusion>
148-
<exclusion>
149-
<groupId>jakarta.mail</groupId>
150-
<artifactId>mail</artifactId>
151-
</exclusion>
152-
</exclusions>
153-
</dependency>
104+
<!-- compile scope needed for the jar to be run -->
105+
<dependency>
106+
<groupId>org.slf4j</groupId>
107+
<artifactId>slf4j-api</artifactId>
108+
<version>2.0.17</version>
109+
<scope>compile</scope>
110+
</dependency>
154111
<!-- JUnit test framework -->
155112
<dependency>
156113
<groupId>junit</groupId>

spring/jta/src/main/java/org/jboss/narayana/quickstart/spring/Launch.java

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,34 +10,34 @@
1010

1111
public class Launch {
1212
public static void main(String[] args) throws Exception {
13-
AbstractApplicationContext context = new AnnotationConfigApplicationContext(Launch.class.getPackage().getName());
14-
ExampleService service = context.getBean(ExampleService.class);
13+
try (AbstractApplicationContext context = new AnnotationConfigApplicationContext(Launch.class.getPackage().getName())) {
14+
ExampleService service = context.getBean(ExampleService.class);
15+
if (args.length == 1) {
16+
RecoveryManagerService recoveryManagerService = context.getBean(RecoveryManagerService.class);
17+
if (args[0].equals("-f")) {
18+
System.out.println("Generate something to recovery ...");
19+
service.testRecovery();
20+
} else if (args[0].equals("-r")) {
21+
System.out.println("start the recovery manager");
22+
recoveryManagerService.start();
1523

16-
if (args.length == 1) {
17-
RecoveryManagerService recoveryManagerService = context.getBean(RecoveryManagerService.class);
18-
if (args[0].equals("-f")) {
19-
System.out.println("Generate something to recovery ...");
20-
service.testRecovery();
21-
} else if (args[0].equals("-r")) {
22-
System.out.println("start the recovery manager");
23-
recoveryManagerService.start();
24+
System.out.println("recovery manager scan ...");
25+
while (DummyXAResource.getCommitRequests() == 0) {
26+
Thread.sleep(1000);
27+
}
2428

25-
System.out.println("recovery manager scan ...");
26-
while (DummyXAResource.getCommitRequests() == 0) {
27-
Thread.sleep(1000);
29+
System.out.println("stop the recovery manager");
30+
recoveryManagerService.stop();
31+
} else if (args[0].equals("-c")) {
32+
service.checkRecord();
2833
}
29-
30-
System.out.println("stop the recovery manager");
31-
recoveryManagerService.stop();
32-
} else if (args[0].equals("-c")) {
34+
} else {
35+
service.testCommit();
3336
service.checkRecord();
3437
}
35-
} else {
36-
service.testCommit();
37-
service.checkRecord();
38-
}
3938

40-
service.shutdownDatabase();
39+
service.shutdownDatabase();
40+
}
4141
TxControl.disable(true);
4242
TransactionReaper.terminate(true);
4343
}
Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
11
package org.jboss.narayana.quickstart.spring.config;
22

3-
import org.apache.commons.dbcp2.PoolableConnection;
4-
import org.apache.commons.dbcp2.PoolableConnectionFactory;
5-
import org.apache.commons.dbcp2.managed.DataSourceXAConnectionFactory;
6-
import org.apache.commons.dbcp2.managed.ManagedDataSource;
7-
import org.apache.commons.pool2.impl.GenericObjectPool;
3+
import javax.sql.DataSource;
4+
import javax.sql.XADataSource;
5+
86
import org.h2.jdbcx.JdbcDataSource;
97
import org.springframework.beans.factory.annotation.Autowired;
8+
import org.springframework.boot.jdbc.XADataSourceWrapper;
109
import org.springframework.context.annotation.Bean;
1110
import org.springframework.context.annotation.Configuration;
1211
import org.springframework.jdbc.core.JdbcTemplate;
1312

14-
import javax.sql.DataSource;
15-
import javax.sql.XADataSource;
16-
import jakarta.transaction.TransactionManager;
17-
1813
@Configuration
1914
public class DatabaseConfig {
15+
16+
17+
//injected by the NarayanaAutoConfiguration
2018
@Autowired
21-
private TransactionManager tm;
19+
public XADataSourceWrapper xaDataSourceWrapper;
2220

2321
@Bean
2422
public XADataSource h2DataSource() {
@@ -30,20 +28,12 @@ public XADataSource h2DataSource() {
3028
}
3129

3230
@Bean
33-
public DataSource dataSource() {
34-
DataSourceXAConnectionFactory dataSourceXAConnectionFactory =
35-
new DataSourceXAConnectionFactory(tm, h2DataSource());
36-
PoolableConnectionFactory poolableConnectionFactory =
37-
new PoolableConnectionFactory(dataSourceXAConnectionFactory, null);
38-
GenericObjectPool<PoolableConnection> connectionPool =
39-
new GenericObjectPool<>(poolableConnectionFactory);
40-
poolableConnectionFactory.setPool(connectionPool);
41-
return new ManagedDataSource<>(connectionPool,
42-
dataSourceXAConnectionFactory.getTransactionRegistry());
31+
public DataSource dataSource() throws Exception {
32+
return xaDataSourceWrapper.wrapDataSource(h2DataSource());
4333
}
4434

4535
@Bean
46-
public JdbcTemplate jdbcTemplate() {
36+
public JdbcTemplate jdbcTemplate() throws Exception {
4737
return new JdbcTemplate(dataSource());
4838
}
4939
}

spring/jta/src/main/java/org/jboss/narayana/quickstart/spring/config/TransactionConfig.java

Lines changed: 0 additions & 26 deletions
This file was deleted.

spring/jta/src/test/java/org/jboss/narayana/quickstart/spring/TestJTA.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package org.jboss.narayana.quickstart.spring;
22

3+
import static org.junit.Assert.assertEquals;
4+
35
import org.jboss.narayana.quickstart.spring.config.DatabaseConfig;
46
import org.jboss.narayana.quickstart.spring.config.DummyXAConfig;
5-
import org.jboss.narayana.quickstart.spring.config.TransactionConfig;
67
import org.jboss.narayana.quickstart.spring.xa.DummyXAResource;
78
import org.junit.After;
89
import org.junit.Before;
@@ -13,14 +14,13 @@
1314
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
1415
import org.springframework.test.context.support.AnnotationConfigContextLoader;
1516

17+
import dev.snowdrop.boot.narayana.autoconfigure.NarayanaAutoConfiguration;
1618
import jakarta.annotation.Resource;
1719
import jakarta.transaction.TransactionManager;
1820

19-
import static org.junit.Assert.assertEquals;
20-
2121
@RunWith(SpringJUnit4ClassRunner.class)
22-
@ContextConfiguration(loader = AnnotationConfigContextLoader.class,
23-
classes = {TransactionConfig.class, DatabaseConfig.class, DummyXAConfig.class})
22+
@ContextConfiguration(loader = AnnotationConfigContextLoader.class, classes = { NarayanaAutoConfiguration.class,
23+
DatabaseConfig.class, DummyXAConfig.class})
2424
public class TestJTA {
2525
@Resource
2626
private TransactionManager tm;

spring/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<modules>
2121
<!-- JBTM-3747 Disable spring quickstarts-->
2222
<!-- jakarta TODO: wait narayana jta to be migrated -->
23-
<!-- <module>jta</module> -->
23+
<module>jta</module>
2424
<!-- <module>narayana-spring-boot</module> -->
2525
<!-- <module>stock-market-with-narayana-spring-boot</module> -->
2626
<!-- <module>camel-with-narayana-spring-boot</module> -->

0 commit comments

Comments
 (0)