zOS

连接 > 容器 > zOS

在 z/OS 上运行 ActiveMQ Classic

在 z/OS 上运行 ActiveMQ Classic 代理相对简单。

有几个步骤

1. 将 ActiveMQ Classic 复制到 z/OS
2. 修改配置
3. 使用 JZOS 运行
4. 测试

将 ActiveMQ Classic 复制到 z/OS

  • 确保 z/OS 上有 1.5 JVM 以及 JZOS 组件。
  • 从 Apache 下载 ActiveMQ Classic 的 .zip 版本。
  • 将代理通过 FTP 方式传输到 USS 中的合适目录。
  • 使用 rlogin 或您的站点配置的任何方式登录到 USS。
  • 使用命令解压缩 zip 文件:jar -xvf apache-activemq-5.0.0.zip
  • 这将以 ASCII 方式解压缩整个包,因此除了使用适合 ASCII 的特殊编辑器外,您不能期望任何文件在 z/OS 上可见。
  • 可以将文件解压缩到的目录重命名为更短的名称,或创建软链接以方便访问。

修改配置

目前,Jetty 插件在 z/OS 上不起作用,因此需要在 activemq.xml 文件中将其禁用。

  • 将 ActiveMQ Classic 安装目录中的 conf 目录下的 activemq.xml 文件通过 FTP 方式传输到您的 PC,传输模式为二进制。
  • 使用 XML 编辑器或像 Wordpad 这样的文本编辑器编辑 XML 文件。
  • 在 XML 中搜索“jetty”。
  • 更改注释块,使 jetty 完全被注释掉。
  • 保存文件。
  • 将文件通过 FTP 方式传输回 z/OS 上的原位置,传输模式为二进制,以便将其保留为 ASCII 文件。

使用 JZOS 运行

我已将 USS 中的 lib/optional 目录重命名,并缩短了某些 lib/optional jar 文件的名称,以便 JCL 更易于处理。运行 ActiveMQ Classic 代理的 JCL 为

