在过去,我使用BPXBATCH从JCL执行java类文件。我想转向使用定制的JVM启动程序,正如IBM在以下链接中所建议的那样。 http://www.ibm.com/developerworks/systems/library/es-java-batchz.html从批处理执行java JCL
我写了一个hello world java程序,并在大型机上编译并将其打包成jar。
下面是一个使用BPXBATCH的JCL成员示例。
//LMGHWRLD JOB (MY,ACCOUNTING,INFO),'HELLO WORLD',
// CLASS=A,MSGCLASS=H,REGION=512M,NOTIFY=&SYSUID
//********************************************************************
//* Run Java under a UNIX System Service shell
//********************************************************************
//STEP2 EXEC PGM=BPXBATCH,
// PARM='SH java com.foo.bar.HelloWorld'
//STDIN DD DUMMY
//STDOUT DD PATH='/tmp/&SYSUID..bpxbatch.out',
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
// PATHMODE=SIRWXU
//STDERR DD PATH='/tmp/&SYSUID..bpxbatch.err',
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
// PATHMODE=SIRWXU
//STDENV DD *
CLASSPATH=/u/myuid
//*********************************************************************
//* Copy HFS output files to SYSOUT, since BPXBATCH can only write
//* STDOUT and STDERR to HFS files.
//*********************************************************************
//STEP3 EXEC PGM=IKJEFT01,DYNAMNBR=300,COND=EVEN
//SYSTSPRT DD SYSOUT=*
//HFSOUT DD PATH='/tmp/&SYSUID..bpxbatch.out'
//HFSERR DD PATH='/tmp/&SYSUID..bpxbatch.err'
//STDOUTL DD SYSOUT=*,DCB=(RECFM=VB,LRECL=133,BLKSIZE=137)
//STDERRL DD SYSOUT=*,DCB=(RECFM=VB,LRECL=133,BLKSIZE=137)
//SYSPRINT DD SYSOUT=*
//SYSTSIN DD *
OCOPY INDD(HFSOUT) OUTDD(STDOUTL)
OCOPY INDD(HFSERR) OUTDD(STDERRL)
//
我想用所有使用自定义JVM启动功能带来的上述文章中详细的。
上面的例子执行类文件,但文章似乎建议JAR文件是自定义JVM启动程序所必需的。以下是我创建的尝试和使用自定义JVM启动器的工作。
JAR文件是OMVS上的〜/ HelloWorld/HelloWorld.jar。
//LMGHWRLD JOB (MY,ACCOUNTING,INFO),'HELLO WORLD',
// CLASS=A,MSGCLASS=H,REGION=0M,NOTIFY=&SYSUID
//STEP1 EXEC PGM=JVMLDM60,
// PARM='com.foo.bar.HelloWorld'
//STEPLIB DD DSN=<MY.LIBRARY.PATH>,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//STDOUT DD SYSOUT=*
//STDERR DD SYSOUT=*
//STDENV DD *
. /etc/profile
. ~/.profile
export CLASSPATH=~/HelloWorld
for i in ~/HelloWorld/*.jar; do
export CLASSPATH=$i:$CLASSPATH
done
//
目前这个作业的输出失败,102的特定输出CC低于:
JVMJZBL1001N JZOS batch Launcher Version: 2.3.0 2013-05-02
JVMJZBL1002N Copyright (C) IBM Corp. 2005. All rights reserved.
JVMJZBL1038E Child shell process exited with exit code: 1
JVMJZBL1042E JZOS batch launcher failed, return code=102
我区规模为20万,所以我不相信区域大小的问题。有什么我做错了吗?
200,000是什么?你为什么这么想?在你的工作卡上你有0M。你尝试过200M吗? – 2015-03-30 21:12:01
您可能想要查看Dovetailed Technologies运行的支持论坛。 (http://community.dovetail.com/forum/viewforum.php?f=1) – cschneid 2015-03-31 00:38:04
你好Bill,200,000是我的TSO会话的区域大小。我以前有一个问题,我无法编译.java文件,所以我想我会在我的文章中提到它。我确实尝试用256M运行,没有运气。我仍在努力解决它。 – Burke9077 2015-03-31 10:59:58