Java之HSF搭建demo

Wesley13
• 阅读 894

1、去阿里云官网下载Demo edas-app-demo.zip

2、下载Ali-Tomcat和Pandora,注意红色下面字体

   a)下载 Ali-Tomcat,保存后解压至相应的目录(如:d:\work\tomcat\)。
     b)下载 Pandora 容器,保存后将内容解压至上述保存的 Ali-Tomcat 的 deploy 目录(d:\work\tomcat\deploy)下

3、下载轻量版EDAS(下载地址:https://help.aliyun.com/document\_detail/44163.html),和配置host文件

   打开host文件,C:\Windows\System32\drivers\etc,编辑
     最后一行增加,192.168.1.24是自己电脑ip的,域名是唯一,固定的
     192.168.1.24 jmenv.tbsite.net

4、cd到edas-lite-configcenter的bin目录下,运行startup.bat

Java之HSF搭建demo

5、在浏览器查看时候启动本地edas ,localhost:8080 .

  如果出现diamond,说明host文件配置成功,没看到diamond,查看host文件是否配置错误

Java之HSF搭建demo

6、打开idea,加载edas-app-demo为maven项目。

1、使用aliTomcat 配置为: 
                -Dfile.encoding=UTF-8 
                -Dpandora.location=D:\software\AliTomcat\taobao-tomcat-7.0.59\deploy\taobao-hsf.sar  
                -Dhsf.server.ip=本机ip 
                -Dhsf.server.port=12200
2、启动demo的两个应用:
                a)itemcenter #先启动服务提供者
                b)detail    #再启动消费者,否则报错

 Java之HSF搭建demo

7、启动注意项

  a)启动的时候一定要查看pandora是否启动,如图表示启动了

    Java之HSF搭建demo

  b)出现HSFServiceAddressNotFoundException错误,表明消费者没有连接上服务者,或者说服务者没有启动。查看服务者时候上线,可以再localhost:8080进行查看

com.taobao.hsf.exception.HSFServiceAddressNotFoundException: HSFServiceAddressNotFoundException-
error message : [HSF-Consumer] can't find target service addresses, target serviceName:com.alibaba.edas.carshop.itemcenter.ItemService:1.0.0 Group:HSF ERR-CODE: [HSF-0001], Type: [BIZ], More: [http://edas.console.aliyun.com/code?faq=HSF-0001]
    at com.taobao.hsf.registry.RegistryInvocationHandler.invoke(RegistryInvocationHandler.java:173)
    at com.taobao.hsf.invocation.DelegateInvocationHandler.invoke(DelegateInvocationHandler.java:12)
    at com.taobao.hsf.remoting.service.LocalInvocationHandler.invoke(LocalInvocationHandler.java:99)
    at com.taobao.hsf.invocation.filter.RPCFilterBuilder$TailNode.invoke(RPCFilterBuilder.java:280)
    at com.taobao.hsf2dubbo.context.DubboRPCContextClientFilter.invoke(DubboRPCContextClientFilter.java:43)
    at com.taobao.hsf.invocation.filter.RPCFilterNode.invoke(RPCFilterNode.java:71)
    at com.taobao.hsf.context.RPCContextClientFilter.invoke(RPCContextClientFilter.java:31)
    at com.taobao.hsf.invocation.filter.RPCFilterNode.invoke(RPCFilterNode.java:71)
    at com.taobao.hsf.rpc.generic.GenericInvocationClientFilter.invoke(GenericInvocationClientFilter.java:59)
    at com.taobao.hsf.invocation.filter.RPCFilterNode.invoke(RPCFilterNode.java:71)
    at com.taobao.hsf.remoting.service.InvocationValidationFilter.invoke(InvocationValidationFilter.java:48)
    at com.taobao.hsf.invocation.filter.RPCFilterNode.invoke(RPCFilterNode.java:71)
    at com.taobao.hsf.plugins.spas.SpasClientFilter.invoke(SpasClientFilter.java:82)
    at com.taobao.hsf.invocation.filter.RPCFilterNode.invoke(RPCFilterNode.java:71)
    at com.taobao.hsf.plugins.eagleeye.EagleEyeClientFilter.invoke(EagleEyeClientFilter.java:76)
    at com.taobao.hsf.invocation.filter.RPCFilterNode.invoke(RPCFilterNode.java:71)
    at com.taobao.hsf.invocation.stats.InvocationStatsClientFilter.invoke(InvocationStatsClientFilter.java:45)
    at com.taobao.hsf.invocation.filter.RPCFilterNode.invoke(RPCFilterNode.java:71)
    at com.taobao.hsf.monitor.log.filter.MonitorLogClientFilter.invoke(MonitorLogClientFilter.java:51)
    at com.taobao.hsf.invocation.filter.RPCFilterNode.invoke(RPCFilterNode.java:71)
    at com.taobao.hsf.common.filter.CommonClientFilter.invoke(CommonClientFilter.java:26)
    at com.taobao.hsf.invocation.filter.RPCFilterNode.invoke(RPCFilterNode.java:71)
    at com.taobao.hsf.invocation.filter.RPCFilterBuilder$HeadNode.invoke(RPCFilterBuilder.java:246)
    at com.taobao.hsf.invocation.filter.FilterInvocationHandler.invoke(FilterInvocationHandler.java:28)
    at com.taobao.hsf.cluster.TestAddressInvocationHandler.invoke(TestAddressInvocationHandler.java:50)
    at com.taobao.hsf.remoting.service.AsyncInvocationHandler.invoke(AsyncInvocationHandler.java:44)
    at com.taobao.hsf.invocation.FutureInvocationHandler.invoke(FutureInvocationHandler.java:44)
    at com.taobao.hsf2dubbo.DubboAsyncInvocationHandler.invoke(DubboAsyncInvocationHandler.java:93)
    at com.taobao.hsf.invocation.AsyncToSyncInvocationHandler.invokeType(AsyncToSyncInvocationHandler.java:220)
    at com.taobao.hsf.invocation.AsyncToSyncInvocationHandler.invoke(AsyncToSyncInvocationHandler.java:46)
    at com.taobao.hsf.profiler.ProfilerSyncInvocationHandler.invoke(ProfilerSyncInvocationHandler.java:35)
    at com.taobao.hsf.rpc.client.ErrorLogSyncInvocationHandler.invoke(ErrorLogSyncInvocationHandler.java:47)
    at com.taobao.hsf2dubbo.DubboFilterSyncInvocationHandlerInterceptor.invoke(DubboFilterSyncInvocationHandlerInterceptor.java:76)
    at com.taobao.hsf.rpc.client.ClientConcurrencyLimiter.invoke(ClientConcurrencyLimiter.java:41)
    at com.taobao.hsf.InvocationUtil.invoke(InvocationUtil.java:43)
    at com.taobao.hsf.proxy.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:31)
    at com.taobao.hsf.proxy.JdkProxyFactory$JdkProxyInvocationHandler.invoke(JdkProxyFactory.java:99)
    at com.sun.proxy.$Proxy22.getItemById(Unknown Source)
    at com.alibaba.edas.carshop.detail.StartListener$1.run(StartListener.java:27)
    at java.lang.Thread.run(Thread.java:748)

