Bonjour,

J'ai développé une application pour écrire et lire les messages se trouvant sur le serveur.
Lors de la lecture, les messages sont effacés de la file d'attente.
L'explorateur WebSphere MQ permet de lire les messages d'une file sans les effacer.
voici mon code pour la lecture :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
	try
	{
		_queueManager = new MQQueueManager(qManager);
		int openOptions = MQC.MQOO_INQUIRE + MQC.MQOO_FAIL_IF_QUIESCING + MQC.MQOO_INPUT_SHARED;
 
		MQQueue queue = _queueManager.accessQueue(outputQName, openOptions,
				null, // default q manager
				null, // no dynamic q name
				null); // no alternate user id
 
		if (queue.getCurrentDepth() == 0)
		{
			throw new Exception("Queue is null");
		}
 
		MQGetMessageOptions getOptions = new MQGetMessageOptions();
		getOptions.options = MQC.MQGMO_NO_WAIT + MQC.MQGMO_FAIL_IF_QUIESCING + MQC.MQGMO_CONVERT;
		while (queue.getCurrentDepth()>0)
		{
			MQMessage message = new MQMessage();
			try
			{
				queue.get(message, getOptions);
				byte[] b = new byte[message.getMessageLength()];
 
				message.readFully(b);
				msgList.put(new String(message.messageId),new String(b));
 
				//message.clearMessage();
			} catch (Exception e) {
				if(logjava)System.out.println(e.getMessage());
			} 
		}
		queue.close();
		_queueManager.disconnect();
	} catch (Exception e)
	{
	}
J'ai essayé de changer les paramètres de openOptions et getOptions.options mais je n'ai pas trouvé la combinaison gagnante si c'est là que se situe le problème.

Merci de me répondre si quelqu'un a la solution ou si ce n'est pas réalisable.
Vincent