|
WMQ V7 Java PCF classes - dump out the attributes of a queue in a XML-like format |
|
Written by John Kelly
|
|
I thought I'd advertise the Java PCF classes introduced in MQ V7.0. I've put together a very crude example of how you can use the them to dump out the attributes of a queue in a XML-like format. I've stripped it down to the bare minimum to keep it clear.
Now available as a download : WMQ2XML.
Hope it of some use...
====================== import java.util.Enumeration; import com.ibm.mq.MQQueueManager; import com.ibm.mq.constants.MQConstants; import com.ibm.mq.pcf.PCFMessage; import com.ibm.mq.pcf.PCFMessageAgent; import com.ibm.mq.pcf.PCFParameter;
public class Q2XML {
public static void main(String[] args) {
try { MQQueueManager qm = new MQQueueManager(""); PCFMessageAgent agent = new PCFMessageAgent(qm); PCFMessage cmd = new PCFMessage(MQConstants.MQCMD_INQUIRE_Q); cmd.addParameter(MQConstants.MQCA_Q_NAME, "SYSTEM.DEFAULT.LOCAL.QUEUE"); PCFMessage[] responses = agent.send(cmd); Enumeration e = responses[0].getParameters(); while (e.hasMoreElements()) { PCFParameter parm = (PCFParameter) e.nextElement(); String name = parm.getParameterName().trim(); String value = parm.getStringValue().trim(); System.out.println("<" + name + ">" + value + "</" + name + ">"); } } catch (Exception e) { System.err.println(e); } } }
Sample output follows..
<MQCA_Q_NAME>SYSTEM.DEFAULT.LOCAL.QUEUE</MQCA_Q_NAME> <MQIA_Q_TYPE>1</MQIA_Q_TYPE> <MQIA_ACCOUNTING_Q>-3</MQIA_ACCOUNTING_Q> <MQCA_ALTERATION_DATE>2008-10-21</MQCA_ALTERATION_DATE> <MQCA_ALTERATION_TIME>14.57.25</MQCA_ALTERATION_TIME> <MQCA_BACKOUT_REQ_Q_NAME></MQCA_BACKOUT_REQ_Q_NAME> <MQIA_BACKOUT_THRESHOLD>0</MQIA_BACKOUT_THRESHOLD> <MQCA_CLUSTER_NAMELIST></MQCA_CLUSTER_NAMELIST> <MQCA_CLUSTER_NAME></MQCA_CLUSTER_NAME> <MQIA_CLWL_Q_PRIORITY>0</MQIA_CLWL_Q_PRIORITY> <MQIA_CLWL_Q_RANK>0</MQIA_CLWL_Q_RANK> <MQIA_CLWL_USEQ>-3</MQIA_CLWL_USEQ> <MQCA_CREATION_DATE>2008-10-21</MQCA_CREATION_DATE> <MQCA_CREATION_TIME>14.57.25</MQCA_CREATION_TIME> <MQIA_CURRENT_Q_DEPTH>0</MQIA_CURRENT_Q_DEPTH> <MQIA_DEF_BIND>0</MQIA_DEF_BIND> <MQIA_DEF_PRIORITY>0</MQIA_DEF_PRIORITY> <MQIA_DEF_PERSISTENCE>0</MQIA_DEF_PERSISTENCE> <MQIA_DEF_PUT_RESPONSE_TYPE>1</MQIA_DEF_PUT_RESPONSE_TYPE> <MQIA_DEF_READ_AHEAD>0</MQIA_DEF_READ_AHEAD> <MQIA_DEF_INPUT_OPEN_OPTION>2</MQIA_DEF_INPUT_OPEN_OPTION> <MQIA_DEFINITION_TYPE>1</MQIA_DEFINITION_TYPE> <MQCA_Q_DESC></MQCA_Q_DESC> <MQIA_DIST_LISTS>0</MQIA_DIST_LISTS> <MQIA_INHIBIT_GET>0</MQIA_INHIBIT_GET> <MQIA_HARDEN_GET_BACKOUT>1</MQIA_HARDEN_GET_BACKOUT> <MQCA_INITIATION_Q_NAME></MQCA_INITIATION_Q_NAME> <MQIA_OPEN_INPUT_COUNT>0</MQIA_OPEN_INPUT_COUNT> <MQIA_MAX_Q_DEPTH>5000</MQIA_MAX_Q_DEPTH> <MQIA_MAX_MSG_LENGTH>4194304</MQIA_MAX_MSG_LENGTH> <MQIA_MONITORING_Q>-3</MQIA_MONITORING_Q> <MQIA_MSG_DELIVERY_SEQUENCE>0</MQIA_MSG_DELIVERY_SEQUENCE> <MQIA_TRIGGER_CONTROL>0</MQIA_TRIGGER_CONTROL> <MQIA_NPM_CLASS>0</MQIA_NPM_CLASS> <MQIA_OPEN_OUTPUT_COUNT>0</MQIA_OPEN_OUTPUT_COUNT> <MQCA_PROCESS_NAME></MQCA_PROCESS_NAME> <MQIA_INHIBIT_PUT>0</MQIA_INHIBIT_PUT> <MQIA_PROPERTY_CONTROL>0</MQIA_PROPERTY_CONTROL> <MQIA_Q_DEPTH_HIGH_LIMIT>80</MQIA_Q_DEPTH_HIGH_LIMIT> <MQIA_Q_DEPTH_LOW_LIMIT>20</MQIA_Q_DEPTH_LOW_LIMIT> <MQIA_Q_DEPTH_HIGH_EVENT>0</MQIA_Q_DEPTH_HIGH_EVENT> <MQIA_Q_DEPTH_LOW_EVENT>0</MQIA_Q_DEPTH_LOW_EVENT> <MQIA_Q_DEPTH_MAX_EVENT>1</MQIA_Q_DEPTH_MAX_EVENT> <MQIA_Q_SERVICE_INTERVAL_EVENT>0</MQIA_Q_SERVICE_INTERVAL_EVENT> <MQIA_Q_SERVICE_INTERVAL>999999999</MQIA_Q_SERVICE_INTERVAL> <MQIA_RETENTION_INTERVAL>999999999</MQIA_RETENTION_INTERVAL> <MQIA_SCOPE>1</MQIA_SCOPE> <MQIA_SHAREABILITY>1</MQIA_SHAREABILITY> <MQIA_STATISTICS_Q>-3</MQIA_STATISTICS_Q> <MQCA_TRIGGER_DATA></MQCA_TRIGGER_DATA> <MQIA_TRIGGER_DEPTH>1</MQIA_TRIGGER_DEPTH> <MQIA_TRIGGER_MSG_PRIORITY>0</MQIA_TRIGGER_MSG_PRIORITY> <MQIA_TRIGGER_TYPE>1</MQIA_TRIGGER_TYPE> <MQIA_USAGE>0</MQIA_USAGE> .........
|