Si un planificateur Quartz fonctionne avec un ensemble de déclencheurs et que je souhaite effacer tous les déclencheurs, quel est le meilleur moyen de le faire? J'ai considéré l'itération sur les groupes et les noms, en appelant non programmée comme je vais, mais cela semble très lent quand il y a des milliers de déclencheurs en place (environ 2s pour déconnecter 10 déclencheurs). Un test élémentaire rudimentaire (programmation de 1000 déclencheurs, suppression de lots de 100) montre une complexité exponentielle w.r.t. le nombre de déclencheurs programmés sur l'opération déprogrammer:Comment effacer les déclencheurs dans un planificateur à quartz
Deleted 100 triggers in 3594ms,35.94 triggers/ms
Deleted 100 triggers in 2734ms,13.67 triggers/ms
Deleted 100 triggers in 2453ms,8.176666666666666 triggers/ms
Deleted 100 triggers in 1985ms,4.9625 triggers/ms
Deleted 100 triggers in 1547ms,3.094 triggers/ms
Deleted 100 triggers in 1281ms,2.135 triggers/ms
Deleted 100 triggers in 1047ms,1.4957142857142858 triggers/ms
Deleted 100 triggers in 765ms,0.95625 triggers/ms
Deleted 100 triggers in 485ms,0.5388888888888889 triggers/ms
Deleted 100 triggers in 156ms,0.156 triggers/ms
Je ne peux pas trouver toutes sortes de méthodes en vrac pour effacer les choses. J'ai finalement envisagé d'arrêter le planificateur et de le lâcher pour la récupération de place, mais je ne suis pas sûr s'il y a quelque chose d'autre dont je pourrais avoir besoin pour m'assurer qu'il n'est référencé nulle part.
Quelqu'un at-il une idée de la meilleure approche ici?