JBoss 3.x on z/OS with IBM 1.4 JVM
I was able to get JBoss 3.x running on z/OS, OMVS using the IBM JVM version 1.4. The main thing was to use ascii encoding instead of EBCDIC so that all of the libraries, JBoss and my app's, would be sure to work. Uploading using FTP, I specified binary transfer for everything. This does mean that the console output will not be readable via telnet unless you capture it and download using binary, but I also wrote a program to stream the output to that converts it to EBCDIC so that you can see it in telnet.
The main options I set for the JVM were:
JAVA_OPTS=$JAVA_OPTS -Dsun.io.unicode.encoding=UnicodeLittle -Dfile.encoding=Cp1252 -Djava.compiler=NONE
It also helped to delete the JBoss server/default/tmp directory before starting.
To connect to the native DB2 driver on the mainframe, I used:
ConnectionURL: jdbc:db2os390sqlj:[db location name] DriverClass: COM.ibm.db2os390.sqlj.jdbc.DB2SQLJDriver
-Djava.library.path=/V1R4W/usr/lpp/db2/db2710/lib/ -classpath $JBOSS_CLASSPATH:/V1R4W/usr/lpp/db2/db2710/classes/
Also, db2j2classes.zip (IBM's JDBC driver classes) goes in /roi_web/jboss/server/default/lib, but you may need to remove the javax. packages from it since JBoss already has these and they can cause a classloader conflict.
JBoss on OS/390 and z/OS
Contributed by: Dave Pitts
This readme tells you how to run the JBoss application server on OS/390 and
z/OS. OS/390 and z/OS operate identically as z/OS is the newer replacement for
OS/390 and we'll use z/OS in the documentation. Also, JBoss is run under the
Unix Systems Services environment on your z/OS system.
The first thing to note is this environment is NOT an ASCII environment.
All shell scripts MUST be in EBCDIC. The Java environment can run in ASCII mode
against the ASCII encoded components in JBoss and is started using the javacmd
shell script that sets up the ASCII execution and pipes the console output
through an ASCII to EBCDIC filter for printing on the terminal.
I. To install JBoss on z/OS:
1. Insure that you have IBM's z/OS JDK 1.3.1 installed.
$ java -version java version "1.3.1" Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1) Classic VM (build 1.3.1, J2RE 1.3.1 IBM OS/390 Persistent Reusable VM build m131s-20021114a (JIT enabled: jitc))
2. Copy the JBoss installation zip file to your system, be sure to specify
$ ftp zossystem ftp> user youruser Password: yourpassword ftp> cd /tmp ftp> bin ftp> put jboss-3.0.4.zip ftp> quit
3. Copy the z/OS specific files to your z/OS system, be sure to specify binary.
$ ftp zossystem ftp> user youruser Password: yourpassword ftp> cd /tmp ftp> bin ftp> put os390.tar.Z ftp> quit
4. On your z/OS system change to the directory where you want JBoss installed:
$ cd /usr/local
5. Usr jar to extract the JBoss zip file :
$ jar xf /tmp/jboss-3.0.4.zip
6. Extract the z/OS specific files (see attachments at the bottom of the page):
$ cd jboss-3.0.4/bin $ pax -rzf /tmp/os390.tar.Z
7. Copy up the EBCDIC shell scripts to bin:
$ cp os390/*.sh ./ $ chmod +x *.sh
8. You are now ready to run JBoss.
II. Some support programs for z/OS under the .../bin/os390 directory:
1. a2e - An ASCII to EBCDIC pipe.
2. acnv - An ASCII to EBCDIC conversion script.
3. avi - An ASCII editor (Converts the file to EBCDIC and runs vi).
4. e2a - An EBCDIC to ASCII pipe.
III. Some release notes:
1. Clustering does not work as there are know problems with multicast on this
2. All the JBoss text files are in ASCII and you need to use the avi, acnv or
a2e to process them. This includes the log files.