IBM WebSphere MQ PCFAgent og java subscriber
HejsaJeg har siddet og rodet lidt med at få et javaprogram til at registrere sig på en topic hos MQ ved at bruge MQs PCFAgent. Jeg kan få det til at virke med JMS, men har brug for mere kontrol end det.
Følgende stump kode sender en control message til MQ, der returnerer kø-dybden for alle beskeder:
request = new PCFMessage (CMQCFC.MQCMD_INQUIRE_Q);
request.addParameter (CMQC.MQCA_Q_NAME, "*");
request.addParameter (CMQC.MQIA_Q_TYPE, CMQC.MQQT_LOCAL);
request.addParameter (CMQCFC.MQIACF_Q_ATTRS,
new int [] { CMQC.MQCA_Q_NAME, CMQC.MQIA_CURRENT_Q_DEPTH });
Dette virker fint. Følgende er mit forslag til en tilsvarende stump, der registrerer en subscriber, der lytter på topic \pubsub\ma0cTopic og beder MQ lægge beskederne på køen TESTSUB:
request = new PCFMessage(CMQCFC.MQCMD_REGISTER_SUBSCRIBER);
request.addParameter(CMQCFC.MQCACF_TOPIC, "\\pubsub\\ma0cTopic");
request.addParameter (CMQCFC.MQIACF_REGISTRATION_OPTIONS, regOptions);
request.addParameter (CMQCFC.MQCACF_STREAM_NAME, "SYSTEM.BROKER.DEFAULT.STREAM");
request.addParameter(CMQC.MQCA_Q_NAME, "TESTSUB");
request.addParameter (CMQC.MQIA_Q_TYPE, CMQC.MQQT_LOCAL);
Her får jeg en fejl 3007 fra MQ.
Er der nogen her, der har en ide til, hvad der går galt her?
På forhånd tak
