dubbo实践3--服务调用测试

整合完了框架之后,我们来测试一下看是否好使,如果想在启动的时候查看更多的启动信息,可以把log4j.properties文件放到src/main/resources目录下,这样当工程启动的时候如果有问题的话,我们便可以清楚的知道是什么错误了。log4j.properties文件大家可以到:http://download.csdn.net/detail/u012453843/9794134这个地址进行下载。正常情况下我们不用放置log4j.properties文件,因为它的信息非常多,影响我们看启动结果。只有当异常的时候才需要用到它。

       在启动taotao-manager工程之前,我们先检查我们的zookeeper当前是否处于开启状态,如果看到如下所示结果,说明是启动状态。

[html]  view plain  copy
  1. [root@node-js zookeeper-3.3.6]# bin/zkServer.sh status  
  2. JMX enabled by default  
  3. Using config: /usr/local/zookeeper-3.3.6/bin/../conf/zoo.cfg  
  4. Mode: standalone  
       我们还需要做件事情,就是配置防火墙,因为防火墙不让我们访问8080和8081端口,我们处理的方案有两种:

第一种:在防火墙允许访问的端口中增加8080和8081端口

      添加完端口后,重启防火墙,如下所示。

[html]  view plain  copy
  1. [root@node-js ~]# service iptables restart  
  2. iptables:将链设置为政策 ACCEPT:filter                    [确定]  
  3. iptables:清除防火墙规则:                                 [确定]  
  4. iptables:正在卸载模块:                                   [确定]  
  5. iptables:应用防火墙规则:                                 [确定]  
  6. [root@node-js ~]#  
第二种:为了方便,我们直接关闭防火墙并且设置开机也不启动。service iptables stop是关闭防火墙,chkconfig iptables off是禁止开机自启动,chkconfig iptables --list是查看七种情况还没有开机自启的情况,如果都是"关闭"状态,说明已经都禁止开机自启动了。

[html]  view plain  copy
  1. [root@node-js ~]# service iptables stop  
  2. iptables:将链设置为政策 ACCEPT:filter                    [确定]  
  3. iptables:清除防火墙规则:                                 [确定]  
  4. iptables:正在卸载模块:                                   [确定]  
  5. [root@node-js ~]# chkconfig iptables off  
  6. [root@node-js ~]# chkconfig iptables --list  
  7. iptables        0:关闭    1:关闭    2:关闭    3:关闭    4:关闭    5:关闭    6:关闭  
  8. [root@node-js ~]#   

       下面我们启动taotao-manager工程(taotao-manager-service包含在taotao-manager工程下,因此启动taotao-mananger也相当于启动了taotao-mananger-service)关于如何启动聚合工程大家可以参考:http://blog.csdn.net/u012453843/article/details/64131003这篇博客进行学习。

       启动的时候,有可能碰到这样的错误,提示有可能运行环境是JRE而不是JDK,如下图所示。


       我们便看下运行环境,方法是点击Window------>Preferences,弹出的对话框如下,发现确实是jre8,而不是jdk,我们需要把它换成jdk,我们"Remove"掉jre8。


       点击"Add",看到下图后直接点击"Next"。


        看到下图后,点击"Direcotry..."选择我们jdk的安装目录。


      找到我们安装jdk的目录,然后点击"确定"。


        我们会看到如下图所示界面,点击"Finish"。


       如果添加完jdk1.8之后还会出现如下图所示的错误提示,那么我们就关闭eclipse,重新打开。


         重启之后,发现正常了,我们点击"Apply"和"OK"。


       下面我们再重新启动taotao-manager工程,当看到下图红色圈住的两行内容时说明我们的服务正常启动了。


       如果长时间未看到上图最后两行信息,很有可能是我们的zookeeper未启动,我们需要打开虚拟机并启动zookeeper。


        启动完服务之后,我们来启动taotao-manager-web工程,由于该工程依赖聚合工程taotao-manager下的taotao-manager-interface和taotao-manager-pojo,为了一次性解决问题,我们直接安装taotao-manager工程即可,按如下图所示操作。


          安装完之后,我们到本地maven仓库位置查看下是否生成了我们想要的包。可以看到都正常生成了。


           下面我们便来启动taotao-manager-web工程,看到如下图所示信息说明taotao-manager-web工程正常启动了。


         下面我们便来试着访问以下服务,我们从数据库tb_item数据库表中找一个商品id,比如:830972,如下图所示。


        我们在地址栏中输入:localhost:8081/item/830972来访问服务端,我们会看到如下图所示的错误。


         出现上图错误的原因是我们在本地没有把taotao-manager-dao工程下的mapper相关的.xml文件编译进来,如下图所示,发现只有class文件,没有.xml文件。


          要解决这个问题我们需要把.xml文件也加载进来,方法是在taotao-manager-dao工程的pom.xml文件中添加如下一段配置。

