HSF入门例子

转载 2015年05月18日 12:42:47

1.搭建HSF环境

        实际上就是下载hsf.sar,然后放置到tomcat的应用目录下即可


2.服务端

        (1)创建web项目

        (2)添加编译和打包的插件

<properties>
      <java.version>1.6</java.version>
</properties>
<build>
      <finalName>HSFSampleLanshan</finalName>
      <plugins>
           <plugin>
               <artifactId>maven-compiler-plugin</artifactId>
               <configuration>
                   <source>${java.version}</source>
                   <target>${java.version}</target>
               </configuration>
          </plugin>
     </plugins>
</build>
        (3)添加spring和servlet依赖

	<dependency>
		<groupId>org.apache.geronimo.specs</groupId>
		<artifactId>geronimo-servlet_3.0_spec</artifactId>
		<version>1.0</version>
		<type>jar</type>
		<scope>compile</scope>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring</artifactId>
		<version>2.5.6</version>
		<type>jar</type>
		<scope>compile</scope>
	</dependency>

        (4)创建一个HelloWorld服务,作为服务端,需要提供接口和实现

                  接口:

package com.hsf;

public interface HelloWorldService 
{
	public String sayHello(String name);
}
                 实现:

package com.hsf.impl;

import com.hsf.HelloWorldService;

public class HelloWorldServiceImpl implements HelloWorldService
{
	public String sayHello(String name) {
		return "hello "+name;
	}

}

        (5)为HelloWorld服务编写spring配置文件

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


    <bean id="HelloWorldServiceImpl" class="com.hsf.impl.HelloWorldServiceImpl" />
	<bean id="HelloWorldService" class="com.taobao.hsf.app.spring.util.HSFSpringProviderBean"
		init-method="init">
		<property name="serviceInterface">
			<value>com.hsf.HelloWorldService</value>
		</property>
		<property name="target">
			<ref bean="HelloWorldServiceImpl" />
		</property>
		<property name="serviceVersion">
			<value>1.0.0.cpf</value>
		</property>
		<property name="serviceGroup">
			<value>HSF</value><!-- 组别一致的服务才可以互相调用 -->
		</property>
		<property name="serviceName"><!--仅仅便于管理 -->
			<value>HelloWorld</value>
		</property>
	</bean>
</beans>

        (6)在web.xml中添加一个spring监听器,让容器启动的时候spring完成服务初始化
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
                这里不配置applicationContext.xml的路径,默认位于WEB-INF下


         完成之后,打成war包并放在tomcat下,启动tomcat,即可完成服务的发布


3.客户端

        (1)创建web项目

                  这里,将server和client放在同一个项目中

        (2)创建服务的接口

                  以为本例使用的是同一个项目,所以就不编写了


        (3)编写一个类用于访问提供的服务(这里用servlet)

package com.controller;

import com.hsf.HelloWorldService;

public class HelloWorldServlet extends HttpServlet 
{
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		WebApplicationContext context = WebApplicationContextUtils
				.getWebApplicationContext(getServletContext());
		HelloWorldService helloWorldService = (HelloWorldService) context
				.getBean("HelloWorldConsumer");
		PrintWriter out = resp.getWriter();
		out.println(helloWorldService.sayHello("lanshan"));
		return;
	}
}

        (4)编写客户端的spring配置文件

                  这里使用的是同一个项目,所以直接添加就好

   <bean id="HelloWorldConsumer" class="com.taobao.hsf.app.spring.util.HSFSpringConsumerBean"
	   init-method="init">
	<property name="interfaceName">
		<value>com.hsf.HelloWorldService</value>
	</property>
	<property name="version">
		<value>1.0.0.cpf</value>
	</property>
    </bean>


        (5)web.xml中添加servlet的映射

	<servlet>
		<servlet-name>HelloWorldServlet</servlet-name>
		<servlet-class>com.controller.HelloWorldServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>HelloWorldServlet</servlet-name>
		<url-pattern>/HelloWorld</url-pattern>
	</servlet-mapping>

4.运行

        打包运行即可


相关文章推荐

hsf服务的调用过程

目录: 写一个hsf服务并发布        写一个接口工程        写一个实现接口的实现工程        写一个发布接口工程和实现工程的服务工程        写一个应用实现借...

淘宝HSF服务的原理以及简单的实现

淘宝HSF服务具体来说分三个应用:api接口,service服务,本地应用。        最基本的Api服务应该是十分干净的,不含方法,只有接口。它是要被打包(jar包的形式)到中央仓库去的。 ...

分布式服务框架HSF

HSF提供的是分布式服务开发框架,taobao内部使用较多,总体来说其提供的功能及一些实现基础: 1.标准Service方式的RPC   1)、Service定义:基于OSGI的Service定义...

淘宝HSF 框架使用 总结

@(JAVA开发)淘宝HSF 框架使用 总结 随着网站访问量增加,仅仅靠增加机器已不能满足系统的要求,于是需要对应用系统进行垂直拆分和水平拆分。在拆分之后,各个被拆分的模块如何通信?如何保证性能?...

阿里云 EDAS-HSF 环境搭建及例子编写

阿里云 EDAS-HSF 环境搭建及例子编写 例子编写是参考EDAS_DEVELOPER_GUIDE.pdf文档配置的。原文档为2个项目,为了能更好体现接口的耦合度, 我拆分成三个项目分别是:...

淘宝(taobao)HSF框架

一、背景       随着网站访问量增加,仅仅靠增加机器已不能满足系统的要求,于是需要对应用系统进行垂直拆分和水平拆分。在拆分之后,各个被拆分的模块如何通信?如何保证性能?如何保证各个应用都...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

HSF 入门-发布和调用hsf服务

原文:http://songpo-ath-taobao-com.iteye.com/blog/1405665 如何将Spring bean对外发布,以供远程调用 已有一个名称为He...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Eclipse配置AliTomcat服务器并且导入Maven项目的实践操作

基于阿里云的服务器的Maven项目,以前没接触过Maven,先搭建环境。可以参考阿里官方提供的《EdasStudio 开发工具用户手册》...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HSF入门例子
举报原因:
原因补充:

(最多只允许输入30个字)