系统启动配置项及示例
config.properties是gateway自身启动的一些配置项 常用配置如下:
#启动模式, 启动时拉取数据或同步数据的方式 #yamlpath可配置一个文件或者一个目录, #如果是目录如gateway.yamlPath=./conf/yaml,会扫描此目录下所有以.yaml结尾的文件 gateway.yamlPath=./conf/yaml/gateway.yaml gateway.libPath=./lib gateway.logConfigPath=./conf/logback.xml  #共享线程池设置 gateway.sharedPool.available=false gateway.sharedPool.corePoolSize=5 gateway.sharedPool.maximumPoolSize=50 gateway.sharedPool.keepAliveTime=60 gateway.sharedPool.timeUnit=SECONDS  #定时任务模块设置 gateway.task.available=true gateway.task.tickPeriod=5000 gateway.task.idleTickStep=10000 gateway.task.maxTickPeriod=100000  #agent模块, 独自监听一个端口, 可以通过向该端口发请求控制网关内存中的对象状态, #可以达到修改运行中的网关配置的效果, 可自定义扩展功能 #网关关闭命令, 网关守护进程, 都依赖该端口 gateway.agent.available=false #如果该模块不启动或者该端口未开启则守护进程和关闭命令不会生效 gateway.agent.port=8888 gateway.agent.protocolType=http gateway.agent.contentType=json  #是否启动网关守护进程 #gateway.agent.initFunction=protect #心跳间隔 gateway.agent.heartBeat=10  线程共享池
Gateway使用共享线程池限制gateway使用的线程数量,避免因创建过多的channel造成系统资源耗尽的问题。
| 属性 | 描述 | 
|---|---|
| available | 是否启用 | 
| corePoolSize | 共享池基础大小,默认6 | 
| maximumPoolSize | 共享池最大线程数,默认100 | 
| keepAliveTime | 共享池线程最大闲置时间,默认60000 | 
| unit | 共享池闲置时间计算单位,默认MILLISECONDS | 
环境变量机制
在不同的环境下,可以使用不同的环境变量配置文件,比如,dev,uat,prd等环境,在切换切换网关的使用场景时, 需要加载不同的环境变量文件,可通过切换环境变量类型,自动加载对应类型的环境变量文件,也可以重新指定环境变量文件的路径.
如何切换环境变量类型
网关提供了三种方式来指定当前环境类型,网关会根据指定的当前环境类型,来寻找对应的环境变量配置文件,如果什么都不指定,默认会去conf目录下获取env.properties文件.
通过指定网关入口的main函数的传入参数,
如网关的启动命令
java -Xms64m -Xmx256m -cp ../lib/gateway-boot.jar;../lib/gateway-core.jar; com.tesla.gateway.boot.Main dev这样就指定了环境变量文件的类型, 实际会去加载 env-dev.properties
从系统变量中获取环境变量类型,
如果在操作系统级别的环境变量中设置了env.id=prd, 这里规定,key必须为env.id , 则获取到的环境变量配置文件的命名应为env-prd.properties.
从jvm参数中获取环境变量类型,
如果在jvm参数中设置了env.id=uat,则获取到的环境变量配置文件的命名应为env-uat.properties. 
如何指定环境变量文件路径
网关提供了三种方式来指定环境变量配置文件的路径,路径可以是一个文件夹,也可以是一个文件. 如果路径是一个文件,则不需要指定环境变量类型
通过指定网关入口的main函数的传入参数,
如网关的启动命令
java -Xms64m -Xmx256m -cp ../lib/gateway-boot.jar;../lib/gateway-core.jar; com.tesla.gateway.boot.Main dev C:/Users/test/gateway/env
这样就指定了环境变量文件的类型, 和环境变量文件夹的路径, 网关启动时会去 C:/Users/test/gateway/env 文件夹下加载 env-dev.poperties
从系统变量中获取配置文件的路径
如果在操作系统级别的环境变量中设置了env.path=./conf, 这里规定,key必须为 env.path, 网关启动时会去conf目录下加载对应类型的配置文件
从jvm参数中获取环境变量路径
如果在jvm参数中设置了env.path=./conf , 网关启动时会根据环境变量的类型加载conf目录下对应的文件
如果环境变量路径未配置
网关会首先遍历conf目录下所有的文件,然后遍历home目录下所有的文件(home目录就是Conf目录的上一层),然后遍历classpath目录, 直到找到符合环境变量类型的文件
如果未指定env.id, 且未找到环境变量文件,不会报错
环境变量文件配置示例
  #pathNo   epcc.pathNo=1285   qcup.pathNo=1286   # cmbc cacf config(anbao)   cmbc.ca.config.server.url=http://127.0.0.1:8000   ## RSA config   cmbc.ca.config.digest.alg=sha256   cmbc.ca.config.timeout=10000   cmbc.ca.config.appid=ECB   cmbc.ca.config.connect.timeout=10000   cmbc.ca.config.vstk.version=2.0.306.5   cmbc.ca.config.enc.alg=aes   ## SM3 config   cmbc.ca.config.sm.digest.alg=SM3   cmbc.ca.config.sm.timeout=10000   cmbc.ca.config.sm.appid=ECB   cmbc.ca.config.sm.connect.timeout=10000   cmbc.ca.config.sm.vstk.version=2.0.306.5   cmbc.ca.config.sm.enc.alg=SM4    cmbc.sm3.enc.sn=4000421180    gateway.wlink.port=8421   gateway.nlink.port=8422    epcc.wlink.uri=/epcc/cmbcService.html   qcup.wlink.uri=/qcup/cmbcService.html    pcip.nlink.addr=127.0.0.1:6898   pcip.nlink.dist.addr=127.0.0.1:6898    epcc.idc.started.1=true   epcc.idc.flag.1=10   epcc.idc.url.1=http://127.0.0.1:8888/preSvr10   epcc.idc.started.2=true   epcc.idc.flag.2=11   epcc.idc.url.2=http://127.0.0.1:8888/preSvr11   epcc.idc.started.3=true   epcc.idc.flag.3=20   epcc.idc.url.3=http://127.0.0.1:8888/preSvr20   epcc.idc.flag.6=31   epcc.idc.url.6=http://127.0.0.1:8888/preSvr31    epcc.idc.url.default=http://127.0.0.1:8888/preSvr10    qcup.url=http://127.0.0.1:8889/  环境变量的获取
