旗正规则引擎产品(VisualRules)安装完成之后,安装目录下的目录和文件如图所示:
规则编辑器以及规则执行管理器都需要用到规则引擎,在安装目录的classes下面会出现engine.conf以及log4j.properties的文件。其中engine.conf用于配置规则引擎的执行参数,而log4j.properties用于配置规则引擎的日志输出的配置:
engine.conf文件的内容如下:
#Rule Engine Config File
#Fri Oct 31 10:06:07 CST 2003
#规则引擎的实例
engineImplement=com.flagleader.engine.impl.SingleRuleEngineFactory
#规则执行服务的实例
serviceImplement=com.flagleader.engine.impl.RuleServletFactory
#规则包更新间隔时间
updateInternateTime=1000
#规则引擎需要调用的类或者可执行规则包所在位置
ruleEngineClassDir=
#规则引擎需要调用的类所包含的jar文件所在的目录,会自动将此目录下所有的jar文件导入
ruleEngineJarsDir=
#是否显示调试信息
debug=true
#是否显示printTrace信息
trace=true
#是否显示printTrace信息
showsql=false
#数据库调用实现
dbImplement=com.flagleader.db.FlDBFactory
#xml调用实现
xmlImplement=com.flagleader.xml.FlXmlFactory
#xml文件的存储所在的目录
xmlDir=xml
#日期格式如2000-01-01
dateFormat=yyyy-MM-dd
#时间格式如 12:00:00
timeFormat=HH\:mm\:ss
#日期时间格式如 2000-01-01 00:00:00
datetimeFormat=yyyy-MM-dd HH\:mm\:ss
#xml格式
xmlEncoding=gb2312
#规则服务地址
ruleServerHost=localhost
#规则服务端口号
ruleServerPort=1508
#规则SOAP服务的地址
ruleSoapUrl=http://localhost:8880/soap/services/RuleSoap
#规则包异步执行的最大线程数
maxRuleThread=100
log4j.properties文件的内容如下:
# Attach appender A1 to root. Set root level to Level.INFO.
log4j.rootLogger=INFO, A1,A3
# A1 is set to be a FileAppender sending its output to
# System.out. However, only error messages and above will be printed
# in A1 because A1's threshold is set to Level.ERROR.
# The fact that the root level is set to Prority.INFO only influences
# log requests made to the root logger. It has no influence on the
# *appenders* attached to root.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.Threshold=INFO
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%p [%t] %c{2} - %m%n
# Set the level of the logger named "org.apache.log4j.examples" to
# Level.INFO, attach appender A2.
log4j.category.ruleengine=ALL, A2
# Appender A2 writes to the file "test" in user's home.
log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.A2.File=ruleengine.log
log4j.appender.A2.Threshold=ALL
# Truncate 'test' if it aleady exists.
log4j.appender.A2.Append=false
# Appender A2 uses the PatternLayout.
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%-5p - %m%n
#rolling file appender
log4j.appender.A3=org.apache.log4j.RollingFileAppender
log4j.appender.A3.File=ruleinfo.log
log4j.appender.A3.MaxFileSize=100KB
log4j.appender.A3.MaxBackupIndex=2
log4j.appender.A3.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=%p - %m%n
log4j.appender.A3.threshold=INFO
注意ruleengine.log目前用于规则配置器以及规则执行管理器的日志读取文件。具体log4j如何配置,可以参考apache网站的log4j站点的说明。
另外,在classes还需要配置具体的数据库连接的配置文件,可以通过规则包中的数据库连接对象生成,具体文件内容参考如下:如rules.conf文件。
文件内容如下:
#Rule Engine DataSource Config File
#Thu Nov 17 14:46:54 CST 2005
minConns=2
maxConnTime=60
debugLevel=2
dbDriver=com.mysql.jdbc.Driver
dataSourceName=rules
logFileString=db_engine.log
dbLogin=root
maxConns=100
dbUrl=jdbc\:mysql\://localhost/rules
dbPassword=Xs9UzDAgGfLhcJn2WMXwew\=\=
此文件可以通过数据库配置器来生成。其中的dbUrl为数据库连接的url,dbDriver为数据库连接的驱动,dbLogin为数据库登录名,dbPassword为数据库登录密码。