使用tomcat啓動dubbo項目

首先,黑體標出html

官方不推薦使用web容器進行dubbo的啓動java

 

可是,有些時候,咱們不採用他們的建議。git

背景:github

  以前用的dubbo項目,是由main函數啓動的,每次發佈項目,須要啓動兩項: 一、 tomcat啓動web項目;二、 jar 啓動 dubbo 項目。web

  調整目標:使用 tomcat 啓動 web + dubbo 項目,一次啓動。spring

 

  代碼在上一篇文章的示例代碼上進行改造。tomcat

  http://www.cnblogs.com/fri-yu/p/5981436.htmlapp

  那麼,根據官方的提示,咱們使用 spring 啓動dubbo。ide

  首先,添加一個空的 WEB 項目而後在 web.xml 裏面配置 spring 的啓動。函數

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		 xmlns="http://java.sun.com/xml/ns/javaee"
		 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
		 id="WebApp_ID" version="2.5">
	<display-name>Archetype Created Web Application</display-name>

	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath*:spring/root.xml</param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
</web-app>

 

將項目進行簡單分層,分爲 WEB 、 RPC 、RPC-IMPL , 使用tomcat 啓動 WEB 層,將 RPC 層的 jar 包發佈出去給別的項目用於 dubbo  調用的依賴。

在 RPC 層實現 RPC 接口及 consumer 文件的提供

在 IMPL 層,依賴 RPC 層,並實現 RPC 層中的接口,而後配置相應的 provider 文件

 

在 WEB 層,依賴 IMPL 層,引入 provider 文件,用於啓動 dubbo 服務。

 

 

 

啓動項目後訪問項目:

(普通的web項目,簡陋了點)

在dubbo-admin中查看服務

 

 

再建一個springMVC 的 WEB 項目對剛纔發佈並啓動的 dubbo 項目進行測試

首先,依賴 RPC 的 jar 包。(把 RPC 層的 jar 包發佈到本地倉庫或者私服中便可)

 

 

 而後,引入 consumer 文件,以調用 RPC 層提供出來的接口。

寫一個 controller , 注入 RPC 層提供的接口。

啓動該web項目,進行訪問:

啓動 dubbo 的 web  項目後臺打印:

 

 示例代碼位置:

povider

https://github.com/fri-yu/JavaLearn/tree/master/dubbo/20171027/provider

https://files.cnblogs.com/files/fri-yu/provider.zip

consumer

https://github.com/fri-yu/JavaLearn/tree/master/dubbo/20171027/comsumer/web

https://files.cnblogs.com/files/fri-yu/consumer.zip

相關文章
相關標籤/搜索