Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 16 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# cics-java-liberty-springboot-jdbc

[![Build](https://github.com/cicsdev/cics-java-liberty-springboot-jdbc/actions/workflows/build.yaml/badge.svg)](https://github.com/cicsdev/cics-java-liberty-springboot-jdbc/actions/workflows/build.yaml)
[![Build](https://github.com/cicsdev/cics-java-liberty-springboot-jdbc/actions/workflows/build.yaml/badge.svg?branch=main)](https://github.com/cicsdev/cics-java-liberty-springboot-jdbc/actions/workflows/build.yaml)
[![License](https://img.shields.io/badge/License-EPL%202.0-green.svg)](https://opensource.org/licenses/EPL-2.0)

## Overview
Expand All @@ -9,8 +9,7 @@ This sample demonstrates how to integrate **Spring Boot** with **IBM CICS** usin

The sample is intended both as a runnable example and as an educational reference for developers building enterprise-grade Spring Boot applications with JDBC on CICS Liberty.

## Key Features

**Key Features:**
- **CICS API Integration:** Direct use of CICS Java APIs for database operations
- **RESTful Services:** Spring Boot REST endpoints for employee data management
- **Multi-Module Project:** Separate application and CICS bundle modules
Expand All @@ -24,23 +23,22 @@ The sample is intended both as a runnable example and as an educational referenc
## Table of Contents

1. [Overview](#overview)
2. [Key Features](#key-features)
3. [Prerequisites](#prerequisites)
4. [Downloading](#downloading)
5. [Design and Architecture](#design-and-architecture)
6. [Transaction Management](#transaction-management)
7. [Before You Start: Files to Modify](#before-you-start-files-to-modify)
8. [Building the Sample](#building-the-sample)
9. [Deploying to a CICS Liberty JVM server](#deploying-to-a-cics-liberty-jvm-server)
2. [Prerequisites](#prerequisites)
3. [Downloading](#downloading)
4. [Design and Architecture](#design-and-architecture)
5. [Transaction Management](#transaction-management)
6. [Before You Start: Files to Modify](#before-you-start-files-to-modify)
7. [Building the Sample](#building-the-sample)
8. [Deploying to a CICS Liberty JVM server](#deploying-to-a-cics-liberty-jvm-server)
- [CICS Bundle Plugin Deployment (Gradle/Maven)](#cics-bundle-plugin-deployment-gradlemaven)
- [CICS Explorer SDK Deployment](#cics-explorer-sdk-deployment)
- [Direct Liberty Application Deployment](#direct-liberty-application-deployment)
- [Common Bundle Installation Steps](#common-bundle-installation-steps)
10. [Running the Sample](#running-the-sample)
11. [Troubleshooting](#troubleshooting)
12. [License](#license)
13. [Additional Resources](#additional-resources)
14. [Contributing](#contributing)
9. [Running the Sample](#running-the-sample)
10. [Troubleshooting](#troubleshooting)
11. [License](#license)
12. [Additional Resources](#additional-resources)
13. [Contributing](#contributing)

---

Expand Down Expand Up @@ -248,15 +246,13 @@ Before deploying, ensure your CICS region has:
```xml
<featureManager>
<feature>servlet-6.0</feature> <!-- Required for Spring Boot 3.x (Jakarta EE 10) -->
<feature>pages-3.1</feature>
<feature>jdbc-4.3</feature>
<feature>cicsts:security-1.0</feature> <!-- if CICS security is enabled -->
</featureManager>
```

**Notes:**
- `servlet-6.0` (Jakarta EE 10) requires CICS TS V6.1 or later for Spring Boot 3.x
- `cicsts:security-1.0` is automatically added if SEC=YES in SIT
- `cicsts:core-1.0` is auto-injected by CICS in integrated mode; you do not need to add it manually
- For `jdbc-4.3`, add `type="javax.sql.DataSource"` to datasource definition

---
Expand Down Expand Up @@ -643,7 +639,7 @@ HTTP 401 Unauthorized

1. **CICS security not configured:**
- Verify SEC=YES in CICS SIT
- Check that `cicsts:security-1.0` feature is in server.xml
- `cicsts:security-1.0` is auto-injected by CICS when SEC=YES; you do not need to add it manually
- Ensure user is defined in RACF/security manager

2. **Liberty security configuration:**
Expand Down
8 changes: 4 additions & 4 deletions cics-java-liberty-springboot-jdbc-app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
plugins
{
id 'org.springframework.boot' version '3.5.8'
id 'org.springframework.boot' version '3.5.16'
id 'io.spring.dependency-management' version '1.1.7'
id 'java'
id 'eclipse'
Expand Down Expand Up @@ -57,18 +57,18 @@ eclipse

repositories
{
mavenCentral()
mavenCentral()
}

dependencies
{
// CICS TS Maven BOM (version from gradle.properties)
compileOnly enforcedPlatform("com.ibm.cics:com.ibm.cics.ts.bom:${project.property('cics.bom.version')}")

// Spring Boot web starter dependency
// Spring Boot web starter dependency
implementation("org.springframework.boot:spring-boot-starter-web")

// Don't include TomCat in the runtime build, but do put it in WEB-INF so it can be run standalone a well as embedded
// Don't include TomCat in the runtime build, but do put it in WEB-INF so it can be run standalone as well as embedded
providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")

// Spring JDBC Support
Expand Down
16 changes: 16 additions & 0 deletions cics-java-liberty-springboot-jdbc-cicsbundle-eclipse/.project
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,22 @@
<buildCommand>
<name>com.ibm.cics.bundle.ui.bundlebuilder</name>
<arguments>
<dictionary>
<key>bundleID</key>
<value>cics-java-liberty-springboot-jdbc-bundle</value>
</dictionary>
<dictionary>
<key>majorVersion</key>
<value></value>
</dictionary>
<dictionary>
<key>microVersion</key>
<value></value>
</dictionary>
<dictionary>
<key>minorVersion</key>
<value></value>
</dictionary>
</arguments>
</buildCommand>
</buildSpec>
Expand Down
14 changes: 9 additions & 5 deletions cics-java-liberty-springboot-jdbc-cicsbundle/build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
// ============================================================================
// Plugins
// ============================================================================
plugins {
plugins
{
id 'com.ibm.cics.bundle' version '1.0.8'
}

Expand All @@ -14,13 +15,16 @@ version = '1.0.0'
// ============================================================================
// Dependencies
// ============================================================================
dependencies {
dependencies
{
// Application WAR from sibling project
cicsBundlePart project(path: ':cics-java-liberty-springboot-jdbc-app', configuration: 'archives')
}

cicsBundle {
build {
cicsBundle
{
build
{
defaultJVMServer = project.findProperty("cics.jvmserver") ?: "DFHWLP"
}
}
}

This file was deleted.

This file was deleted.

2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.5.8</version>
<version>3.5.16</version>
<relativePath/>
</parent>

Expand Down
Loading