使用tomcat啟動dubbo項目


首先,黑體標出

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

 

但是,有些時候,我們不采用他們的建議。

背景:

  之前用的dubbo項目,是由main函數啟動的,每次發布項目,需要啟動兩項: 1、 tomcat啟動web項目;2、 jar 啟動 dubbo 項目。

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

 

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

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

  那么,根據官方的提示,我們使用 spring 啟動dubbo。

  首先,添加一個空的 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM