最近一段时间,我们的生产系统升级频繁出现故障,具体故障现象是启动后10来分钟就出现交易缓慢,处理线程耗尽等现象,并且故障发生的频率蛮高的。经过详细的诊断和排查,终于发现了问题,是groovy在osgi中运行会出现classloader死锁,最后我们也解决了这个问题。 如果单靠通过查看代码是很...
分类:
编程语言 时间:
2015-01-23 18:17:38
阅读次数:
202
对象一旦创建出来,就不再改变其内容,这样的对象是不变的。这样做可以无需顾虑多线程访问对象时的竞争管理,Java的String就是不变对象的一个例子。基于此,使用Scala创建多线程应用时,可以用不变状态(immutable
state)编写无锁代码,从而写出简洁的多线程代码,而无需顾虑线程间的数据竞争,以及处理加锁和释放带来的梦魇。JVM上的其他语言Groovy、JRuby、Clojure怎么...
分类:
编程语言 时间:
2015-01-21 15:12:56
阅读次数:
272
原文:手把手教你接口自动化测试 – SoapUI & Groovy手把手教你接口自动化测试 – SoapUI & Groovy 关键词:SoapUI接口测试,接口自动化测试,数据驱动测试,SoapUI进阶使用, Groovy in SoapUI, SoapUI中Groovy的使用,数据分离。 阅读这...
分类:
其他好文 时间:
2015-01-21 11:31:10
阅读次数:
421
现在用gradle替代maven的项目越来越多,下面就描述一下如何在centos服务器环境下安装配置gradle环境。
1.在http://www.gradle.org/downloads页面,下载最新版的gradle软件包,撰写这篇文档的时候是2.2.1版。
2.下载了gradle-2.2.1-all.zip或者gradle-2.2.1-bin.zip文件之后,将之解压在/usr/l...
分类:
其他好文 时间:
2015-01-20 11:58:48
阅读次数:
141
hello.groovy
import groovy.lang.Closure
Closure clos = { println "Hello closure"}
println "delegate:" + clos.delegate.class.name;
println "owner: " + clos.owner.class.name;
clos.call();
println "=...
分类:
其他好文 时间:
2015-01-19 14:31:29
阅读次数:
219
import com.eviware.soapui.SoapUIdef getReportToXML(){def builder = new groovy.xml.StreamingMarkupBuilder()builder.encoding="UTF-8"def Report = { mk...
分类:
其他好文 时间:
2015-01-11 06:08:46
阅读次数:
346
SOAPUI开源版本不提供导出报告功能,不过可以简单定制一番?..看了两小时官网的文档,发现确实可行,且成本不高,虽然可能没有Pro版本的报告浑然一体不过勉强凑合了。SoapUI的脚本语言是Groovy,这是啥?没听过,google之,原来如此这般...好吧。第一步,收集执行的各种情况,生成一个xm...
分类:
其他好文 时间:
2015-01-10 20:57:29
阅读次数:
239
既然是浅析,自然也就没有深入的地方,我也写不出深入的地方,自己没有用过,也不会写出来坑人的;仅仅就是在 Android Studio 中的 Gradle 使用配置而已。
Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。其在 AS 中的一些配置与用法如下.......
分类:
移动开发 时间:
2015-01-03 17:23:41
阅读次数:
520
使用%{}%格式%{ if(wechatUser.province==null){ wechatUser.province=""; } if(wechatUser.city==null){ wechatUser.city=""; } String address=we...
分类:
编程语言 时间:
2014-12-31 19:46:38
阅读次数:
211
#{if session.get("user_permission").contains("UserManager")} &{'edit'} &{'delete'} &{'password_reset'}#{/if}
分类:
Web程序 时间:
2014-12-31 19:46:28
阅读次数:
150