Ma source d'événements tente d'envoyer un événement mais l'émetteur
ne le soumet pas au service Evénements et envoie le message CEIEM0015E au fichier
journal ("The emitter does not support the specified synchronization
mode").
Cause
Ce problème indique que les paramètres transmis par
la source lors de l'envoi de l'événement spécifient un mode de synchronisation non
pris en charge par l'émetteur. Ce phénomène peut être dû à une ou plusieurs des conditions
suivantes :
- La source d'événements spécifie un mode de synchronisation non valide. Cela est signalé par l'élément IllegalArgumentException avec le message "Synchronization
mode mode is not valid".
- La source d'événements spécifie un mode de synchronisation pour lequel l'émetteur
n'est pas configuré. Cela est signalé par l'élément SynchronizationModeNotSupportedException
avec le message "The emitter does not support the specified synchronization
mode: mode".
Solution
Si le message d'exception indique que votre source
d'événements spécifie un mode de synchronisation non valide (IllegalArgumentException),
vérifiez l'appel de méthode qui tente d'envoyer l'événement. Assurez-vous que les paramètres
de méthode spécifient l'un des modes de synchronisation valides :
- SynchronizationMode.ASYNCHRONOUS
- SynchronizationMode.SYNCHRONOUS
- SynchronizationMode.DEFAULT
Ces constantes sont définies par l'interface
com.ibm.events.emitter.SynchronizationMode.
Si le message d'exception indique que le mode de
synchronisation spécifié n'est pas pris en charge par l'émetteur (SynchronizationModeNotSupportedException),
vérifiez la configuration de la fabrique d'émetteurs :
- Dans la console d'administration, cliquez sur Intégration de services > Common
Event Infrastructure > Fabrique d'émetteurs d'événement > fabrique_émetteurs.
Veillez à consulter la fabrique d'émetteurs utilisée par l'application de source d'événements.
- Examinez les paramètres de la fabrique d'émetteurs pour connaître les modes de synchronisation
pris en charge :
- Si la propriété relative à la prise en charge de la transmission de services d'événements est sélectionnée,
le mode synchrone est pris en charge.
- Si la propriété relative à la prise en charge de la transmission JMS est sélectionnée, le mode asynchrone
est pris en charge.
Interrogation des modes de transaction : Une source d'événements
peut interroger à l'aide d'un programme les modes de transaction pour un émetteur spécifique par le biais
de la méthode isSynchronizationModeSupported(). Reportez-vous à la documentation
Javadoc API pour plus d'informations.
- Si l'émetteur ne prend pas en charge le mode de synchronisation que vous tentez
d'utiliser, vous devez soit changer la configuration de la fabrique d'émetteurs, soit
modifier votre source d'événements pour qu'elle utilise un mode de synchronisation pris en charge.