Bonjour quelqu'un a déjà utilisé Chameau avec IBM MQ. Nous sommes à la recherche peut-être à l'aide de deux produits ensemble, mais n'ai pas d'exemple de ces deux produits à travailler ensemble.
Vous avez besoin d'utiliser JMS pour relier les deux ensemble.
OriginalL'auteur Nitin | 2016-01-29
Le meilleur que j'ai pu obtenir est décrite ci-dessous, illustré comme un Printemps XML contexte de l'application qui lui-même héberge le CHAMEAU contexte et les itinéraires. Cet exemple fonctionne avec le natif IBM MQ JCA des ressources conforme à la carte v7.5, à dos de CHAMEAU 2.16, Spring core 4.2. J'ai déployé dans Glassfish, Weblogic, et JBoss EAP7 serveurs.
La complexité est liée à la gestion du flux de la MQ des rapports dont la philosophie est en conflit avec celle d'une plaine JMS de réponse à un message. Pour une explication détaillée, veuillez vous référer à La mise en œuvre de natif de websphere MQ avec la Morue Camel JMS composant
Cet exemple basé sur le CHAMEAU XML DSL est autonome et facile à tester.
Nous commençons avec le Printemps, & CAMEL déclarations:
Le CHAMEAU contexte suit avec 2 itinéraires de: MQ de JMS et JMS de la MQ, ici enchaînés pour former un pont pour faciliter les tests.
Bizarre: sur Weblogic, la seule façon d'obtenir (par exemple) 3 auditeurs est de faire respecter les 3 connexions (avec 3 Chameau:à partir de déclarations dans la séquence) avec max 1 session, sinon un MQ erreur s'ensuit: MQJCA1018: une Seule session par connexion est autorisée. Sur JBoss, vous pouvez régler simplement concurrentConsumers=...
Le désactiver disableReplyTo option ci-dessus garantit que les CHAMEAUX ne produira pas une réponse avant que nous puissions tester la MQ type de message à 1=Demande (réponse) ou 8=datagramme (à sens unique!). Le test et la réponse de la construction n'est pas illustré ici.
Puis d'appliquer les EIP pour InOnly sur la prochaine publication de la plaine JMS pour être cohérent avec l'Inbound MQ mode.
Cela se termine le MQ-à-jms route; vient ensuite la jms-à-MQ route toujours dans le même CHAMEAU contexte:
Maintenant vient la demande drapeau de la MQ CoD rapport doit être retourné par la destination distante. Nous appliquons également la MQ message de Datagramme type (valeur 8).
Répondre à la file d'attente peut être spécifié via le ReplyTo uri option, l'autre comme un en-tête comme ci-dessous.
Ensuite, nous utilisons CamelJmsDestinationName en-tête pour faire respecter la suppression de la JMS MQ-tête de message MQRFH2 (à l'aide de targetClient MQ URL valeur de l'option 1). En d'autres termes, nous voulons envoyer un plain vanilla MQ message binaire (c'est à dire Uniquement le MQMD descripteur de message, suivie par la charge utile).
Plus MQMD des champs peut être contrôlé par le biais réservés JMS propriétés comme illustré ci-dessous. Voir les restrictions dans IBM doc.
La file d'attente de destination dans l'URI est remplacée par la CamelJmsDestinationName ci-dessus, d'où le nom de file d'attente dans l'URI devient un espace réservé.
L'URI option preserveMessageQos est celui qui - comme l'a observé le - permet d'envoyer un message avec le ReplyTo de données (pour obtenir la MQ CoD Rapport), mais ils les empêchent de CHAMEAU pour instancier un message de Réponse auditeur par l'application de la InOnly MEP.
Nous n'avons pas fini, nous avons encore de déclarer notre file d'attente des usines pour les natifs fournisseur JMS et Websphere MQ (via le natif d'IBM WMQ JCA Adaptateur de Ressources), à adapter à votre contexte.
Nous utilisons ici JNDI des recherches sur des objets administratifs.
Une alternative à l'extraction de l'usine (et JCA adaptateurs) de JNDI est de déclarer le client JMS, comme le Printemps des haricots. Dans Weblogic et Glassfish, vous serez mieux inspiré en déployant le natif d'IBM JCA adaptateur de ressources et la création de ressources JNDI alors référencé dans le Ressort du Contexte que ci-dessus, dans JBoss direct MQ client bean déclaration convient le mieux en tant que ci-dessous)
Commentaires et améliorations bienvenues.
OriginalL'auteur berhauz
J'ai une grande utilisation de IBM MQ avec des chameaux. Il n'y a pas de problème en utilisant les deux ensemble. Je vais coller un exemple de configuration à partir de l'un de mes printemps contexte fichiers de tirer parti d'un camel Jms point de Terminaison, Une connexion à ressort usine, et un IBM MQ définition.
Chameau Route
Printemps Contexte
queueManager
etchannel
propriétés. La spécification de laport
propriété serait également en option si le gestionnaire de file d'attente a un auditeur actif sur le port par défaut1414
, n'est-ce pas? Je pense que comme un intermédiaire entre l'jms
application etibm mq
, l'auditeur détermine la cible gestionnaire de file d'attente. En outre, essentiellement, il n'est pas nécessaire d'avoir toutchannel
dans la cible gestionnaire de file d'attente!OriginalL'auteur Matthew Fontana
Un rapide google a révélé la suite,
http://lowry-techie.blogspot.de/2010/11/camel-integration-with-websphere-mq.html
HTH
OriginalL'auteur nabsha