import com.ibm.mq.*;
import com.ibm.mq.pcf.*;
try
{
PCFMessageAgent agent;
PCFMessage request;
PCFMessage [] responses;
// Connect a PCFAgent to the specified queue manager
agent = new PCFMessageAgent ("channel1");
System.out.println ("DEFINE CONNECTION PARMENT....");
//agent = new PCFMessageAgent ("xxx");
//远程连接的试验一直没有作通,遗憾
//agent = new PCFMessageAgent ("channel1"); //本地channel1 是队列管理器的名字
//agent = new PCFMessageAgent ("MMM");
// SYSTEM.DEF.SVRCONN
System.out.println ("Connected.");
agent.setCharacterSet(1381);
// Build the PCF request
/**创建队列管理器 无法创建 没有提供创建命令
*
*/
//创建通道
request = new PCFMessage (CMQCFC.MQCMD_CREATE_CHANNEL);
request.addParameter(CMQCFC.MQCACH_CHANNEL_NAME,"mama");
request.addParameter(CMQCFC.MQIACH_CHANNEL_TYPE,CMQXC.MQCHT_SVRCONN);
//request.addParameter(CMQCFC.MQIACH_CHANNEL_INSTANCE_TYPE,CMQXC.MQXPT_TCP);
//创建本地队列
/*
request = new PCFMessage (CMQCFC.MQCMD_CREATE_Q);
request.addParameter(CMQC.MQCA_Q_NAME,"tyty");
request.addParameter(CMQC.MQIA_Q_TYPE,CMQC.MQQT_LOCAL);
*/
//创建进程
/*
request = new PCFMessage (CMQCFC.MQCMD_CREATE_PROCESS);
request.addParameter(CMQC.MQCA_PROCESS_NAME,"testtd");
request.addParameter(CMQC.MQCA_PROCESS_DESC,"tttt");
*/
// Use the agent to send the request
System.out.print ("Sending PCF request... ");
//responses = agent.send (request);
//查询队列
/*
request = new PCFMessage (CMQCFC.MQCMD_INQUIRE_Q_NAMES);
request.addParameter (CMQC.MQCA_Q_NAME, "*");
request.addParameter (CMQC.MQIA_Q_TYPE, MQC.MQQT_LOCAL);
*/
responses = agent.send (request);
/*
String [] names = (String []) responses [0].getParameterValue (CMQCFC.MQCACF_Q_NAMES);
for (int i = 0; i < names.length; i++)
{
System.out.println ("Queue: " + names [i]);
}
*/
System.out.println ("Received reply.");
// Disconnect
System.out.print ("Disconnecting... ");
agent.disconnect ();
System.out.println ("Done.");
}
catch (ArrayIndexOutOfBoundsException abe)
{
System.out.println ("Usage: \n" +
"\tjava PCFMessageListQManagerAttrs queue-manager\n" +
"\tjava PCFMessageListQManagerAttrs host port channel");
}
catch (NumberFormatException nfe)
{
System.out.println ("Invalid port: " + args [1]);
System.out.println ("Usage: \n" +
"\tjava PCFMessageListQManagerAttrs queue-manager\n" +
"\tjava PCFMessageListQManagerAttrs host port channel");
}
catch (PCFException pcfe)
{
// System.err.println ("Error in response: ");
//pcfe.printStackTrace();
PCFMessage [] responses = (PCFMessage []) pcfe.exceptionSource;
for (int i = 0; i < responses.length; i++)
{
System.out.println (responses [i]);
}
}
catch (MQException mqe)
{
System.err.println (mqe);
mqe.printStackTrace();
}
catch (IOException ioe)
{
System.err.println (ioe);
}
catch(Exception e)
{
e.printStackTrace();
}