J'insère des messages dans une file d'attente à l'aide de l'outil WebSphere MQ à l'aide du code Java. En entrant dans le texte, il va stocker le message dans la file d'attente. Je veux valider tout en insérant des messages siValidation des messages de la file d'attente
file d'attente 1.Le existe ou non
2.Is il une erreur de canal
non-concordance Numéro 3.Port
adresse 4.host erreur
Je veux capturer ces erreurs et les stocker dans un fichier texte avec horodatage et service dans le journal des erreurs.
Aidez-moi comment le faire.
Menu insertion de messages dans la file d'attente
Menu based insertion of messages in queue
Message inserted in Websphere MQ
public class {QueueMessage Scanner statique publique sc = new Scanner (System.in);
private MQQueueManager _queueManager = null;
public int port = 1413;
public String hostname = "192.168.100.120";
public String channel = "QM_HOME.Q_LOCAL";
public String qManager = "QM_HOME";
public String inputQName = "Q_LOCAL_END";
public String outputQName = "Q_LOCAL_END";
public QueueMessage()
{
super();
}
public void init(String[] args) throws IllegalArgumentException
{
// Set up MQ environment
MQEnvironment.hostname = hostname;
System.out.println("HOST :"+hostname);
MQEnvironment.channel = channel;
MQEnvironment.port = port;
System.out.println("init");
}
public void selectQMgr() throws MQException
{
_queueManager = new MQQueueManager(qManager);
}
public void write() throws MQException {
int openOptions = MQC.MQOO_OUTPUT + MQC.MQOO_FAIL_IF_QUIESCING;
try {
MQQueue queue = _queueManager.accessQueue(outputQName, openOptions,
null, // default q manager
null, // no dynamic q name
null); // no alternate user id
DataInputStream input = new DataInputStream(System.in);
System.out
.println("MQWrite v1.0 connected and ready for input, terminate with ^Z\n\n");
// Define a simple MQ message, and write some text in UTF format..
MQMessage sendmsg = new MQMessage();
sendmsg.format = MQC.MQFMT_STRING;
sendmsg.feedback = MQC.MQFB_NONE;
sendmsg.messageType = MQC.MQMT_DATAGRAM;
sendmsg.replyToQueueName = "QM_LOCAL_END";
sendmsg.replyToQueueManagerName = qManager;
MQPutMessageOptions pmo = new MQPutMessageOptions(); // accept the
String line = null;
System.out.print("Enter your Message: ");
line = sc.nextLine();
sendmsg.clearMessage();
sendmsg.messageId = MQC.MQMI_NONE;
sendmsg.correlationId = MQC.MQCI_NONE;
sendmsg.writeString(line);
// put the message on the queue
queue.put(sendmsg, pmo);
System.out.println("Message inserted: " + line);
queue.close();
_queueManager.disconnect();
// same
// as MQPMO_DEFAULT constant
}
catch (com.ibm.mq.MQException mqex) {
System.out.println(mqex);
} catch (java.io.IOException ioex) {
System.out.println("An MQ IO error occurred : " + ioex);
}
}
private void While(boolean b) {
// TODO Auto-generated method stub
}
}
On ne sait pas ce qui est demandé. L'outil affiché semble être MQ Explorer et vous ne pourrez pas accéder à l'écran de saisie de message si la file d'attente n'existe pas. Vous ne seriez pas en mesure de voir la liste des files d'attente si MQ Explorer n'était pas déjà connecté, auquel cas l'hôte, le port et le canal doivent être corrects. –
Vous dites que vous utilisez du code Java - pourriez-vous nous montrer votre code Java? Je ne suis pas sûr de ce que les captures d'écran MQ Explorer ont à voir avec votre code Java? –