dubbo实践3--服务调用测试
整合完了框架之后,我们来测试一下看是否好使,如果想在启动的时候查看更多的启动信息,可以把log4j.properties文件放到src/main/resources目录下,这样当工程启动的时候如果有问题的话,我们便可以清楚的知道是什么错误了。log4j.properties文件大家可以到:http://download.****.net/detail/u012453843/9794134这个地址进行下载。正常情况下我们不用放置log4j.properties文件,因为它的信息非常多,影响我们看启动结果。只有当异常的时候才需要用到它。
在启动taotao-manager工程之前,我们先检查我们的zookeeper当前是否处于开启状态,如果看到如下所示结果,说明是启动状态。
- [[email protected] zookeeper-3.3.6]# bin/zkServer.sh status
- JMX enabled by default
- Using config: /usr/local/zookeeper-3.3.6/bin/../conf/zoo.cfg
- Mode: standalone
第一种:在防火墙允许访问的端口中增加8080和8081端口
添加完端口后,重启防火墙,如下所示。
- [[email protected] ~]# service iptables restart
- iptables:将链设置为政策 ACCEPT:filter [确定]
- iptables:清除防火墙规则: [确定]
- iptables:正在卸载模块: [确定]
- iptables:应用防火墙规则: [确定]
- [[email protected] ~]#
- [[email protected] ~]# service iptables stop
- iptables:将链设置为政策 ACCEPT:filter [确定]
- iptables:清除防火墙规则: [确定]
- iptables:正在卸载模块: [确定]
- [[email protected] ~]# chkconfig iptables off
- [[email protected] ~]# chkconfig iptables --list
- iptables 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
- [[email protected] ~]#
下面我们启动taotao-manager工程(taotao-manager-service包含在taotao-manager工程下,因此启动taotao-mananger也相当于启动了taotao-mananger-service)关于如何启动聚合工程大家可以参考:http://blog.****.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>
- <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>
这时,我们再访问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,发现可以正常访问到数据了!!