如在config.properties中或者yaml配置文件中获取环境变量, 统一格式为%{环境变量中的key}, 如想要获取 环境变量中 epcc.pathNo=1285 在yaml文件或config文件中 使用%{epcc.pathNo}
如下:
outbound_channel#outbound_channel_epcc:   values:   #出访网联   - id: outbound_channel_epcc     channelType: outbound     protocolType: http     contentType: http-xml     loadBalance: custom     connectorRouterExpression: 'outbound_connector_epcc${IDCFLAG}'     available: true     preParserFilters: XmlMsgParseSignFilter     postParserFilters: XmlMsgVerifySignFilter     prePackerFilters: XmlMsgAddHeaderFilter     postPackerFilters: [ XmlMsgAddSignFilter, RequestHttpHeadersFilter, OutboundReachedFilter ]     localRecognizers:     - id: request_http_headers_recognizer       type: localContext       keyMap:         request_http_headers:           Accept-Encoding: 'identity'           Content-Type: 'application/xml;charset=utf-8'           Connection: 'close'           Content-Length: '$'           MsgTp: '${outMsgTp}'           OriIssrId: 'C1030511000483'     values:     - id: outbound_connector_epcc       started: true       uri: '%{epcc.idc.url.default}'       connectionConfig: { useConnectionPool: false }     - id: outbound_connector_epcc%{epcc.idc.flag.1}       started: %{epcc.idc.started.1}       uri: '%{epcc.idc.url.1}'       connectionConfig: { useConnectionPool: false }     - id: outbound_connector_epcc%{epcc.idc.flag.2}       started: %{epcc.idc.started.2}       uri: '%{epcc.idc.url.2}'       connectionConfig: { useConnectionPool: false }     - id: outbound_connector_epcc%{epcc.idc.flag.3}       started: %{epcc.idc.started.3}       uri: '%{epcc.idc.url.3}'       connectionConfig: { useConnectionPool: false }  配置示例
config_nozk.properties,注意该配置文件在放到Conf目录下后, 命名一定要为config.properties


		
		
		

还没有评论,来说两句吧...