eds配置操作说明

相关配置

相关配置



netstat -tnlp

检查2181端口(zookeeper)

h070949

修改EDS服务器配置文件:

  1. /usr/local/mongodb/mongod.confh070950
  2. /usr/local/nginx/conf/nginx.confh070951
  3. /usr/local/tomcat-gesb/webapps/engine/WEB-INF/classes/env.propertiesh070952
  4. /usr/local/tomcat-gesb/webapps/engine/WEB-INF/classes/sso.propertiesh070953
  5. /usr/local/tomcat-gesb/webapps/esb-manager/WEB-INF/classes/config.properties

h070954

启动EDS服务器

redis 启动    ./src/redis-server redis.conf &

nginx 启动   ./sbin/nginx -c /usr/local/nginx/conf/nginx.conf

mongodb  ./bin/mongod -f mongod.conf

zookeeper   ./bin/zkServer.sh  start

最后启动tomcat

 

EDS配置

  1. http协议配置h070955

{

“pattern” : “/galaxy-sso-business/captcha”,

“requestParser” : “com.gillion.esb.engine.parser.http.sso.CaptchaRequestParser”,

“responseFormatter” : “com.gillion.esb.engine.parser.http.sso.YmddResponseFormatter”

}

 

{

“pattern” : “/galaxy-sso-business/login”,

“requestParser” : “com.gillion.esb.engine.parser.http.sso.LoginRequestParser”,

“responseFormatter” : “com.gillion.esb.engine.parser.http.sso.YmddResponseFormatter”

}

 

{

“pattern” : “/galaxy-sso-business/logout”,

“requestParser” : “com.gillion.esb.engine.parser.http.sso.LogoutRequestParser”,

“responseFormatter” : “com.gillion.esb.engine.parser.http.sso.YmddResponseFormatter”

}

  1. 上传系统管理接口包h070956
  2. 改扫描路径h070957

 

 

 
EDS接口代码

EDS接口代码



一、EDS客户端调用

1.项目中引入需要的EDS包

<esb.version>1.0.2.4.RELEASE</esb.version>

<!– esb –>
<dependency>
<groupId>com.gillion</groupId>
<artifactId>gillion-esb-api</artifactId>
<classifier>pg</classifier>
<version>${esb.version}</version>
</dependency>

 

2.加入调用eDs工具类  (附件中是网厅项目的配置文件 )

EsbHelper.java

3.引用配置文件: (附件中是网厅项目的配置文件 )

context/application-esb.xml

下面改为自己ESB的地址

h072001

 

 

调用updateOfficeTowms是EDS上面定义的服务代码唯一标识

h072002

发起和审批流程:物流管理系统和审批系统通过esb对接,物流管理系统对外提供http服务给esb调用以获取审批结果。http服务实现在ApproveController类中,见图1。

         图1:

h072003

 

二、application-esb.xml配置文件如下

<?xml version=”1.0″ encoding=”UTF-8″?>
<beans xmlns=”http://www.springframework.org/schema/beans”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xmlns:context=”http://www.springframework.org/schema/context”
xmlns:util=”http://www.springframework.org/schema/util”
xsi:schemaLocation=”http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-4.0.xsd”>

<bean id=”httpRequestExecutor” class=”com.gillion.esb.api.client.executor.http.HttpRequestExecutor”>
<property name=”executorConfiguration”>
<bean class=”com.gillion.esb.api.client.executor.http.HttpRequestExecutorConfiguration”>
<property name=”connectTimeout” value=”120000″/>
<property name=”readTimeout” value=”120000″/>
<!–改为自已的esb请求地址 –>
<property name=”url” value=”${esb.url}”/>
</bean>
</property>
</bean>
<bean id=”clientConfiguration” class=”com.gillion.esb.api.configuration.SimpleClientConfiguration”>
<property name=”reqSysCode” value=”S25″/>
<property name=”clientPlugins”>
<list>
</list>
</property>
<property name=”clientRequestExecutor” ref=”httpRequestExecutor”>
</property>
</bean>

<bean id=”esbClient” class=”com.gillion.esb.api.client.ESBPoolClient”>
<property name=”clientConfiguration” ref=”clientConfiguration”/>
<property name=”maxTotal” value=”100″/>
<property name=”maxIdle” value=”50″/>
</bean>

<!–edsCode–>
<util:properties id=”eds” location=”classpath:config/edsCode.properties” />
</beans>

 

