2010-07-12 4 views
0

Lorsque j'ai modifié une règle dans .drl, les modifications ne prennent pas effet. Est-il possible de modifier (c'est-à-dire de déployer à chaud) une règle (.drl) dans bave sans redémarrer le serveur (tomcat)? Comment puis-je résoudre ça?Problèmes lors de l'utilisation de Drools et Tomcat

Répondre

1

Oui c'est le cas - il y a plusieurs façons - mais la première question est de savoir comment vous chargez les règles en premier lieu - les chargez-vous du classpath? ou quelque part sur le disque? Il existe une classe KnowledgeAgent (et RuleAgent) qui peut le charger à partir de diverses sources et détecter les modifications et les appliquer automatiquement lorsque vous modifiez un fichier drl.

+0

Je crée une base de connaissances avec Spring puis je crée une session et déclenche des règles juste quand j'ai besoin d'être exécuté. Je pense que le problème avec KnowledgeAgent est qu'il continue à scanner les répertoires, est-ce la performance? Merci d'avance! – martin

+0

L'analyse ne devrait normalement pas poser de problème. un jour (java 7?) qui peut disparaître comme de véritables notifications de fichiers sont possibles. –

Questions connexes