CSF是一个远程服务管理平台,其平台搭建过程如下。
用户创建
需要创建两个用户:zk
,chaapp
1 2 3 4 5 6 7
| #如果已经创建了组,可以省略 groupadd ngboss useradd -d /home/zk -g ngboss zk useradd -d /home/chaapp -g ngboss chaapp #创建密码 echo '1q1w1e1r' | passwd --stdin chaapp
|
zk
的安装前面已经学习过,这里略过。
CSF
相关的东西放到chaapp
目录下。
如图上传这两个文件,解压。
解压后的目录如下图:
服务器配置修改
AIConfig.xml
1 2 3
| vi /home/chaapp/config/AIConfig.xml 106 <ConfigItem name="DATABASE_DIALECT" remarks="数据的方言(如果没有,采用OracleDialectImpl)" >com.ai.appframe2.bo.dialect.OracleDialectImpl</ConfigItem>
|
csf.xml
1 2 3 4 5 6
| vi /home/chaapp/config/csf/csf.xml #163行 <Item name="zk.server.list"> <value>127.0.0.1:2181</value> <description>多个地址用逗号(,)隔开 </description> </Item>
|
defaults.xml
1 2 3 4 5 6 7 8
| vi /home/chaapp/config/system/service/defaults.xml <pool name="base" primary="true"> <property name="driverClassName" value="oracle.jdbc.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@10.13.3.13:1521:shxicrm" /> <property name="username" value="UCR_PSWD" /> <property name="password" value="UCR_PSWD" /> ...
|
启动服务端
1 2 3 4 5 6
| [chaapp@centos7-node01 ~]$ ls bin config configext lib libext logs sbin soa_web sql support [chaapp@centos7-node01 ~]$ cd sbin/ [chaapp@centos7-node01 sbin]$ ls start_app_21.sh start_app_22.sh start_app_23.sh start_app_24.sh start_app.sh statistic.sh stop_app.sh taillog.sh [chaapp@centos7-node01 sbin]$ ./start_app_21.sh
|
tomcat配置
进入此目录中
1 2 3 4 5
| [chaapp@centos7-node01 webapps]$ pwd /home/chaapp/soa_web/apache-tomcat-7.0.68/webapps [chaapp@centos7-node01 webapps]$ ls csf_web csf_web.war docs examples host-manager manager ROOT zkweb zkweb.war [chaapp@centos7-node01 webapps]$
|
这里有两个目录需要配置:csf_web
和zkweb
。
csf_web
目录下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| [chaapp@centos7-node01 classes]$ pwd /home/chaapp/soa_web/apache-tomcat-7.0.68/webapps/csf_web/WEB-INF/classes [chaapp@centos7-node01 classes]$ ls AIConfig.xml AIRootConfig.xml config.properties log4j.properties SrvFrameConfig.xml TaskConfig.xml AiLog.properties com csf.properties menu.xml system [chaapp@centos7-node01 classes]$ vi AIConfig.xml #104行修改成Oracle方言 [chaapp@centos7-node01 classes]$ vi csf.properties #修改zk地址 config.properties也一样修改 zk.server.list=192.168.71.137:2181 #进入此目录中 [chaapp@centos7-node01 service]$ pwd /home/chaapp/soa_web/apache-tomcat-7.0.68/webapps/csf_web/WEB-INF/classes/system/service [chaapp@centos7-node01 service]$ vi defaults.xml ... 51 <pool name="base" primary="true"> 52 <property name="driverClassName" value="oracle.jdbc.OracleDriver" /> 53 <property name="url" value="jdbc:oracle:thin:@10.13.3.13:1521:shxicrm" /> 54 <property name="username" value="UCR_PSWD" /> 55 <property name="password" value="UCR_PSWD" /> ...
|
zk_web
目录下
1 2 3 4 5
| [chaapp@centos7-node01 classes]$ pwd /home/chaapp/soa_web/apache-tomcat-7.0.68/webapps/zkweb/WEB-INF/classes [chaapp@centos7-node01 classes]$ ls c3p0.properties com log4j.xml spring zk.properties #修改zk.properties的zk地址。貌似不用改也阔以
|
启动tomcat
在tomcat的bin目录下
1
| [chaapp@centos7-node01 bin]$ ./startup.sh
|
浏览器上输入:http://192.168.71.137:8080/csf_web/common/index.jsp
如图:
本地Java工程
Java工程的目录如下:
例如:我在AddMoneyCSVImpl.java
中写了一个方法
1 2 3 4 5 6 7 8 9 10 11 12 13
| public class AddMoneyCSVImpl implements IAddMoneyCSV { public String getMoney(Userman userman) { return userman.getMoney(); } public String getId(String name) { return name+"调用成功"; } public String getLvshen(String name){ return "Hello I'm" + name; } }
|
TestService.java
中的内容如下:
1 2 3 4 5 6 7 8 9
| public class TestService { public static void main(String[] args) throws Exception { Map<String, String> map = new HashMap<String, String>(); map.put("name", "Lvshen"); IClientSV sv = CsfServiceFactory.getService("order_IAddMoneyCSV_getLvshen"); System.out.println("********************"+sv.service(map)); } }
|
然后打开注册工具,把服务注册进入数据库和zk
,操作如下图:
点击View→Setting,在config界面中进行相关的设置(上图有数据库的配置),项目配置和ClassPath的配置如下图:
配置好之后,软件界面上就会有java工程的相关目录了如下:
输入中心名,选择方法,右键注册即可。
这样前端界面就可以看到新添加的服务。
之后就可以对服务进行相关的操作了。
把Java工程打包成jar包放入服务器的/home/chaapp/lib
目录下。运行Java工程,项目就可以远程调用服务跑起来了。