【IT168 技术文章】
对于MQ的Java组件,例如MQ资源管理器(Eclipse环境)和MQ Transport for SOAP的java实施,诊断信息是使用标准的MQ诊断设施或java诊断类来输出的。此上下文的诊断信息由跟踪、首次故障数据捕获(FFDC)和错误消息组成。
可以选择使用MQ设施还是java类来生成此信息。如果本地有MQ诊断设施可用。就尽量使用这些设施。
在以下情况下需要使用java诊断:
1、在有队列管理器的系统上,如果队列管理器与正在运行的软件是分开管理的。
2、要减少MQ跟踪的性能开销
MQ的java进程使用了2个系统属性:
1、系统属性com.ibm.mq.commonservices指定一个标准的java属性文件,该文件中有几行代码可用于配置诊断输出。
2、系统属性com.ibm.mq.commonservices.diagid将跟踪和FFDC文件与创建他们的进程关联。
com.ibm.mq.commonservices:
Diagnostics.MQ=enabled|disabled
将要使用MQ诊断吗?如果启用了这个属性,诊断输出将与其他MQ组件的诊断输出一样;而跟踪 输出则由strmqtrc和endmqtrc命令中参数来控制,默认值是enabled。
Diagnostics.Java=options
使用java跟踪来跟踪哪个组件。选项是explorer,soap和wmqjavaclasses中的一个或多个, 由逗号分隔。其中explorer表示诊断来自MQ资源管理器,soap表示诊断来自MQTransport for SOAP,而wmqjavaclasses表示诊断来自底层MQ java类。缺省情况不跟踪任何组件。
Diagnostics.Java.Trace.Destination.File=enabled|disabled
是否将java跟踪写入文件。如果未设置diagnostics,java将忽略此属性。缺省是disabled。
Diagnostics.Java.Trace.Detail=high|medium|low
java跟踪的详细级别。high和medium与MQ跟踪中使用的一样,但low是java跟踪独有的。如 果没有设置diagnostics.java将忽略此属性。缺省值是medium。
Diagnostics.Java.Trace.Destination.Console=enabled|disabled
是否将java跟踪写入系统控制台。如果未设置diagnostics,java将忽略此属性。缺省是 disabled
Diagnostics.Java.Trace.Destination.Pathname=dirname
将写入java跟踪的目录。如果没有设置diagnostic.java或 diagnostics.java.trace.desctination.file=disabled,将忽略此属性。在unix上缺省是/var/mqm/trace否则将是java控制台system.err。在windows缺省是系统控制台。
Diagnostics.Java.FFDC.Destination.Pathname=dirname
将写入java FFDC输出的目录。缺省是当前工作目录
Diagnostics.Java.Errors.Destination.Filename=filename
将写入java错误消息的标准文件名。缺省值是当前工作目录中的AMQJAVA.LOG