接上文,dubbo的服务一般情况下,不需要放入tomcat等容器你启动的,可以直接利用spring的容器就可以了,所以在上文中,我们直接使用spring提供的ClassPathXmlApplicationContext来启动容器,由于容器需要不停机,所以我们用了System.in.read()来阻止服务器停机,dubbo官方也提供了启动方式,这种启动方式在生产环境下使用比较好,之前使用的方式在调试环境下使用非常方便
配置如下,在pom文件中新增如下插件
<build>
<finalName>test-provider</finalName>
<resources>
<resource>
<targetPath>${project.build.directory}/classes</targetPath>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
<!-- com.alibaba.dubbo.container.Main -->
<resource>
<targetPath>${project.build.directory}/classes/META-INF/spring</targetPath>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>spring-all.xml</include>
</includes>
</resource>
</resources>
<pluginManagement>
<plugins>
<!-- 解决Maven插件在Eclipse内执行了一系列的生命周期引起冲突 -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<goals>
<goal>copy-dependencies</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<classesDirectory>target/classes/</classesDirectory>
<archive>
<manifest>
<mainClass>com.alibaba.dubbo.container.Main</mainClass>
<!-- 打包时 MANIFEST.MF文件不记录的时间戳版本 -->
<useUniqueVersions>false</useUniqueVersions>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
<manifestEntries>
<Class-Path>.</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<type>jar</type>
<includeTypes>jar</includeTypes>
<useUniqueVersions>false</useUniqueVersions>
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
注意一下配置项
将resources文件夹下所有配置文件拷贝入目标文件的classes文件夹下
将resources文件夹下的spring总控文件拷贝入classes/META-INF/spring中,这是dubbo利用自带的main类启动的默认文件夹
由于我们将总控文件拷贝到了classes/META-INF/spring文件夹下,所以在spring总控文件中引入其他spring配置文件的路径得修改一下
要不然,会找不到其他配置文件的
利用maven打成jar包,然后直接用java -jar test-provider.jar启动
这里注意,如果需要关闭的话,在linux环境下,直接用kill pid即可
相关推荐
Dubbo服务端示例是一个深度探讨Java微服务架构中Dubbo框架如何与Zookeeper结合使用的实例。这个例子可能对初学者来说配置过程有些复杂,但一旦理解并成功配置,就能提供一个清晰、易于理解的实战体验。在此,我们将...
【描述】中提到的"入门实例",意味着这个dubbo-demo项目是一个初学者友好的教程,旨在帮助开发者快速理解Dubbo服务端的基本操作。它通过集成Zookeeper作为服务注册与发现的中心节点,展示了Dubbo如何与分布式环境...
【标题】"dubbo 服务端客户端Demo"指的是一个基于Dubbo框架,利用Spring Boot 2.1.1版本构建的服务端与客户端演示项目。这个项目旨在帮助开发者快速理解和实践Dubbo在Spring Boot环境下的应用。 【描述】提到,该...
在"**dubbo开发服务端**"这个主题中,我们需要关注以下几个关键知识点: 1. **Dubbo服务提供者(Service Provider)配置**:首先,你需要创建一个服务提供者项目,包含服务接口、服务实现和Dubbo配置。服务接口定义...
本案例将详细介绍如何快速搭建一个简单的Dubbo服务端和消费端。 1. **环境准备** 在开始之前,确保你已经安装了Java开发环境(JDK)并配置好环境变量。Dubbo基于Java,因此需要JDK 1.8或更高版本。同时,你也需要...
1. 启动dubbo-admin:运行dubbo-admin-server-0.1.jar文件,一般通过Java的jar命令来启动,例如`java -jar dubbo-admin-server-0.1.jar`。 2. 访问Web界面:在浏览器中输入启动后的服务器地址,通常默认是`...
Dubbo客户端是阿里巴巴开源的一款高性能、轻量级的Java服务治理框架,主要用于构建分布式服务系统。这个入门实例将帮助我们理解如何使用Dubbo客户端来创建和消费服务。在这个压缩包中,我们很可能会找到一系列配置...
SpringBoot和Dubbo是两种非常重要的Java开发框架,它们在微服务架构中有着广泛的应用。SpringBoot简化了Spring应用的初始搭建以及开发过程,而Dubbo则是阿里巴巴开源的一款高性能、轻量级的服务治理框架,专注于服务...
在本案例中,Maven被用来管理Dubbo服务端和客户端的依赖库,确保项目构建的顺利进行。 接下来,Dubbo是阿里巴巴开源的一款高性能、轻量级的Java RPC框架,它致力于提供面向服务的、高性能的、稳定的服务治理解决...
【标题】"Dubbo入门搭建zookeeper集群+服务端消费端demo"主要涵盖了两个核心的分布式服务框架——Dubbo和Zookeeper,以及如何在实际环境中整合它们进行服务的注册与发现。 Dubbo是阿里巴巴开源的一款高性能、轻量级...
总结来说,"dubbo demo"是一个展示如何在实际项目中运用Dubbo的实例,涵盖了Maven多模块管理、Dubbo服务端与客户端的配置、服务的启动与消费、以及Java Web应用的基本结构等内容。通过学习和实践这个示例,开发者...
在本实例中,我们将深入探讨如何搭建 Dubbo 的服务端(Provider)和消费端(Consumer),以及它们之间的通信机制。 首先,我们要了解的是 Dubbo 的核心概念。在 Dubbo 中,服务提供者(Provider)是暴露服务的角色...
《Dubbo交易系统后台服务端源码解析》 在当今的互联网行业中,分布式服务框架的重要性不言而喻,其中Dubbo作为阿里巴巴开源的一款高性能、轻量级的服务治理框架,深受广大开发者喜爱。本资料包“dubbo交易系统后台...
【标题】:“Spring + Dubbo + Zookeeper 服务端代码”是基于这三大技术栈构建的服务治理方案。Spring 是一个广泛使用的 Java 应用框架,提供了丰富的组件和强大的依赖注入功能,使得应用开发更为便捷。Dubbo 是阿里...
《Dubbo Admin 2.6.0及其启动详解》 Dubbo Admin,作为一款强大的管理工具,主要用于监控和管理Dubbo服务,它为开发者提供了可视化的界面,以便于查看、管理和调试Dubbo服务。在本文中,我们将深入探讨Dubbo Admin ...
Dubbo服务端默认线程池大小为200,当并发请求超过这个值时,新请求会被拒绝。解决方法包括增大服务端的`dubbo.provider.threads`参数,减小消费者端的`dubbo.consumer.actives`参数,增加服务提供者的数量,或优化...
而`dubbo-monitor-simple-2.0.0.jar`一般作为服务端的一部分运行,服务提供者在启动时会自动连接到Monitor进行数据上报。 5. **安全性与权限控制**: Dubbo Admin通常会设置访问权限,只允许授权的用户进行操作,以...
这里,`client-ssl-*`是客户端配置,`server-ssl-*`是服务端配置,`key-store-file-path`是证书路径,`trust-store-file-path`是信任的CA证书路径,`key-store-password`和`trust-store-password`是证书的密码。...