|
1 | | -# cics-eventprocessing-java |
| 1 | +# cics-eventprocessing-java |
| 2 | +Example code of how to use CICS event processing in the Java programming language |
| 3 | + |
| 4 | +## Structure |
| 5 | +The project consists of two Maven modules: |
| 6 | + |
| 7 | +1. cics-eventprocessing-java-code - The Java source code for this example |
| 8 | +2. cics-eventprocessing-java-bundle - The bundle definition for this example |
| 9 | + |
| 10 | +## Code Structure |
| 11 | +The code is built into a WAR file, which can be deployed to a Liberty JVM server as a web application. |
| 12 | + |
| 13 | +There are two Java classes: |
| 14 | + |
| 15 | +1. EventEmitter.java - A servlet which emits CICS events |
| 16 | +2. EventConsumer.java - Defines the program `EVNTCONS` which receives CICS events, see [Bundle Structure](#bundle_structure) for more details |
| 17 | + |
| 18 | +## Bundle Structure |
| 19 | +The CICS bundle contains several elements |
| 20 | + |
| 21 | +1. `EVNT` - A transaction which targets the `EVNTCONS` program |
| 22 | +2. `EVENTADAPTER` - An EP Adapter which starts the `EVNT` transaction |
| 23 | +3. `EVENT` - An Event Binding which targets the `EVENTADAPTER` adpater |
| 24 | +4. A WARBUNDLE containing the built Java WAR. |
| 25 | + |
| 26 | +## Building |
| 27 | +*TODO* |
| 28 | + |
| 29 | +## Configuration |
| 30 | +You'll need to define a Liberty JVM server with the name `DFHWLP`. This name can be modified in the `pom.xml` of the cics-eventprocessing-java-bundle module. |
| 31 | + |
| 32 | +The Liberty JVM server will need the `cicsts:core-1.0`, `cicsts:link-1.0` and `servlet-3.1` features installed at minimum. A sample server.xml file is provided below |
| 33 | + |
| 34 | +```xml |
| 35 | +<server name="cics-eventprocessing-java"> |
| 36 | + <featureManager> |
| 37 | + <feature>cicsts:core-1.0</feature> |
| 38 | + <feature>cicsts:link-1.0</feature> |
| 39 | + <feature>servlet-3.1</feature> |
| 40 | + </featureManager> |
| 41 | + |
| 42 | + <!-- More configuration --> |
| 43 | +</server> |
| 44 | +``` |
| 45 | + |
| 46 | +## Deploying |
| 47 | +*TODO* |
| 48 | + |
| 49 | +## Running |
| 50 | +1. Use a browser to target the address http://my.zos:9080/cics-eventprocessing-java-code/emit?name=EVENT replacing `my.zos` with the hostname of your z/OS system and `9080` with the port the Liberty JVM server is listening on. |
| 51 | +2. View the JVM server CURRENT.STDOUT file, this should contain two log messages |
| 52 | + * Emitted event |
| 53 | + * Consumed event |
| 54 | + |
| 55 | +You can also emit an event using `EXEC CICS SIGNAL EVENT(EVENT)` either in another CICS program, or using the `CECI` transaction. |
0 commit comments