`
文章列表
接我前面一篇文章关于RestAssured测试Restful web service的, RestAssured还有一个功能, 使用RestAssuredMockMvc 单元测试你的Spring MVC Controllers, 这个MockMvc 是建立在Spring MockMvc基础上的, 其目的是让我们用起来更便捷。   Getting Ready <dependency> <groupId>com.jayway.restassured</groupId> <artifactId>spri ...
WireMock 是一个灵活的库用于 Web 服务测试,和其他测试工具不同的是,WireMock 创建一个实际的 HTTP服务器来运行你的 Web 服务以方便测试。 它支持 HTTP 响应存根、请求验证、代理/拦截、记录和回放, 并且可以在单元测试下使用或者部署到测试环境。 它可以用在哪些场景下: 测试移动应用依赖于第三方REST APIs 创建快速原型的APIs 注入否则难于模拟第三方服务中的错误 任何单元测试的代码依赖于web服务的
Spring HTTP invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用(意味着可以通过防火墙),并使用java的序列化机制在网络间传递对象。客户端可以很轻松的像调用本地对象一样调用远程服务器上的对象,这有点类似于webservice,但又不同于webservice,区别如下: webservice HTTP invoker 跨平台,跨语言 只支持java语言 支持SOAP,提供wsdl 不支持 结构庞大,依赖特定的webservice实现,如xfire等 结构简单,只依 ...
接着说Spring包装过的Hessian怎么来Hack。 刚开始我以为只要改了hessian的源码,就可以了。其实不然,因为Spring通过了几层包装,让你不能得不到request对象。 Spring里边hessian的入口是HessianServiceExporter这个类,主要方法有两个  Java代码   public void prepare() {  
项目选定Hessian作为web service的实现方式,确实很轻量级,速度就跟直接用socket差不多,全是二进制传送节约了不少开销。但是在使用过程中有业务需要是必须获得远程端的ip地址,主机名等信息的。翻便Hessian的文档和google了n次未果,迫不得已到caucho和spring论坛去问,都没有得到答复。今天心一横把hessian的源代码加入到项目中单步跟踪,总算有点小收获。献丑分享出来,一方面给需要的朋友,主要还是希望各位找找是否存在bug,以及是否有更好的改良。 一:先撇开Spring不谈,来看看纯Hessian的调用 按照hessian文档里边介绍的demo,在web.x ...
实现原理:通过传递服务bean的名称、执行的方法及参数,通过反射机制进行调用返回。 优点:只需对外提供一个接口服务即可,只要容器中操作服务bean,通过接口即可调用,增加服务bean无需增加对外接口。 代码如下: 接口类  
      最近对RPC的一些实现原理,以及一些RPC框架比较感兴趣。所以,抽时间想研究一下RPC中涉及到的一些技术实现,通讯、序列化和反序列化、动态代理、通讯协议(消息的编解码)。       在一个针对阿里找招聘的群里,发现一些阿里的技术文档 ,故下载下来查看了一下。一种有一位大牛正好讲到了RPC调用的一些实现原理或者涉及到的技术。本人是做java开发的,这位大牛也是基于java的角度来做了一些原来的剖析。故在此记录一下,作为指导自己想重复造轮子想法的一些借鉴。也希望有这方面应用的同行给予指导。下面言归正传,深入到RPC涉及技术的一些记录。 RPC是什么? RPC remote pr ...
在分布式系统中,需要生成全局UID的场合还是比较多的,twitter的snowflake解决了这种需求,实现也还是很简单的,除去配置信息,核心代码就是毫秒级时间41位 机器ID 10位 毫秒内序列12位。   10---0000000000 0000000000 0000000000 0000000000 0 --- 00000 ---00000 ---000000000000 在上面的字符串中,第一位为未使用(实际上也可作为long的符号位),接下来的41位为毫秒级时间,然后5位datacenter标识位,5位机器ID(并不算标识符,实际是为线程标识)
     想写一下关于Java高效开发的一些方法总结,作为自己技术提升的一种必要反省。同时为我们在每一次编写程序代码时,更多的考虑一下我们这样写代码是不是更高效,更简单的一种方法。      今天第一次写,后续会陆续发出关于Java高效开发的一些总结文章。希望有任何想法的Java同行们一同共勉,同时编写博客也是为了训练自己的表达的能力,作为技术成长的一个见证。好了,废话不多说。      对象的创建和销毁      对象的创建,我们都知道,采用new这种方式。同时提供默认的无参构造方法就可以。对于一些必要的参数我们想在new对象的时候就初始化,可以复写或者叫重载多个参数的构造参数new对 ...
公司前端采用的AngularJS框架,在做订单保存跳转到列表页面的时候,由于按钮加了权限(权限框架采用的是shiro),造成了跳转到列表页面,按钮不显示的问题。只有手动刷新,按钮才会出现,问了公司的前端工程师,由于$state.go(xxx)默认只改变地址栏的地址,而不会向后台真正发送请求。造成了不会走权限拦截器,拿不到这个人的权限资源。 解决方案方案一: 在需要做页面跳转的地方,放上如下代码: var storage = window.localStorage; storage.setItem("hasRefresh",1)  在列表页面,也就是 ...
转载自私塾在线【http://sishuok.com/forum/blogPost/list/0/2557.html】 13.3  集成测试 13.3.1  概述        集成测试是在单元测试之上,通常是将一个或多个已进行过单元测试的组件组合起来完成的,即集成测试中一般不会出现Mock对象,都是实实在在的真实实现。          对于单元测试,如前边在进行数据访问层单元测试时,通过Mock HibernateTemplate对象然后将其注入到相应的DAO实现,此时单元测试只测试某层的某个功能是否正确,对其他层如何提供服务采用Mock方式提供。          对于集成 ...
如下内容摘自于:http://www.infoq.com/cn/articles/apache-ignite-explorer  在Ignite以前,大规模、大数据量、高并发企业级或者互联网应用为了解决数据缓存、降低数据库负载、提高查询性能等突出问题,很多采用了Hazelcast或者Oracle Coherence或者GemFire(比如12306网站)或者目前应用越来越广泛的Redis等缓存技术,本文对这些相关的技术做了简单的比较,基本内容来源于其官方网站,进行了翻译整理,方便更多的人了解他。 4.1 Ignite和Hazelcast Apache Ignite和Hazelcast都 ...

Shell脚本语法记录

  最近正在看<<How tomcat works>>这本书,其中讲到了如何通过shell脚本启动tomcat的章节。因为平时很少写这个东西,故在此记录一下,作为自己的学习笔记。同时作为自己的技术积累,作为比较高级的shell脚本开发者来说 ...
最近看了一些技术博客和技术文章,在此记录一下想要阅读或者是博客的记录文章 一、谈一下对分布式系统的理解 二、Tomcat原理以及架构解析 三、对于jvm的理解 四、RPC框架的一些理解 五、容器技术的应用与实践 六、分布式协调框架dubbo的研究 七、基于zookeeper的一些理解与应用范围 八、RPC框架dubbo、hessian、ice的一些比较 九、基于Javanio的应用与netty的应用学习 十、支付系统的一些架构学习以及事务的补偿设计机制   后期补充对于相关文章的连接
今天讨论完数据库设计字段之后,回来就连上数据库准备创建相应的数据表,在执行sql时出现: 一开始没反应过来这是什么错误,就百度了一下1064 mysql,发现是表名使用了关键字。故不能创建成功,给出的解决方案是:在数字键1的左边的那个“·”把表名给包裹起来,就可以创建成功。  
Global site tag (gtag.js) - Google Analytics