Apache Camel: Prévention de l’espace lors de l’écriture de fichiers

Je crée une queue de fichiers dans le dossier tomcat avec Apache Camel pour POST beaucoup de données à un service de repos. Que se passe-t-il si le noeud final n’est pas disponible pendant deux jours et que vous êtes à court d’espace disque parce qu’il continue à créer de nouveaux fichiers? Comment empêcher cela?

Implémentez un prédicat personnalisé pour vous assurer qu’il y a suffisamment d’espace utilisable avant d’écrire un fichier.

Quelque chose comme ça:

private static final Predicate IS_ENOUGH_SPACE = exchange -> { return new File(Paths.get("").toUri()).getUsableSpace() > 100*1024*1024; // 100MB }; public void configure() { from("timer:simple?period=1000") .choice().when(IS_ENOUGH_SPACE) .to("file://myStuff") .to("log:done") .otherwise() .to("log:supressed") // do some handling here, maybe pause route for while .end(); }