`
liuzhiyi7288
  • 浏览: 31298 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
今天读了一下dubbo的源码,dubbo源码本身主要包括以下几个部分(包):common、config、container、monitor、registry、remoting、rpc,其中今天要说的日志适配器模式就在common包中。           首先我们来看日志的调用方式如下: public class DubboRegistry extends FailbackRegistry { private final static Logger logger = LoggerFactory.getLogger(DubboRegistry.class); // ...
 场景描述            在分布式应用, 往往存在多个进程提供同一服务. 这些进程有可能在相同的机器上, 也有可能分布在不同的机器上. 如果这   些进程共享了一些资源, 可能就需要分布式锁来锁定对这些资源的访问.本文将介绍如何利用zookeeper实现分布式锁.   思路          进程需要访问共享数据时, 就在"/locks"节点下创建一个sequence类型的子节点, 称为thisPath. 当thisPath在所有子节   点中最小时, 说明该进程获得了锁. 进程获得锁之后, 就可以访问共享资源了. 访问完成后, 需要将this ...
一次封锁or两段锁? 因为有大量的并发访问,为了预防死锁,一般应用中推荐使用一次封锁法,就是在方法的开始阶段,已经预先知道会用到哪些数据,然后全部锁住,在方法运行之后,再全部解锁。这种方式可以有效的避免循环死锁,但在数据库中却不适用,因为在事务开始阶段,数据库并不知道会用到哪些数据。数据库遵循的是两段锁协议,将事务分成两个阶段,加锁阶段和解锁阶段(所以叫两段锁) 加锁阶段:在该阶段可以进行加锁操作。在对任何数据进行读操作之前要申请并获得S锁(共享锁,其它事务可以继续加共享锁,但不能加排它锁),在进行写操作之前要申请并获得X锁(排它锁,其它事务不能再获得任何锁)。加锁不成功,则事务进入等待 ...

RPC框架Dubbo

    博客分类:
  • RPC
Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。 主要核心部件:   Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制. RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能 Registry: 服务目录框架用于服务的注册和服务事件发布和订阅   Dubbo工作原理 Provider
对于Java程序员来说,工作中经常会遇到这样一些问题,比如引用了些第三方提供的非开源jar包,这个时候我们需要用它,甚至需要改它的内容。怎么办?下面看看开发中会遇到哪些问题? 某个类的里面的字段默认值不符合需求要改掉. 某个方法里面有很多校验,想直接return ;绕过校验。 某个方法里面的计算方法太复杂,想用自己的计算方式。替换方法体。 首先声明一点,如果是收费的,切勿参加商业性质。        往往这个时候我们就会很棘手,因为确实不好操作,不好处理。现在我给大家介绍两种方式,解决一些比较常见且简单的问题。 1、 反编译class文件,推荐Java Decompiler  ...
      Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结 ...
       项目需要做一个大的改动,在上线之前从trunk上打了一个branch下来,由于改动比较大,所以这次的改动就在branch修改、打包、测试;       测试完成以后,问题来了,我们需要branch代码merge到trunk上,网上查了一下资料,但是有些人为了赚取所谓的“分儿”,都没有验证的解决方案一顿狂发,下面是经过验证的解决方案:        1. 将branch的代码验证没有问题后,全部提交(此时的提交,是提交到了branch上)      2. 在trunk上,点击右键,选择“team->merge”,会弹出merge对话框,我们的merge应该属于第二 ...
各位,在使用openOffice结合jodconverter 把word文件转换为html时,发现总是报异常:com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException: conversion failed: could not load input document; 但是,这个问题是偶发的,偶尔传一个文件,也能正常转换,没有任何问题; 调试源码发现在 private void loadAndExport(String inputUrl, Map/*<String,Object>*/ loa ...
文章来自于:http://blog.csdn.net/yancaobisi/article/details/6881188   最近验收会终于开完了,也算是稍微松了一口气,之前系统定位是分布式部署,但是到了最后上线阶段又改为集中部署,这样性能问题就成了当前比较棘手的一件事,项目上线后频繁出线内存溢出、数据库锁表问题,加上后来压力测试时出现的系统并发慢的问题,经过这N久的折磨后,现在终于有了一些成果,下面简单记录一下,记录下来供大家参考交流,其中难免瑕疵之处欢迎大家指正 1、  应该尽量减小service事务代码块的大小,在事务中对记录进行修改时,会对相应表加锁,如:A事务对table1 和 ...
1. 修改client 端web应用的web.xml,如下: <filter> <filter-name>CAS Authentication Filter</filter-name> <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class> <init-param> <param-name>casServerLoginUrl</param-name> & ...
CAS client 端使用Filter 获得server端传回的信息,如果多个信息使用: assertion.getPrincipal().getAttributes()来获得一个Map,但是有的时候Map中没有数据为null; 解决方案:配置deployerConfigContext.xml中名称为serviceRegistryDao的bean,如下 <bean id="serviceRegistryDao" class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl"> ...
CAS 集成java 登录成功后空白页面,查看源代码空白内容,在cas-client side 一端也配置了验证成功后的url,并且经过调试验证已经执行了登录成功以后在web.xml中配置的AutoSetUserAdapterFilter中的代码,问:为什么出现空白页面?
在使用ymPrompt这个组件的使用,ie8、9都没有问题 但是在ie6下,调用win弹出层后,ie8、9下是遮罩层的,但是ie6下没有遮罩层,有时间有遮罩,但是一拖拽就又没哟了,在关闭层后,这个时候遮罩层才出来,正好跟ie8、9相反
项目当中遇到的问题: 项目使用CAS 实现SSO,目前SSO遇到了瓶颈,有2个问题    1 在CAS默认登录页面,选择英文后,登录系统,但是系统还是显示为中文;因为系统采用struts2,struts2的国际化采用               Map<String,Locale> session = ActionContext.getContext().getSession();         ActionContext.getContext().setLocale(locale); session.put("WW_TRANS_I18N_LOCALE" ...
在xtree使用过程中,遇到了这样一个问题,就是在点击一个节点的时候,要ajax请求返回json数据然后生成下一级树,但是当客户再次点击该节点的时候,xtree同样还是把刚才的子节点重现加载一遍,这样该节点下的子节点就重复了,代码如何 var tree = new WebFXTree('测试', 'javascript:\" onclick=\"return false;'); tree.setBehavior('classic'); //将返回的json数据动态生成树 var showTree = function(data){     if (data != null ...
Global site tag (gtag.js) - Google Analytics