首页 > 其他分享 >中间件 ZK分布式专题与Dubbo微服务入门 8-6 使用tomcat启动dubbo服务

中间件 ZK分布式专题与Dubbo微服务入门 8-6 使用tomcat启动dubbo服务

时间:2024-04-21 09:14:48浏览次数:17  
标签:Dubbo tomcat service dubbo 中间件 org com log4j

0    课程地址

https://coding.imooc.com/lesson/201.html#mid=12744

 

1    重点关注

1.1    本节内容

使用tomcat启动dubbo服务

tomcat启动dubbo服务的弊端

 

 

 

 

2    课程内容

2.1    tomcat启动dubbo服务的弊端

tomcat本身也是软件,占用内存

 

 

 

3    Coding

3.1    使用tomcat启动dubbo服务

  • 主要改造点:

涉及父项目,common项目,service和api项目共4个,

涉及

a  service项目的pom文件改造

b  service项目的log4j改造

c  启动配置

d  启动后的日志查看

 

 

  • a  service项目的pom文件改造

1    pom文件引入dubbo和zk依赖(注意聚合的项目只是引用,具体哪个server需要就在哪个service所在项目的pom中进行引用该依赖)

将父项目的依赖如下

<dubbo.version>2.5.3</dubbo.version>
        <zookeeper.version>3.4.11</zookeeper.version>
        <zkclient.version>0.1</zkclient.version>



            <!-- 引入dubbo -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>dubbo</artifactId>
                <version>${dubbo.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>${zookeeper.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.sgroschupf</groupId>
                <artifactId>zkclient</artifactId>
                <version>${zkclient.version}</version>
            </dependency>

 


移到service项目的pom文件中并修改,如下

<!-- 引入dubbo -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
        </dependency>

  


2    pom文件 dependencies dubbo版本排除依赖spring,因为dubbo自带的spring版本2.5.6和pom文件里的spring版本有冲突,所以要把dubbo内置的spring依赖排除掉

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

 


3    packing 里是war包

<packaging>war</packaging>



4    引入tomcat7插件

<build>

        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <configuration>
                    <port>8081</port>
                    <path>/</path>
                    <useBodyEncodingForURI>true</useBodyEncodingForURI>
                    <uriEncoding>UTF-8</uriEncoding>
                </configuration>
            </plugin>
            
            <plugin>
                <artifactId>maven-eclipse-plugin</artifactId>
                <configuration>
                    <additionalProjectnatures>
                        <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
                    </additionalProjectnatures>
                    <additionalBuildcommands>
                        <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
                    </additionalBuildcommands>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>true</downloadJavadocs>
                </configuration>
            </plugin>
        </plugins>
        
    </build> 

 

 

  • b  log4j配置文件修改(log4j copy到item-service子项目里)
log4j.rootLogger=INFO,console
#INFO,console,dailyFile

log4j.logger.com.imooc.mapper=INFO

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.encoding=UTF-8
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%l] - [%p] %m%n

 

  • c  启动配置

1    启动前install下
右键父项目,run as ->maven install,结果如下

 



2    上方菜单栏 debug按钮,debug configurations

 


3    maven build tree进行new configuration->更改Name为imooc-item,wokespace选择item-service项目
goals 输入:clean tomcat7:run   
然后apply

source remove掉原来的,然后add  ->java project->选择imooc dubbo的api,service和common,

 


然后apply

最后开始debug

 

  • d  启动后的日志查看

启动后的日志查看,能看到 register dubbo 对应的ip和service已经启动

 

 

 














标签:Dubbo,tomcat,service,dubbo,中间件,org,com,log4j
From: https://www.cnblogs.com/1446358788-qq/p/18148567

相关文章

  • web server apache tomcat11-10-Class Loader
    前言整理这个官方翻译的系列,原因是网上大部分的tomcat版本比较旧,此版本为v11最新的版本。开源项目从零手写实现tomcatminicat别称【嗅虎】心有猛虎,轻嗅蔷薇。系列文章webserverapachetomcat11-01-官方文档入门介绍webserverapachetomcat11-02-setup启动web......
  • web server apache tomcat11-08-JNDI Resources
    前言整理这个官方翻译的系列,原因是网上大部分的tomcat版本比较旧,此版本为v11最新的版本。开源项目从零手写实现tomcatminicat别称【嗅虎】心有猛虎,轻嗅蔷薇。系列文章webserverapachetomcat11-01-官方文档入门介绍webserverapachetomcat11-02-setup启动web......
  • web server apache tomcat11-06-Host Manager App
    前言整理这个官方翻译的系列,原因是网上大部分的tomcat版本比较旧,此版本为v11最新的版本。开源项目从零手写实现tomcatminicat别称【嗅虎】心有猛虎,轻嗅蔷薇。系列文章webserverapachetomcat11-01-官方文档入门介绍webserverapachetomcat11-02-setup启动web......
  • tomcat启动指定java版本
    linux上已经配置jdk1.8为全局变量,但是tomcat运行需要指定jdk11。那么我们在不影响全局JAVA_HOME变量的时候,需直接指定JAVA_HOME即可。[rootapache-tomcat-8.5.87]#java-versionjavaversion"1.8.0_211"Java(TM)SERuntimeEnvironment(build1.8.0_211-b12)JavaHotSpo......
  • web server apache tomcat11-03-deploy 如何部署
    前言整理这个官方翻译的系列,原因是网上大部分的tomcat版本比较旧,此版本为v11最新的版本。开源项目从零手写实现tomcatminicat别称【嗅虎】心有猛虎,轻嗅蔷薇。系列文章webserverapachetomcat11-01-官方文档入门介绍webserverapachetomcat11-02-setup启动web......
  • 控制台连接数据库成功,驱动也导入了没问题,但tomcat的servlet启动会报错。报错信息:java.
    查了很多资料这个报错信息是因为驱动导入不成功,但我确定我已经导入了,因为我在控制台输出了出来。找了很久,发现了这个小问题。原因是我在Eclipse中创建是一个标准的Web工程,它是自带lib文件夹的,然后我自己又自建了一个lib文件夹用来放驱动,结果就像这样报出一个错误!解决方案:......
  • web server apache tomcat11-01-官方文档入门介绍
    前言整理这个官方翻译的系列,原因是网上大部分的tomcat版本比较旧,此版本为v11最新的版本。开源项目同时也为从零手写实现tomcat提供一些基础和特性的思路。minicat别称【嗅虎】心有猛虎,轻嗅蔷薇。系列文章webserverapachetomcat11-01-官方文档入门介绍webserve......
  • 一个简单的开源消息中间件 FolkMQ v1.4.2 发布
    功能简表角色功能生产者(客户端)发布消息、定时消息(或叫延时)、顺序消息、可过期消息、事务消息。支持Qos0、Qos1消费者(客户端)订阅、取消订阅。消费-ACK(自动、手动)服务端发布-Confirm、订阅-Confirm、取消订阅-Confirm、派发-Retry、派发-Delayed本......
  • 消息中间件RabbitMQ_RabbitMQ集群搭建8
    一、集群搭建概述摘要:实际生产应用中都会采用消息队列的集群方案,如果选择RabbitMQ那么有必要了解下它的集群方案原理一般来说,如果只是为了学习RabbitMQ或者验证业务工程的正确性那么在本地环境或者测试环境上使用其单实例部署就可以了,但是出于MQ中间件本身的可靠性、并发性......
  • 消息中间件RabbitMQ_RabbitMQ应用问题7
    一、RabbitMQ应用问题1、消息可靠性保障消息补偿机制2、消息幂等性保障乐观锁解决方案 二、消息可靠性保障需求: 100%确保消息发送成功 消息补偿:三、消息幂等性保障幂等性指一次和多次请求某一个资源,对于资源本身应该具有同样的结果。也就是说,其......