1

After updating to Java 11 we get the following message: [4/3/20, 11:47:09:184 CEST] 0000002d com.ibm.ws.classloading.internal.util.FeatureSuggestion I CWWKL0084W: The javax.transaction.TransactionManager class could not be loaded. Try enabling the jdbc-4.0 feature or a newer version of the feature in the server.xml file.

We are already using jdbc-4.3 (had the same message on 4.2 as well). The application itself does not give any errors that I can see. The application is made with maven that has the compile plugin configured with 11.

There are no problems when compiling and running tests for the application on java 11, and this only appears when deployed to liberty. Should we explicitly include a dependency for this in the war, or is this an issue that should be fixed in liberty?

bushwakko
  • 31
  • 7
  • it's hard to say without a few more details. Can you please post the full stack trace? – Andy Guibert Apr 03 '20 at 13:33
  • Also can you provide details about what version of Open Liberty you are using and your feature list from your server.xml file. – Jared Anderson Apr 03 '20 at 14:24
  • Thinking about it more, information about your application and how it is deployed would be helpful as well . Is the application all self contained or are there libraries that are deployed separate from the application and referenced from the application definition in your server.xml? – Jared Anderson Apr 03 '20 at 16:10
  • There is no stack trace (everything appears to be working), I only get the above message. This is running on liberty 20.0.0.3. The following features are in use: ` jndi-1.0 jdbc-4.3 servlet-3.1 el-3.0 jaxb-2.2 monitor-1.0 ` – bushwakko Apr 14 '20 at 13:05
  • The application is a single-war with all dependencies except the oracle-driver that is included and referenced in the server.xml. – bushwakko Apr 14 '20 at 13:11

1 Answers1

0

From later releases on, Java EE is not included any more. The transaction classes are in the javax.transaction package.

Adding the following dependency should solve it:

    <dependency>
        <groupId>javax.transaction</groupId>
        <artifactId>jta</artifactId>
        <version>1.1</version>
    </dependency>

(Not sure if it helps with your deployment, but it works with Spring Boot 2)

kap
  • 1,456
  • 2
  • 19
  • 24