Bonnes pratiques
Utiliser les entités “Templates” afin de positionner les propriétés génériques à certains types d’interfaces. Ces dernières peuvent ainsi en hériter. Si certains serveurs ont des users/password en commun, la même chose peut être faite.
Configurer un rejeu JMS
Pour une grande majorité des protocoles, il faudra systématiquement configurer la propriété ConnectionFactoryClass
afin de lui indiquer quelle classe utiliser pour définir les propriétés de la connexion au broker.
Avec un broker AMQP, on peut utiliser “org.apache.qpid.jms.JmsConnectionFactory” (doc). Il permettra ainsi de configurer plusieurs propriétés
Le
remoteURI
: définit l’endpoint à utiliser.amqp:<hostname>:<port>
pour spécifier un endpoint.failover(amqp:<hostname>:<port>,...)
pour essayer plusieurs endpoints les uns après les autres.Penser alors à définir
failover.maxReconnectAttempts
sans quoi Camel essayera en boucle de se connecter à la cible.
username
etpassword
pour une authentification basique.maxConcurrentConsumers
permet de définir combien de consommateurs tourneront en parallèle.Les propriétés pour le JMS avec Camel sont listées de façon exhaustive dans la documentation.
Configurer un rejeu sur l’Azure Service Bus
Ici, pas besoin de ConnectionFactory
. Il faudra simplement préciser le camel.component.azure-servicebus.connectionString
. Il prend en général la forme Endpoint=sb://<hostname>/;SharedAccessKeyName=<keyname>;SharedAccessKey=<secret_key_base64>
.