2015-07-30 2 views
0

Est-il possible dans le WSO2 ESB de traiter un fichier volumineux (avec chaque ligne représentant un seul enregistrement/message) et d'arrêter ou de suspendre le traitement dans le fichier, puis de le redémarrer là où il l'avait laissé? (en utilisant le médiateur Smooks et/ou le médiateur Iterate, donc tout autre mécanisme)WSO2 ESB traitant un gros fichier, l'arrêt et le redémarrage?

Il semble que si vous traitez un fichier volumineux (disons avec 10K entrées) vous ne pouvez pas arrêter ou suspendre le traitement (ou dire que l'ESB est amené vers le bas au milieu du traitement du fichier), puis redémarrez où il a été arrêté. Au redémarrage soit le fichier entier doit être retraité, soit le fichier est sauvegardé dans le dossier d'erreur et ignoré. Est-ce correct?

Merci pour toute aide à ce sujet.

Répondre

1

AFAIK cela ne peut pas être fait d'une manière directe. Cependant, vous pourriez probablement diviser le fichier volumineux en fichiers plus petits en utilisant Smooks mediator (message splitting) [1], et utiliser le traitement VFS dessus [2]. Chaque fichier de l'emplacement VFS traité sera supprimé ou déplacé. Ainsi, à chaque redémarrage du processus, les messages/fichiers déjà traités ne seront pas traités.

[1] - https://github.com/smooks/smooks/tree/v1.5.1/smooks-examples/file-router/

[2] - https://docs.wso2.com/pages/viewpage.action?pageId=33136056

+0

Merci. Nous utilisons également ce modèle, mais si le proxy utilisant le médiateur de Smooks [1] est arrêté au milieu de la division du fichier, il ne tentera pas de re-diviser le fichier et de créer un nouveau jeu de plus petit. fichiers, qui à son tour seraient re-traitées par le deuxième proxy [2]? – RudyH

+0

Oui, c'est quelque chose qui m'a échappé. Je ne peux malheureusement pas penser à autre chose ATM, mais vous auriez plus de chance en redirigeant cette question vers la liste de diffusion WSO2 dev - [email protected], http://wso2.com/mail/ – Chamila

+0

Merci. Je l'afficherai sur la liste de diffusion. – RudyH