. Venus Http协议

转至元数据结尾
转至元数据起始

从2.2.0版本开始,venus可以配置基于Http协议的服务,使用也是相当简单的,除了需要配置前面的服务以外,还需要在 web.xml中配置一个 servlet,跟servelt-mapping

好,我们开始简单的venus http servlet的配置之旅:

配置项目依赖,在自己的pom.xml中增加下面依赖

		<dependency>
			<groupId>com.meidusa.venus</groupId>
			<artifactId>venus-http-backend</artifactId>
			<version>${venus.version}</version>
		</dependency>

配置WEB应用,在web.xml中增加下面片段

  • 配置Venus Servlet
    	<servlet>
    		<servlet-name>venus</servlet-name>
    		<servlet-class>com.meidusa.venus.backend.http.VenusHttpServlet</servlet-class>
    		<load-on-startup>2</load-on-startup>
    		<init-param>
    			<param-name>uri-pattern</param-name>
    
    			<!--
    				可以将用URI=/services/HelloService/getHello
    				匹配以后,得到:
    				serviceName=HelloService
    				endpoint=getHello
    
    				uri前缀不包含 servlet contextPath,请与 servlet-mapping保持一致
    			 -->
    			<param-value>/services/([a-zA-Z_0-9.]+)/([a-zA-Z_0-9]+)</param-value>
    		</init-param>
    	</servlet>
  • 配置Venus Servlet-mapping
    	<servlet-mapping>
    		<servlet-name>venus</servlet-name>
    	 	<url-pattern>/services/*</url-pattern>
    	</servlet-mapping>

如何使用?[^venus-http-adaptor-3.2.16-distribution.zip]

  1. venus可通过http get, http post方式发送service 请求
  2. 简单的参数可以通过get方式发起请求
  3. 复杂的参数对象则需要通过post方式发送一个json对象来表达请求参数

下面是一个HelloService例子:

HTTP协议适配器

面向测试团队使用的友好工具,Venus 协议的HTTP适配器,该适配器提供HTTP协议,后端采用VenusClient 连接后端Venus

  1. 适配器下载地址: [^venus-http-adaptor-3.2.16-distribution.zip]
  2. 配置JAVA_HOME环境变量指向JDK安装路径
  3. 解压zip包,修改application.properties,修改 venus.service.ipAddressList  = 127.0.0.1:16800 指向相关IP
  4. 启动 Linux:bin/launcher , windows:bin/launcher.bat

性能相关的配置,如下配置只需要修改application.properties

# 接受缓冲区大小(KB)
venus.socket.receiveBufferSize  = 64
# 发送缓冲区大小(KB)
venus.socket.sendBufferSize     = 64

# 默认的超时时间:5秒(一次服务调用等待服务器端返回的最大时间)
venus.socket.soTimeout = 5000

# 与后端服务最大的活动连接数,默认100个
venus.pool.maxActive = 100

# 与后端服务的最大空闲连接数,默认100个
venus.pool.maxIdle = 100

启动以后将会提供 默认8080端口的Http服务,可以用浏览器访问:http://127.0.0.1:8080/services/HelloService/getHello?v=0&name=jack 

复杂参数请采用 post 方式以JSON数据格式进行提交。如下图:

(有返回对象的消息格式)
Unable to render embedded object: File (图片1.png) not found.

(有异常返回的消息格式,具体异常code代码请参阅portal的异常编码表,180开头则为venus内部框架的代码)
Unable to render embedded object: File (图片2.png) not found.

Enter labels to add to this page:
Please wait 
查找标签? 在此录入。