[html]  view plain  copy
  1. <build>  
  2.     <resources>  
  3.         <resource>  
  4.             <directory>src/main/java</directory>  
  5.             <includes>  
  6.                 <include>**/*.xml</include>  
  7.             </includes>  
  8.         </resource>  
  9.     </resources>  
  10.   </build>  
          添加完配置之后taotao-manager-dao工程的pom.xml文件的完整内容如下:

[html]  view plain  copy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  2.   <modelVersion>4.0.0</modelVersion>  
  3.   <parent>  
  4.     <groupId>com.taotao</groupId>  
  5.     <artifactId>taotao-manager</artifactId>  
  6.     <version>0.0.1-SNAPSHOT</version>  
  7.   </parent>  
  8.   <artifactId>taotao-manager-dao</artifactId>  
  9.   <dependencies>  
  10.     <dependency>  
  11.         <groupId>com.taotao</groupId>  
  12.         <artifactId>taotao-manager-pojo</artifactId>  
  13.         <version>0.0.1-SNAPSHOT</version>  
  14.     </dependency>  
  15.     <!-- Mybatis -->  
  16.     <dependency>  
  17.         <groupId>org.mybatis</groupId>  
  18.         <artifactId>mybatis</artifactId>  
  19.     </dependency>  
  20.     <dependency>  
  21.         <groupId>org.mybatis</groupId>  
  22.         <artifactId>mybatis-spring</artifactId>  
  23.     </dependency>  
  24.     <dependency>  
  25.         <groupId>com.github.miemiedev</groupId>  
  26.         <artifactId>mybatis-paginator</artifactId>  
  27.     </dependency>  
  28.     <dependency>  
  29.         <groupId>com.github.pagehelper</groupId>  
  30.         <artifactId>pagehelper</artifactId>  
  31.     </dependency>  
  32.     <!-- MySql -->  
  33.     <dependency>  
  34.         <groupId>mysql</groupId>  
  35.         <artifactId>mysql-connector-java</artifactId>  
  36.     </dependency>  
  37.     <!-- 连接池 -->  
  38.     <dependency>  
  39.         <groupId>com.alibaba</groupId>  
  40.         <artifactId>druid</artifactId>  
  41.     </dependency>  
  42.   </dependencies>  
  43.   <build>  
  44.     <resources>  
  45.         <resource>  
  46.             <directory>src/main/java</directory>  
  47.             <includes>  
  48.                 <include>**/*.xml</include>  
  49.             </includes>  
  50.         </resource>  
  51.     </resources>  
  52.   </build>  
  53. </project>  
       下面我们再重启taotao-manager工程,启动完之后,我们再看下是否已经生成了.xml文件,发现已经成功生成了。


        这时,我们再访问http://localhost:8081/item/830972,这时我们又会看到如下图所示错误。

       这个错误是因我们我们的pojo没有实现序列化,我们把所有不是以Example结尾的pojo实现序列化,如下图所示。

      由于我们改动了taotao-manager-dao和taotao-manager-pojo,因此我们最好再重新打下包。就是把taotao-manager工程maven install一下。重新打包后,我们重启taotao-manager工程。然后再访问http://localhost:8081/item/830972,发现可以正常访问到数据了!!

相关文章
相关标签/搜索