Comment puis-je envoyer un message à WebSphere MQ par JMS?
Il est intégré dans la limite de 2 MO pour le IBM WebSphere MQ interface de JMS.
http://www-01.ibm.com/support/docview.wss?uid=swg21221260
Est-il un moyen de contourner cette limitation?
OriginalL'auteur erezul | 2011-04-29
Vous devez vous connecter pour publier un commentaire.
La limitation appliquée à WMQ versions distribuées avec a ÉTÉ de retour à la V5.1.1 il y a plusieurs années. Si tel est le problème, la mise à niveau vers la version en cours de WMQ va le résoudre. La version actuelle de WMQ est V7.0.1. V6.0.2 est toujours d'actualité mais qui sera hors service en septembre 2012. V6 & V7 pouvez envoyer et recevoir des messages jusqu'à 100 mo mais WMQ lui-même par défaut est de 4 mo de sortie de la boîte. Il est nécessaire, ajuster les paramètres de la QMgr, les files d'attente et les canaux si les messages de plus de 4 MO sont nécessaires, mais JMS n'est pas une limitation à des versions modernes.
La WMQ Java/JMS manuels ne mentionnent pas expressément une taille maximale car il est le même que le natif WMQ longueur maximale de 100 MO. Cependant, la WMQ V6 Rapport sur le Rendement fournit des points de référence pour les messages JMS jusqu'à 64 mo.
Ce que vous empêche de mettre un 3 mo de message n'est pas une limitation de WMQ est JMS mise en œuvre en ce qui concerne la taille du message. Si vous avez coché MAXMSGL sur tous les canaux et les files d'attente et la QMgr puis c'est quelque chose de moins évident, mais il est de configuration.
Pourquoi croyez-vous qu'il y a une limite de 2 mo? Il ne fait pas partie de la spécification JMS, ni ne l'WMQ classes d'imposer cette limite. Avez-vous des erreurs en essayant de mettre des messages volumineux? Si oui, alors il est probablement MAXMSGL de réglage dans la file d'attente, le canal et/ou QMgr imposant la limitation.
voir le lien dans le message d'origine:
Voici un extrait du lien:
Les Messages de 2 MO est la taille maximale prise en charge. Alors qu'il est possible de changer la taille de message maximale sur les canaux, il n'est pas pris en charge. Si les utilisateurs souhaitent envoyer des messages de plus de 2 MO, il faudra utiliser des WebSphere MQ.
OriginalL'auteur T.Rob
Cela peut sembler ardue, mais c'est une solution:
par exemple
Sur le côté du récepteur, vous mettez en œuvre un sélecteur pour obtenir tous les messages dans le groupe dès que vous recevez le premier message. Récupérer tous les messages dans le groupe (j'espère que vous obtenez tous), de les trier correctement, re-créer le grand tableau d'octets, unmarshall, et vous avez terminé.
Trivial vraiment.....
Voici un le meilleur exemple.
C'est excellent code de golf. En outre, cette approche est explicitement pris en charge par WebSphere MQ: publib.boulder.ibm.com/infocenter/wmqfte/v7r0/index.jsp?topic=/.... N'Modèle T de Ford ont chaudières ?
Droit - MQFTE fractionne les fichiers, envoie et le remonter msgs. Mais c'est la résolution d'un problème différent. Prémisse de l'OP était que IBM JMS ne prend pas en charge les msgs > 2 MO qui non seulement n'est pas vrai aujourd'hui, mais à l'époque référencé dans la note technique a été écrit vrai seulement pour la WMQ livré avec A! Je suis tout à fait pour un bon codage défi tant qu'il permet de résoudre un problème réel ou tout le monde comprend que c'est un exercice académique. Dans ce cas, l'OP croit vraiment à la limite est réel. Ne devrions-nous pas aider à résoudre le fichier config/tuning problème plutôt que de lui permettre de continuer à travailler sous une fausse compréhension du produit?
Sur la recherche, je vois le Modèle T de ne pas avoir chaudières bien que beaucoup de voitures de l'époque ne. Mais c'est encore mieux si nous pouvons résoudre inexistante de problème, inexistante de la solution qui semble l'approche parfaite.
Excellente analogie
OriginalL'auteur Nicholas