8、服务提供者和消费者配置

  a)假设存在一个服务提供者ItemService

    其配置如下:

Java之HSF搭建demo Java之HSF搭建demo

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:hsf="http://www.taobao.com/hsf"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://www.taobao.com/hsf
       http://www.taobao.com/hsf/hsf.xsd" default-autowire="byName">
    <bean id="itemService" class="com.alibaba.edas.carshop.itemcenter.ItemServiceImpl" />
    <!-- 提供一个服务示例 -->
    <hsf:provider id="itemServiceProvider" interface="com.alibaba.edas.carshop.itemcenter.ItemService"
        ref="itemService" version="1.0.0">
    </hsf:provider>
</beans>

View Code

   Java之HSF搭建demo

  b)假设存在一个消费者detail,需要使用上述的服务ItemService

Java之HSF搭建demo Java之HSF搭建demo

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:hsf="http://www.taobao.com/hsf"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
       http://www.taobao.com/hsf
       http://www.taobao.com/hsf/hsf.xsd" default-autowire="byName"> 
    <!-- 消费一个服务示例 -->
    <hsf:consumer id="item" interface="com.alibaba.edas.carshop.itemcenter.ItemService"
    version="1.0.0">
    </hsf:consumer>
</beans>

View Code

  Java之HSF搭建demo

记住:在需要使用别人的服务时,一定要先启动需要调用的服务,否则报错!!!

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Java日期时间API系列31
  时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到。Java中本来已经有相关获取时间戳的方法,Java8后增加新的类Instant等专用于处理时间戳问题。 1获取时间戳的方法和性能对比1.1获取时间戳方法Java8以前
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Stella981 Stella981
3年前
Linux下安装maven, mvn
官网下载maven上传至服务器,解压后,执行mvnv报错,错误内容如下:TheJAVA\_HOMEenvironmentvariableisnotdefinedcorrectlyThisenvironmentvariableisneededtorunthisprogramNB:JAVA\_HOMEsh
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这