`ACTIVEMQ.JCL**

//ACTIVEMQ JOB (), // CLASS=A,
// MSGCLASS=X,
// MSGLEVEL=(1,1),
// NOTIFY=&SYSUID,
// REGION=0M,
// TIME=1440
//PROCLIB JCLLIB ORDER=//\* //\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* //\* //\* 在 JZOS 下运行 Tomcat 的批处理作业 //\* //\* 为您的安装调整 proc 和作业: //\* 1.) 按照您安装的要求修改作业卡 //\* 2.) 修改 PROCLIB 卡,使其指向 JZOS proclib //\* 3.) 将 VERSION='14' 设置为 Java 1.4,或将 VERSION='50' 设置为 Java 5 //\* 4.) 将 JAVA_HOME 设置为指向 Java SDK 的位置 //\* 5.) 将 CATALINA_HOME 设置为指向共享 Tomcat 安装目录 //\* 6.) (可选) 将 CATALINA_BASE 设置为指向特定于实例的 //\* Tomcat 基础目录 //\* //\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* //\* //JAVA EXEC PROC=JVMPRC50, // LOGLVL='+D', // JAVACLS='org.apache.activemq.console.Main', // ARGS='start' //STDENV DD * \# 这是一个 shell 脚本,用于配置 \# Java JVM 的任何环境变量。 \# 变量必须导出才能被启动器看到。 . /etc/profile export JAVA\_HOME=/space/javaV5\_31/J5.0 AMQ_HOME=/home/user/activemq/amq ACTIVEMQ\_BASE="$AMQ_HOME"

export PATH=/bin:”${JAVA_HOME}”/bin

LIBPATH=/lib:/usr/lib:”${JAVA_HOME}”/bin LIBPATH=”$LIBPATH”:”${JAVA_HOME}”/bin/classic export LIBPATH=”$LIBPATH”

CLASSPATH=”${JAVA_HOME}/lib/tools.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/conf” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/activemq-all-5.0.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/bin/run.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/bin/wrapper.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/activation-1.1.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/activemq-console-5.0.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/activemq-core-5.0.0-tests.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/activemq-core-5.0.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/activemq-jaas-5.0.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/activemq-web-5.0.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/camel-core-1.2.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/camel-jms-1.2.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/camel-spring-1.2.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/commons-logging-1.1.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/geronimo-j2ee-management_1.0_spec-1.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/geronimo-jms_1.1_spec-1.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/geronimo-jta_1.0.1B_spec-1.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/jaxb-api-2.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/jaxb-impl-2.0.3.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/stax-1.2.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/stax-api-1.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/spring-2.0.6.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/xbean.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/jetty-6.1.4.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/jetty-util-6.1.4.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/activeio-core-3.1.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/geronimo-j2ee-connector.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/activeio-core-tests.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/geronimo-j2ee-jacc.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/activemq-optional-5.0.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/activemq-xmpp-5.0.0.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/jmdns-1.0-RC2.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/commons-beanutils-1.6.1.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/log4j-1.2.14.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/commons-collections-3.1.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/servlet-api-2.5-6.1.4.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/commons-dbcp-1.2.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/commons-httpclient-2.0.1.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/commons-pool-1.2.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/xmlpull-1.1.3.4d_b4_min.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/derby-10.1.3.1.jar” CLASSPATH=”$CLASSPATH”:”$AMQ_HOME/lib/opt/xstream-1.1.2.jar” export CLASSPATH=”$CLASSPATH”

# 设置 JZOS 特定选项 # 使用此变量指定 DD STDOUT 和 STDERR 的编码 #export JZOS_OUTPUT_ENCODING=IBM-1047 # 使用此变量阻止 JZOS 处理 MVS 运算符命令 #export JZOS_ENABLE_MVS_COMMANDS=false # 使用此变量向主程序提供其他参数 #export JZOS_MAIN_ARGS=””

# 配置 JVM 选项 # 请注意,ActiveMQ Classic 需要默认的 ASCII 文件编码 IJO=”-Xms64m -Xmx512m” IJO=”$IJO -Dfile.encoding=ISO8859-1” IJO=”$IJO -Dcom.sun.management.jmxremote” IJO=”$IJO -Dorg.apache.activemq.UseDedicatedTaskRunner=true” IJO=”$IJO -Dderby.system.home=${ACTIVEMQ_BASE}/data” IJO=”$IJO -Dderby.storage.fileSyncTransactionLog=true” IJO=”$IJO -Djavax.net.ssl.keyStorePassword=password” IJO=”$IJO -Djavax.net.ssl.trustStorePassword=password” IJO=”$IJO -Djavax.net.ssl.keyStore=${ACTIVEMQ_BASE}/conf/broker.ks” IJO=”$IJO -Djavax.net.ssl.trustStore=${ACTIVEMQ_BASE}/conf/broker.ts” IJO=”$IJO -Dactivemq.classpath=${CLASSPATH}” IJO=”$IJO -Dactivemq.base=${ACTIVEMQ_BASE}” IJO=”$IJO -Dactivemq.home=${AMQ_HOME}” IJO=”$IJO -Djava.io.tmpdir=${ACTIVEMQ_BASE}/temp”

# 配置 SDK5.0 以使用共享类(在组级别) # 如果您没有运行 SDK 5,则必须将其注释掉 groupname=`id -gn` IJO=”$IJO -Xshareclasses:name=$groupname,groupAccess” export IBM_JAVA_OPTIONS=”$IJO “

export JAVA_DUMP_HEAP=false export JAVA_PROPAGATE=NO export IBM_JAVA_ZOS_TDUMP=NO //

测试

代理在 z/OS 上启动后,修改其中一个示例应用程序,使其包含 z/OS 系统的主机名,并运行它,以确认代理正常运行。

您还可以像往常一样使用 jmx 收集有关代理的信息。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛标志和 Apache ActiveMQ 项目标志是 Apache 软件基金会的商标。版权所有 © 2024,Apache 软件基金会。根据 Apache 许可证 2.0 授权。