OpenRules gobierna sólo en una base de datos posible?
-
19-09-2019 - |
Pregunta
estoy experimentando con OpenRules y Java y me gustaría para almacenar todos mis reglas en una base de datos única. Si entiendo la documentación href="http://openrules.com/docs/man_repositoryDB.html" rel="nofollow correctamente, necesito tener una "Main.xls" en el que se almacenar la configuración del entorno. Ahora la pregunta: ¿Hay una manera de evitar por completo este un archivo .xls física? Mejor de los casos sería, si tan sólo pudiera llamar algo así como
defineOpenRulesDatabase();
OpenRulesEngine engine = new OpenRulesEngine("db:myFile.xls");
engine.run();
donde el defineOpenRulesDatabase método () define todos los ajustes que se definen en el archivo de db.properties mencionado en la documentación.
Cualquier idea sobre esto?
Solución
Sí. De acuerdo con la documentación , puede pasar en cualquier URL, que es compatible con Java (es decir, nada de URL.openStream()
la que volverá algo útil).
Así que simplemente puede incrustar el href="http://www.mortbay.org/jetty/" rel="nofollow noreferrer"> embarcadero servidor web OpenRulesEngine() con la URL del servlet.
O puede descargar el archivo de la base de datos y utilizar File.createTempFile()
para crear un archivo temporal para configurar el motor de reglas.
O puede presentar un fallo en contra del proyecto y pedir a otro constructor que le permite pasar de una InputStream
.
[EDIT] supongo que ya ha visto este documento que explica cómo poner las reglas en una base de datos. Por lo que veo, no es posible crear el motor de reglas sin un archivo existente Main.xls al menos en la ruta de clases.
Sin embargo, ese archivo no tiene que contener tanto:
reglas / main / Main.xls el archivo principal de un motor de reglas para empezar. Contiene sólo la tabla de Medio Ambiente
Así que usted puede poner simplemente un archivo estático en la ruta de clase y cargar todas las reglas de la base de datos.