学习淘淘商城第十四课(服务调用测试)

来源:互联网 发布:cad2014注册机mac版 编辑:程序博客网 时间:2024/05/28 15:11

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

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

[root@node-js zookeeper-3.3.6]# bin/zkServer.sh statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.3.6/bin/../conf/zoo.cfgMode: standalone
       我们还需要做件事情,就是配置防火墙,因为防火墙不让我们访问8080和8081端口,我们处理的方案有两种:

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

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

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

[root@node-js ~]# service iptables stopiptables:将链设置为政策 ACCEPT:filter                    [确定]iptables:清除防火墙规则:                                 [确定]iptables:正在卸载模块:                                   [确定][root@node-js ~]# chkconfig iptables off[root@node-js ~]# chkconfig iptables --listiptables       0:关闭1:关闭2:关闭3:关闭4:关闭5:关闭6:关闭[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文件中添加如下一段配置。

<build>  <resources>  <resource>  <directory>src/main/java</directory>  <includes>  <include>**/*.xml</include>  </includes>  </resource>  </resources>  </build>
          添加完配置之后taotao-manager-dao工程的pom.xml文件的完整内容如下:

<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">  <modelVersion>4.0.0</modelVersion>  <parent>    <groupId>com.taotao</groupId>    <artifactId>taotao-manager</artifactId>    <version>0.0.1-SNAPSHOT</version>  </parent>  <artifactId>taotao-manager-dao</artifactId>  <dependencies>  <dependency>  <groupId>com.taotao</groupId>    <artifactId>taotao-manager-pojo</artifactId>    <version>0.0.1-SNAPSHOT</version>  </dependency>  <!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId></dependency><dependency><groupId>com.github.miemiedev</groupId><artifactId>mybatis-paginator</artifactId></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId></dependency><!-- MySql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- 连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId></dependency>  </dependencies>  <build>  <resources>  <resource>  <directory>src/main/java</directory>  <includes>  <include>**/*.xml</include>  </includes>  </resource>  </resources>  </build></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,发现可以正常访问到数据了!!






3 1