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服务具体来说分三个应用:api接口,service服务,本地应用。        最基本的Api服务应该是十分干净的,不含方法,只有接口。它是要被打包(jar包的形式)到中央仓库去的。 ...
  • zhangyaoming2004
  • zhangyaoming2004
  • 2011年12月01日 19:11
  • 26344

分布式服务框架HSF

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

hsf服务的调用过程

目录: 写一个hsf服务并发布        写一个接口工程        写一个实现接口的实现工程        写一个发布接口工程和实现工程的服务工程        写一个应用实现借...
  • Sweblish
  • Sweblish
  • 2011年12月02日 16:20
  • 8417

HSF原理剖析

HSF是一个分布式的远程服务调用框架,HSF本身并不是一个单独的服务(指一个进程),他是附属在你的应用里的一个组件,一个RPC组件(远程过程调用——Remote Procedure Call,是一种通...
  • loongshawn
  • loongshawn
  • 2017年06月29日 14:47
  • 1228

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

原文:http://songpo-ath-taobao-com.iteye.com/blog/1405665 如何将Spring bean对外发布,以供远程调用 已有一个名称为He...
  • lan861698789
  • lan861698789
  • 2016年03月13日 21:47
  • 3775

分布式服务框架HSF学习

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

HSF学习

一.  Hsf总体架构       这个图很经典,想必大家都了解,Consumer,Provider,中间通过ConfigServer联接。那么其内部是如何实现的呢?请看下文。 二.  ...
  • maxiaozhuang
  • maxiaozhuang
  • 2014年08月12日 11:06
  • 799

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

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

hsf使用总结

hsf是淘宝三个中间件之一(notify,tddl,hsf),其实就是一个高度封装的rpc框架。和opendaylight一样,核心是osgi,容器接入层可以是tomcat jboss,协议栈是rpc...
  • zengxiaosen
  • zengxiaosen
  • 2017年09月28日 20:57
  • 289

HSF框架DEMO

  • 2016年03月22日 11:36
  • 70KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HSF入门例子
举报原因:
原因补充:

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