atomikos / transactions-essentials

Development repository for next major release of
https://www.atomikos.com/Main/TransactionsEssentials
Other
462 stars 139 forks source link

Spring Boot Native compatibility #226

Open klopfdreh opened 1 month ago

klopfdreh commented 1 month ago

Is your feature request related to a problem? Please describe. We are using Spring Cloud Data Flow / Spring Batch and a lot of task application which requires a fast startup time to perform their work. With Spring Boot Native we saw a performance improvement to 6,5 seconds compared to previous 17,5 seconds at startup time.

For this test we had to remove Atomikos Transaction Management as our test task application was not relying on Atomikos but others do (the reason for this ticket).

Describe the solution you'd like N/A

Describe alternatives you've considered N/A

Additional context We tested to native compile the application with Liberica NIK and the compilation just worked fine. During the startup time (runtime) however there was an ClassNotFoundException that oracle.jdbc.xa.client.OracleXADataSource was not found. We also tested with h2 in which case org.h2.jdbcx.JdbcDataSource was not found. Maybe it is regarding a missing @NestedConfigurationProperty.

After this we switch to default datasources of Spring Boot e.g. spring.datasource.* which was working just fine with both implementations.