diff --git a/.github/workflows/java.yaml b/.github/workflows/java.yaml index f021fbb..9afea0a 100644 --- a/.github/workflows/java.yaml +++ b/.github/workflows/java.yaml @@ -15,12 +15,9 @@ jobs: runs-on: ubuntu-latest continue-on-error: ${{ matrix.experimental }} strategy: + strategy: matrix: - jdk: [8, 11] - experimental: [false] - include: - - jdk: 17 - experimental: true + jdk: [17] steps: - uses: actions/checkout@v3 - name: Set up JDK ${{ matrix.jdk }} diff --git a/README.md b/README.md index b0232ff..de32322 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,9 @@ The artifact built from this project is a WAR file that can be deployed into CIC ## Prerequisites -- CICS TS V5.3 or later +- CICS TS V6.1 or later - A configured Liberty JVM server in CICS -- Java SE 1.8 or later on the workstation +- Requires Java 17 or later. on the workstation - An Eclipse development environment on the workstation (optional) - Either Gradle or Apache Maven on the workstation (optional if using Wrappers) - A CICS TSMODEL resource with the attribute `Recovery(ON)` for the TSQ called `EXAMPLE`. diff --git a/build.gradle b/build.gradle index 9681729..37d2254 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { - id 'org.springframework.boot' version '2.7.0' + id 'org.springframework.boot' version '3.5.9' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' id 'eclipse' @@ -23,25 +23,23 @@ eclipse } + repositories { mavenCentral() } -java -{ - toolchain - { +java { + toolchain { languageVersion = JavaLanguageVersion.of(java_version) - vendor = JvmVendorSpec.IBM - implementation = JvmImplementation.J9 } } + dependencies { // CICS BOM (as of May 2020) - compileOnly enforcedPlatform('com.ibm.cics:com.ibm.cics.ts.bom:5.5-20200519131930-PH25409') + compileOnly enforcedPlatform('com.ibm.cics:com.ibm.cics.ts.bom:6.1-20250812133513-PH63856') // Don't include JCICS in the final build (no need for version because we have BOM) compileOnly("com.ibm.cics:com.ibm.cics.server") @@ -51,15 +49,15 @@ dependencies // Don't include TomCat in the runtime build providedRuntime("org.springframework.boot:spring-boot-starter-tomcat") - - // Java Transaction API (this is newer and covers up to jta-1.3) - don't include in the final build - compileOnly ("javax.transaction:javax.transaction-api") - + + // Java Transaction API - don't include in the final build + compileOnly 'jakarta.transaction:jakarta.transaction-api' // Spring's Transactional API implementation ("org.springframework:spring-tx") } - +//Don't generate a FAT bootWar, we don't need to run standalone +bootWar { enabled = false } publishing { publications { diff --git a/gradle.properties b/gradle.properties index 3538325..9fa633b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,4 +14,4 @@ # For example: gradle build publish. publish_repo_releases_url = 'default-value-for-publish_repo_releases_url' publish_repo_releases_name = 'default-value-for-publish_repo_releases_name' -java_version = 8 \ No newline at end of file +java_version = 17 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index fcfb29d..48c0a02 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-rc-1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/pom.xml b/pom.xml index 96e5f96..5632bc8 100644 --- a/pom.xml +++ b/pom.xml @@ -7,31 +7,33 @@ org.springframework.boot spring-boot-starter-parent - 2.7.0 + 3.5.9 + com.ibm.cicsdev cics-java-liberty-springboot-transactions 0.1.0 com.ibm.cicsdev.springboot.transactions Demo project for Spring and Liberty transactions + - 1.8 - + 17 UTF-8 ${java.version} - ${java.version} + ${java.version} + true - + com.ibm.cics com.ibm.cics.ts.bom - 5.5-20200519131930-PH25409 + 6.1-20250812133513-PH63856 pom import @@ -66,8 +68,8 @@ - javax.transaction - javax.transaction-api + jakarta.transaction + jakarta.transaction-api provided diff --git a/src/main/java/com/ibm/cicsdev/springboot/transactions/JEEUserTransaction.java b/src/main/java/com/ibm/cicsdev/springboot/transactions/JEEUserTransaction.java index b97c595..4d07306 100644 --- a/src/main/java/com/ibm/cicsdev/springboot/transactions/JEEUserTransaction.java +++ b/src/main/java/com/ibm/cicsdev/springboot/transactions/JEEUserTransaction.java @@ -12,7 +12,8 @@ import javax.naming.InitialContext; import javax.naming.NamingException; -import javax.transaction.UserTransaction; + +import jakarta.transaction.UserTransaction; import org.springframework.stereotype.Component; import com.ibm.cics.server.TSQ; diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 31f268b..7514475 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -1,7 +1,8 @@ - + cics-java-liberty-springboot-transactions BASIC