- 浏览: 2261588 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (423)
- FileNet相关 (3)
- 应用服务器相关 (22)
- Java综合 (77)
- 持久层 (24)
- struts (11)
- webservice (8)
- 虚拟机 (2)
- 光盘刻录 (0)
- AD及AD集群 (1)
- JS (33)
- F5 (0)
- loadrunner8.1 (0)
- Java 反编译工具 (2)
- DataBase (62)
- ant (1)
- 操作系统 (29)
- 我的任务 (3)
- 平台架构 (16)
- 业务规则引擎 (2)
- 模板 (1)
- EJB (5)
- spring (24)
- CMMI (1)
- 项目管理 (20)
- LDAP (13)
- JMS (10)
- JSP (19)
- JBPM (2)
- web MVC框架设计思想 (2)
- 第三方支付平台 (2)
- BUG管理工具 (1)
- 垃圾站 (2)
- php (1)
- swing (1)
- 书籍 (1)
- QQ qq (2)
- 移动互联网 (26)
- 爱听的歌曲 (0)
- hadoop (4)
- 数据库 (9)
- 设计模式 (1)
- 面试经验只谈 (1)
- 大数据 (9)
- sp (1)
- 缓存数据库 (8)
- storm (2)
- taobao (2)
- 分布式,高并发,大型互联网,负载均衡 (6)
- Apache Ignite (0)
- Docker & K8S (0)
最新评论
-
wangyudong:
新版本 Wisdom RESTClienthttps://gi ...
spring rest mvc使用RestTemplate调用 -
wangyudong:
很多API doc生成工具生成API文档需要引入第三方依赖,重 ...
spring rest mvc使用RestTemplate调用 -
zhaoshijie:
cfying 写道大侠,还是加载了两次,怎么解决啊?求。QQ: ...
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
xinglianxlxl:
对我有用,非常感谢
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
k_caesar:
多谢,学习了
利用maven的resources、filter和profile实现不同环境使用不同配置文件
关键字:Dubbo Main启动方式浅析
服务容器是一个standalone的启动程序,因为后台服务不需要Tomcat或JBoss等Web容器的功能,如果硬要用Web容器去加载服务提供方,增加复杂性,也浪费资源。
服务容器只是一个简单的Main方法,并加载一个简单的Spring容器,用于暴露服务。
服务容器的加载内容可以扩展,内置了spring, jetty, log4j等加载,可通过Container扩展点进行扩展,参见:Container
Spring Container
自动加载META-INF/spring目录下的所有Spring配置。
配置:(配在java命令-D参数或者dubbo.properties中)
dubbo.spring.config=classpath*:META-INF/spring/*.xml ----配置spring配置加载位置
Jetty Container
启动一个内嵌Jetty,用于汇报状态。
配置:(配在java命令-D参数或者dubbo.properties中)
dubbo.jetty.port=8080 ----配置jetty启动端口
dubbo.jetty.directory=/foo/bar ----配置可通过jetty直接访问的目录,用于存放静态文件
dubbo.jetty.page=log,status,system ----配置显示的页面,缺省加载所有页面
Log4j Container
自动配置log4j的配置,在多进程启动时,自动给日志文件按进程分目录。
配置:(配在java命令-D参数或者dubbo.properties中)
dubbo.log4j.file=/foo/bar.log ----配置日志文件路径
dubbo.log4j.level=WARN ----配置日志级别
dubbo.log4j.subdirectory=20880 ----配置日志子目录,用于多进程启动,避免冲突
容器启动
如:(缺省只加载spring)
java com.alibaba.dubbo.container.Main
或:(通过main函数参数传入要加载的容器)
java com.alibaba.dubbo.container.Main spring jetty log4j
或:(通过JVM启动参数传入要加载的容器)
java com.alibaba.dubbo.container.Main -Ddubbo.container=spring,jetty,log4j
或:(通过classpath下的dubbo.properties配置传入要加载的容器)
dubbo.properties
dubbo.container=spring,jetty,log4j
public class SpringContainer implements Container {
private static final Logger logger = LoggerFactory.getLogger(SpringContainer.class);
public static final String SPRING_CONFIG = "dubbo.spring.config";
public static final String DEFAULT_SPRING_CONFIG = "classpath*:spring/*.xml";
static ClassPathXmlApplicationContext context;
public static ClassPathXmlApplicationContext getContext() {
return context;
}
public void start() {
String configPath = ConfigUtils.getProperty(SPRING_CONFIG);
if (configPath == null || configPath.length() == 0) {
configPath = DEFAULT_SPRING_CONFIG;
}
context = new ClassPathXmlApplicationContext(configPath.split("[,\\s]+"));
context.start();
}
public void stop() {
try {
if (context != null) {
context.stop();
context.close();
context = null;
}
} catch (Throwable e) {
logger.error(e.getMessage(), e);
}
}
}
测试:
package cn.gooday.service.order.provider;
import cn.gooday.framework.HelperLoader;
/**
* 主线程启动
*/
public class TestMain {
public static void main(String[] args) throws Exception {
com.alibaba.dubbo.container.Main.main(args);
}
}
服务容器是一个standalone的启动程序,因为后台服务不需要Tomcat或JBoss等Web容器的功能,如果硬要用Web容器去加载服务提供方,增加复杂性,也浪费资源。
服务容器只是一个简单的Main方法,并加载一个简单的Spring容器,用于暴露服务。
服务容器的加载内容可以扩展,内置了spring, jetty, log4j等加载,可通过Container扩展点进行扩展,参见:Container
Spring Container
自动加载META-INF/spring目录下的所有Spring配置。
配置:(配在java命令-D参数或者dubbo.properties中)
dubbo.spring.config=classpath*:META-INF/spring/*.xml ----配置spring配置加载位置
Jetty Container
启动一个内嵌Jetty,用于汇报状态。
配置:(配在java命令-D参数或者dubbo.properties中)
dubbo.jetty.port=8080 ----配置jetty启动端口
dubbo.jetty.directory=/foo/bar ----配置可通过jetty直接访问的目录,用于存放静态文件
dubbo.jetty.page=log,status,system ----配置显示的页面,缺省加载所有页面
Log4j Container
自动配置log4j的配置,在多进程启动时,自动给日志文件按进程分目录。
配置:(配在java命令-D参数或者dubbo.properties中)
dubbo.log4j.file=/foo/bar.log ----配置日志文件路径
dubbo.log4j.level=WARN ----配置日志级别
dubbo.log4j.subdirectory=20880 ----配置日志子目录,用于多进程启动,避免冲突
容器启动
如:(缺省只加载spring)
java com.alibaba.dubbo.container.Main
或:(通过main函数参数传入要加载的容器)
java com.alibaba.dubbo.container.Main spring jetty log4j
或:(通过JVM启动参数传入要加载的容器)
java com.alibaba.dubbo.container.Main -Ddubbo.container=spring,jetty,log4j
或:(通过classpath下的dubbo.properties配置传入要加载的容器)
dubbo.properties
dubbo.container=spring,jetty,log4j
public class SpringContainer implements Container {
private static final Logger logger = LoggerFactory.getLogger(SpringContainer.class);
public static final String SPRING_CONFIG = "dubbo.spring.config";
public static final String DEFAULT_SPRING_CONFIG = "classpath*:spring/*.xml";
static ClassPathXmlApplicationContext context;
public static ClassPathXmlApplicationContext getContext() {
return context;
}
public void start() {
String configPath = ConfigUtils.getProperty(SPRING_CONFIG);
if (configPath == null || configPath.length() == 0) {
configPath = DEFAULT_SPRING_CONFIG;
}
context = new ClassPathXmlApplicationContext(configPath.split("[,\\s]+"));
context.start();
}
public void stop() {
try {
if (context != null) {
context.stop();
context.close();
context = null;
}
} catch (Throwable e) {
logger.error(e.getMessage(), e);
}
}
}
测试:
package cn.gooday.service.order.provider;
import cn.gooday.framework.HelperLoader;
/**
* 主线程启动
*/
public class TestMain {
public static void main(String[] args) throws Exception {
com.alibaba.dubbo.container.Main.main(args);
}
}
发表评论
-
微信高并发资金交易系统设计方案——百亿红包背后的技术支撑
2017-02-15 12:10 15292推荐综合架构交流群:JAVA开发高级群 点击入群!!! ... -
淘宝可伸缩高性能互联网架构--整体架构介绍
2015-05-14 13:21 12681推荐综合架构交流群:JAVA开发高级群 点击入群!!! 关键 ... -
淘宝JAVA中间件Diamond详解(一)---简介&快速使用
2015-04-30 11:02 1088关键字:淘宝JAVA中间件Diamond详解(一)---简介& ... -
各大巨头电商提供的IP库API接口-新浪、搜狐、阿里...
2015-04-22 13:18 15909关键字:各大巨头电商提供的IP库API接口-新浪、搜狐、阿里. ... -
用Java来获取访问者真实的IP地址-超准确
2015-04-22 12:55 6257关键字:用Java来获取访问者真实的IP地址-超准确 下面分享 ... -
Shiro集成OAuth2
2015-04-21 10:31 12444关键字:Shiro集成OAuth2 参考:http://jin ... -
淘宝网架构分享总结 - 架构,分布式,淘宝,虚拟化,水平伸缩
2015-04-19 00:25 7635推荐综合架构交流群:JAVA开发高级群 点击入群!!! 关键 ... -
高可用、开源的Redis缓存集群方案
2015-04-16 12:25 3758推荐综合架构交流群:J ... -
Zookeeper 和 SASL
2015-04-16 09:29 13636关键字:Zookeeper 和 SASL 介绍 这是一个描述Z ... -
各种Nosql数据库系统对比及应用场景分析
2015-04-15 16:29 756关键字:各种Nosql数据库系统对比及应用场景分析 导读:Kr ... -
Curator-Framework开源Zookeeper快速开发框架介绍
2015-04-14 18:41 703关键字:Curator-Framework开源Zookeepe ... -
IM消息推送之Openfire
2015-04-13 13:40 2213关键字:IM消息推送之Openfire Openfire 采用 ... -
Nio框架之Mina的demo
2015-04-12 13:38 644关键字:Nio框架之Mina的demo 官网:http://m ... -
Zookeeper中ACL(访问控制列表)
2015-04-10 17:21 2828关键字:Zookeeper中ACL( ... -
Mongodb命令大全
2015-03-18 11:18 803关键字:Mongodb命令大全 他支持的数据结构非常松散,是类 ... -
安装ZooKeeper(单机、伪集群、集群)
2015-01-15 11:02 10470关键字:安装ZooKeeper(单机、伪集群、集群) 推荐 ... -
Zookeeper Api(java)入门详解与应用场景
2015-01-14 14:36 1655关键字:Zookeeper Api(java)入门详解与应用场 ... -
spring中的数据源配置信息加密方案
2014-10-22 10:36 1076关键字:spring中的数据源配置信息加密方案 附件是完整的 ... -
特大型网站技术架构
2014-10-20 17:34 4120特大型网站技术架构 ... -
atomikos(com.atomikos.icatch.SysException: Error in init(): Log already in use)
2014-10-15 13:12 8528关键字:atomikos(com.atomikos.icatc ...
相关推荐
**Dubbo快速启动案例** ...以上就是基于阿里巴巴Dubbo框架快速启动服务端和消费端的基本步骤,通过这个案例,你可以了解Dubbo的核心功能和基本使用方式。在实际开发中,还需要结合具体业务场景进行更深入的配置和优化。
在实际开发和运维过程中,正确地启动和停止Dubbo应用是必不可少的环节。本文将详细解析Dubbo应用的启动与停止脚本,帮助开发者更好地理解和操作。 一、启动脚本 Dubbo应用的启动脚本通常是一个shell脚本(如`start...
Dubbo服务启动依赖检查
Dubbo服务提供者的启动方式是分布式系统开发中的关键一环,它涉及到服务的注册、发现、配置管理等多个方面。在本文中,我们将深入探讨Dubbo服务提供者常见的启动方法,并结合源码分析其工作原理。 首先,Dubbo服务...
本篇将详细讲解如何使用经过修改的阿里官方脚本来启动和停止Dubbo服务,以及相关知识点。 首先,`start.sh`和`stop.sh`是两个关键的脚本文件,它们分别用于启动和停止Dubbo服务。在Linux环境中,这些脚本通常是bash...
- 最终通过执行Java命令来启动应用,命令格式为`java -server $JAVA_OPTS $JAVA_DEBUG_OPTS -classpath $LIB_JARS org.apache.dubbo.container.Main start`。其中`-server`表示使用服务器级别的JVM,`$JAVA_OPTS`...
两种配置dubbo-admin的启动方式(亲测有效),分别适用于dubbo-admin-2.6.0及以下版本,dubbo-2.6.x以上版本。一种是要自己下载tomcat-8.5以上版本启动,一种是通过springboot内嵌的tomcat启动
dubbo 启动服务远程找不到dubbo.xsd文件,不能够启动,本地直接加载xsd文件
本项目只适合dubbo入门学习者,高手请不要浪费金钱; 本项目技术栈 springboot, dubbo ,无 zookeeper 本项目旨在提供最单纯的 dubbo 服务提供者 和消费者的点对点直连,而摒弃任何多余技术对dubbo直连的理解
1. **启动Zookeeper**:Dubbo通常使用Zookeeper作为注册中心,启动Zookeeper服务器是运行Dubbo应用的前提。 2. **运行服务提供者**:编译并运行服务提供者模块,服务将注册到Zookeeper上。 3. **运行服务消费者**:...
解决dubbo启动报错,加载失败问题。
Dubbo Admin 2.6.0作为一款强大的管理工具,极大地提高了开发者对Dubbo服务的管理效率,通过其丰富的功能和灵活的启动方式,使得运维工作更加便捷。掌握正确的启动方法和充分利用其功能,是提升Dubbo应用运维水平的...
综上所述,`dubbo启动生成的自适应类.rar`可能包含了一些示例代码或文档,帮助我们理解Dubbo自适应类的生成和工作原理,这对于深入理解和使用Dubbo服务框架至关重要。通过学习这部分内容,开发者可以更好地掌握Dubbo...
- **Spring可扩展Schema**:允许用户自定义Bean的定义方式。 - **Spring加载bean流程**: - 解析XML中的Bean定义:Spring会读取配置文件中的Bean定义,并将其解析成BeanDefinition对象。 - `onApplicationEvent`...
【Dubbo 2.6.1 编译版】是一个重要的开源项目,它是中国阿里巴巴公司贡献的高性能、轻量级的Java服务治理框架。这个版本是2.6.2的编译版本,意味着它包含了从2.6.1到2.6.2的所有更新和改进。对于开发者来说,尤其是...
解决dubbo-admin在jdk1.8下启动报错问题,需要下载dubbo源码修改问题重新编译打包发布,这里已经和重新编译。
在 Dubbo 的环境中,通常会通过打包成 JAR 文件的方式来运行服务,因为这种方式便于部署和管理。`start.sh` 和 `shutdown.sh` 是两个常见的脚本文件,它们分别用于启动和关闭基于 JAR 包的 Dubbo 服务。 **启动脚本...
解决启动dubbo项目的时候出现,无法读取方案文档 'http://code.alibabatech.com/schema/dubbo/dubbo.xsd',其实在你本地把dubbo.jar文件解压,然后在META-INF下边就有个dubbo.xsd,就是他
该项目为基于Spring Boot框架的dubbo服务实现,旨在高效启动dubbo服务(包括消费者和生产者),并提供了快速定义dubbo filter的解决方案。项目源码共计36个文件,涵盖20个Java源文件、7个XML配置文件、4个Idea项目...
安装部署Dubbo Admin,通常需要下载源码,根据项目环境进行配置,然后通过Maven或Gradle构建并启动。确保配置文件中指定了与你的Dubbo服务相同的注册中心地址。 在实际操作中,我们还需要关注一些关键点:如服务的...