公共配置
公共配置文件所处在的位置为cfg/etc/commons.xml,用于主配置中定义声明的filter和connection,在主配置中可以直接进行引用。
a) public
b) codetables(n)|functions(n)
c) connections
d) Filters
1.全局静态变量定义public
本章公共配置需要特殊说明的是可以直接在主配置、服务配置中直接配置filters、connections用于声明所需要使用的connection、filter,但是他们的作用范围只在定义他们的配置文件中生效。如若此种情况只需要使用到自身定义的connection、filter,那么无需利用import引入工公共配置。
1.1public
声明定义平台环境变量,可以直接定义在主接口或者公共配置文件中,如果只定义在主接口文件中,只对定义该配置的主接口中的交易有效。
1.1.1父节点
- root/common
1.1.2子节点
- sys:定义平台配置环境变量;
- extsys:从外围配置引入到平台配置环境变量;
1.1.3属性
无
1.1.4规则
无
1.1.5示例
<public>
<sys name="BASEPATH" value="cfg" />
<sys name="COMMONPATH" value="cfg/common" />
<sys name="IMPORTPATH" value="cfg/imports" />
<extsys ref="D:/TRM21.xml" type="xml">
<sys name="TTEST1" value="Envelope.Header.RequestHead.SourceSysID" />
<sys name="TTEST11" value="Envelope.Header.RequestHead.TargetSysID" />
</extsys>
<extsys ref="E:/wsdl/WifiProductService.wsdl" type="xml">
<sys name="TTEST2" value="definitions.service.port.address@location" />
</extsys>
<extsys ref="E:/interface.properties" type="properties">
<sys name="TTEST3" value="00000" />
</extsys>
<extsys ref="cfg/locale/interface.properties" type="properties">
<sys name="TTEST4" value="00000" />
</extsys>
</public>
1.2sys
定义一个平台配置环境变量,用于在配置中直接引用。
- root/common
1.2.1父节点
- public
1.2.2子节点
无
1.2.3属性
属性 | 描述 | 值类型 | 示例 |
---|---|---|---|
Name | 标识 | string | DATEBASEUSER |
value | 值 | string | 当前字段的值 |
1.2.4规则
- 为了便于在配置应用的时候易于理解,使其他用户能够清楚的知道该变量是平台配置环境变量,与上下文变量区分,建议name属性用大写填充
1.2.5示例
<sys name="BASEPATH" value="cfg" />
1.3extsys
用于说明一个外围系统配置文件路径,以及文件路径
1.3.1父节点
- public
1.3.2子节点
- sys
1.3.3属性
属性 | 描述 | 值类型 | 示例 |
---|---|---|---|
ref | 关联文件路径 | string | E:/interface.properties |
type | 文件类型 | string | properties xml |
1.3.4规则
- type文件类型目前只支持properties、xml两种;
- 可以配置多个sys子节点,对于properties文件sys的value值对应其中的key,如若是xml文件value值对应xml文件结果索引用于标识xml文件节点;
1.3.5示例
<extsys ref="E:/interface.properties" type="properties">
<sys name="TTEST3" value="00000" />
</extsys>
<extsys ref="D:/TRM21.xml" type="xml">
<sys name="TTEST1" value="Envelope.Header.RequestHead.SourceSysID" />
<sys name="TTEST11" value="Envelope.Header.RequestHead.TargetSysID" />
</extsys>
2.connections
定义需要使用的connection,提供主配置引用。可以定义在主接口配置文件中或者cfg/etc/commons.xml文件中。
2.1示例
此公共配置connections定义了fileconnection与ftpconnection两个连接,分别由FileConnection.class与FtpConnection.class执行。
<connections>
<connection id=”fileConnection” class=”FileConnection”/>
<connection id=”ftpConnection” class=”FtpConnection”/>
</connections>
2.2.connection
2.2.1父节点
- connections
2.2.2子节点
- property:连接的属性节点,可以配置连接所需要的属性参数,如配置用户名,密码,url等;
- poolSetting:连接池配置,此处专为数据库连接配置所用;
2.2.3属性
属性 | 描述 | 值类型 | 示例 |
---|---|---|---|
id | 标识 | string | 能表达通道含义的名字如socketconnection |
class | 实例 | string | cn.com.brilliance.Socket Connection |
pooled | 是否连接池 | boolean | 默认为false,判断是否需要提供连接池属性 |
2.2.4property属性
属性 | 描述 | 值类型 | 示例 |
---|---|---|---|
name | 标识 | string | url:webservice发布地址 class:webservice发布的接口 method:接口提供的方法 |
value | 值 | string | 当前字段的值; |
encrypt | 加密 | string | BASE64、AES、DES(默认)、DESede、IDEA、PBE、RSA |
2.2.5规则
- 引用连接时如果配置与该处定义连接的property相同name的属性,可以直接替换;
- 如果配置连接池属性需要指定pooled属性为true;
- l 如果配置encrypt属性或者name=password的情况,将自动进行明文加密,默认采用DES加密
2.2.6示例
<connection id="jdbcConnection" class="JdbcConnection" pooled="true">
<property name="driverClassName" value="#{DB_DRIVERCLSNAM}" />
<property name="url" value="#{DB_URL}" /><!-- 数据库url -->
<property name="username" value="#{DB_USRNAM}" /><!-- 用户名 -->
<property name="password" value="#{DB_PWD}" />
<poolSetting>
<property name="initialSize" value="5" /><!-- 初始化连接 -->
<property name="maxIdle" value="10" /><!-- 最大空闲连接 -->
<property name="minIdle" value="5" /><!-- 最小空闲连接 -->
<property name="maxActive" value="20" /><!-- 最大连接数量 -->
<property name="logAbandoned" value="false" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeout" value="180" />
<property name="maxWait" value="3000" />
</poolSetting>
</connection>
3.filters
3.1示例
<filters>
<filter id=”iso8583filter” class=”ISO8583Filter”>
<parameter name=”bitmapsize” value=”16” />
</filter>
</filters>
3.2.filter
定义特定类型的数据处理操作,指定处理实现代码类。
3.2.1父节点
- filters
3.2.2子节点
- parameter:配置参数项;
3.2.3属性
属性 | 描述 | 值类型 | 示例 |
---|---|---|---|
id | 标识 | string | 能表达通道含义的名字如socketconnection |
class | 实例 | string | cn.com.brilliance.Socket Connection |
3.2.4规则
- 引用filter配置的parameter与在使用当中处理的field不会相互替换;
3.2.5示例
该filter配置foreach子节点,会根据foreach的条件再对foreach下面的field进行处理,实例中,foreach下配置的还有if节点,只有满足if节点条件才会对if下的field进行处理,不满足则会按照else下面的field进行处理。
<filter id="splitFilter" class="SplitFilter">
<parameter name="split_strategy" value="|" />
</filter>