三、EsbHelper.java代码如下

package com.gillion.platform.utils;

import com.gfa4j.utils.ContextHolder;
import com.gillion.esb.api.client.ESBClient;
import com.gillion.esb.api.response.Response;
import com.gillion.esb.api.response.ResponseHeader;
import com.gillion.platform.framework.core.BusinessException;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import java.util.List;
import java.util.Map;

/**
* ESB调用工具类
*
*/
public class EsbHelper {

/**
* 调用esb系统,并返回esb处理结果
*
* @param serviceCode
* esb服务号
* @param jsonArray
* 请求参数
* @return esb处理结果
*/
public static Map<String, Object> executeForMap(String serviceCode,
JSONArray jsonArray) {
return (Map<String, Object>) execute(serviceCode, jsonArray);
}

/**
* 调用esb系统,并返回esb处理结果
*
* @param serviceCode
* esb服务号
* @param jsonObject
* 请求参数
* @return esb处理结果
*/
public static Map<String, Object> executeForMap(String serviceCode,
JSONObject jsonObject) {
return (Map<String, Object>) execute(serviceCode, jsonObject);
}

/**
* 调用esb系统,并返回esb处理结果
*
* @param serviceCode
* esb服务号
* @param jsonObject
* 请求参数
* @return esb处理结果
*/
public static List<Map<String, Object>> executeForList(String serviceCode,
JSONObject jsonObject) {
return (List<Map<String, Object>>) execute(serviceCode, jsonObject);
}

/**
* 调用esb系统,并返回esb处理结果
*
* @param serviceCode
* esb服务号
* @param jsonObject
* 请求参数
* @return esb处理结果
*/
public static String executeForString(String serviceCode,
JSONObject jsonObject) {
return (String) execute(serviceCode, jsonObject);
}

/**
* 调用esb系统,并返回esb处理结果
*
* @param serviceCode
* esb服务号
* @param jsonObject
* 请求参数
* @return esb处理结果
*/
public static Object execute(String serviceCode, JSONObject jsonObject) {
ESBClient esbClient = ContextHolder.getBean(“esbClient”);
Response response = esbClient.request(serviceCode, jsonObject);
if (response.getStatusCode() != ResponseHeader.DEFAULT_SUCCESS_CODE) {
throw new BusinessException(response.getHeader().getReturnMessage());
}
return response.getBody();
}

/**
* 调用esb系统,并返回esb处理结果
*
* @param serviceCode
* esb服务号
* @param jsonArray
* 请求参数
* @return esb处理结果
*/
public static Object execute(String serviceCode, JSONArray jsonArray) {
ESBClient esbClient = ContextHolder.getBean(“esbClient”);
Response response = esbClient.request(serviceCode, jsonArray);
if (response.getStatusCode() != ResponseHeader.DEFAULT_SUCCESS_CODE) {
throw new BusinessException(response.getHeader().getReturnMessage());
}
return response.getBody();
}

/**
* 调用esb系统,并返回esb处理结果
*
* @param serviceCode
* esb服务号
* @param jsonObject
* 请求参数
* @return esb处理结果
*/
public static Object executeForGetParams(String serviceCode, Map<String,String> params) {
ESBClient esbClient = ContextHolder.getBean(“esbClient”);
StringBuilder sb = new StringBuilder();
int index = 1;
for(String key : params.keySet()){
sb.append(key+”=”+params.get(key));
if(index < params.size()){
sb.append(“&”);
}
index++;
}

Response response = esbClient.request(serviceCode, sb.toString());
if (response.getStatusCode() != ResponseHeader.DEFAULT_SUCCESS_CODE) {
throw new BusinessException(response.getHeader().getReturnMessage());
}
return response.getBody();
}
}

RPC接口调用

RPC接口调用



1、 首先在api包里写接口类,然后在business里写具体实现类(这里接口和实现类的包路径最好要一致)
RPC接口调用1
2、 接口上要加上Consumer注解【消费者,接口的调用方使用此注解的类进行调用接口】。
RPC接口调用2
3、 实现类要加上Provider注解【生产者,对应Consumer注解,是接口的实现类】以及对应接口的class。
RPC接口调用3
4、 以上是接口实现。调用接口需要在调用接口的系统的pom中引入该接口的api包
RPC接口调用4
5、 调用时则跟正常的Spring注入一样
RPC接口调用5
RPC接口调用51