zoukankan      html  css  js  c++  java
  • Hello World

            看着自己的园龄才知道都在这里这么久了,可是一直没发过一篇博文,评论和回复也几乎可以忽略。在这里收藏了好多博文,默默的学习,十分感谢这个平台。工作也有段时间了,开始觉得什么都知道点,什么都不会,不知道有没有这种感觉的人。

            程序员的开始都是Hello World,今天在这发一篇Hello World,开始用博客记录学习和工作中的点点滴滴,于自己是种积累,也希望认识更多的朋友,即使我的文笔和技术都很烂。絮絮叨叨这么多废话,根本不是程序员的风格,第一篇Hello World也不例外,先来记录下最近工作中的一个问题,利用dubbo传输图片,第一个想到的肯定是流化,对于dubbo也不是很熟悉,就按普通的方式来传了,可是根本接收不到什么鬼。官网去转一下吧,给出的方案是利用hessian。下面就把主要的配置说下。

    web.xml

        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <servlet>
            <servlet-name>dubbo</servlet-name>
            <servlet-class>com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>dubbo</servlet-name>
            <url-pattern>/*</url-pattern>
        </servlet-mapping>

    Provider dubbo配置

        <!-- 提供方应用信息,用于计算依赖关系 -->
        <dubbo:application name="dubbo_demo_provider" />
    
        <!-- 使用zookeeper注册中心暴露服务地址 -->
        <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />
    
        <!-- 用dubbo协议在20880端口暴露服务 -->
        <dubbo:protocol name="dubbo" port="20880" />
    
        <!-- contextpath 使用的是项目名称 --> 
        <dubbo:protocol name="hessian" port="8080" contextpath="dubbo" server="servlet"/>
    
        <!-- 声明需要暴露的服务接口 -->
        <dubbo:service interface="com.unj.dubbotest.provider.InputStremTest" ref="inputStremTest" protocol="hessian"/>

    Consumer dubbo配置

        <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
        <dubbo:application name="dubbo_demo_consumer" />
    
        <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />
    
        <dubbo:reference id="inputStremTest"
                         interface="com.unj.dubbotest.provider.InputStremTest" protocol="hessian" />

    其实这个问题解决的过程还是有很多的点的,jar包冲突,hessioan报的奇奇怪的问题。另外还有个想说就是利用dubbo传InputStrem,我的建议是把流转换成字节数组,字节数组,字节数组,重要的事情说三遍。

    具体的代码就不在这里罗列了,作为一个有开源精神和责任心的程序员公司的代码没法提供出来,自己的demo还是可以的眨眼,博客园的上传没明白,奉上百度云的地址http://pan.baidu.com/s/1qYiT4mg,关于这个有问题可以随时联系我。

    后记:随让当时把这个问题顺利解决了,但是当开始全面联调时候发现普通的接口,时通时不通,报未检测到的错误,把原因打印出来后发现是“java-io-ioexception-premature-eof”,解决了好一阵,我承认这个问题我被百度误导了,居然没去看服务管理中心,一个服务同时挂在了hessian和zk的端口,发现后指定协议搞定。。。。

        
         作者: 重名 
         出处: http://www.cnblogs.com/daily-note 
    
  • 相关阅读:
    移动端页面使用rem布局
    Vue2.0 render:h => h(App)
    sublime3 快捷键大全
    node-webkit学习之【无边框窗口用JS实现拖动改变大小等】
    mock.js-无需等待,随机产生数据,让前端独立于后端进行开发
    Sublime Text 3 遇到的一些小坑的解决方法
    Angular Cli 升级到最新版本
    Angular 表单嵌套、动态表单
    angular6 iframe应用
    JS 时间格式 相互转化
  • 原文地址:https://www.cnblogs.com/daily-note/p/5424376.html
Copyright © 2011-2022 走看看