groovy

Best way to Remove the domain from url

最后都变了- 提交于 2020-03-04 06:53:28
问题 I have to remove the domain's url from this: http://www.espn.com/watch/?gameId=1234&league=nfl&lang=es&profile=sportscenter_v1 Do you know a better way to achieve that without using things like: def example= decodeUrl.replace( "http://www.espn.com", "" ) Thanks 回答1: Use java.net.URI class. If you create URI from url String, you will have access to all components of the address, line, path, query, scheme, host port etc. https://docs.oracle.com/javase/7/docs/api/java/net/URI.html URI uri = new

用Groovy处理JMeter断言和日志

末鹿安然 提交于 2020-03-03 10:04:23
闲扯一会jmeter和Groovy 首先说明一下,我并不擅长 jmeter ,因为我基本不用这个,关于 jmeter 设置的疑问可以多去搜索引擎求助。本篇文章内容主要是自己在协助同事的时候一点点实践,分享一下jmeter除 BeanShell 之外的另外一种脚本语言 Groovy 。本来想弄个断言就好了,没想到日志模块比较简单,也就顺手写个Demo。 查阅完官方文档得出结论,脚本语言如: Groovy ,在 jmeter 体系中基本说是全能的,例如:处理请求、响应、参数、变量以及收集器和监听器(这些以后有机会再写文章,有需求的请异步官方Demo)。总的来讲, jmeter 中 Groovy 语法兼容性一般,还是得老老实实按照 Java 的语法来写比较稳妥,主要还是需要用 jmeter 自己的 API ,需要一点时间学习和实践。 序言 Apache JMeter 断言是测试人员能够设置标准的组件,这些标准确定将响应视为“ 通过 ”还是“ 失败 ”。您可以使用断言来确保样本和子样本的返回值与预期结果匹配,也可以将其应用于 JMeter 变量。它们将在同一范围内的每个采样器之后执行。 JMeter 包含许多断言元素,用于验证采样器的响应。 但是,有时需要验证决定可能遵循复杂和高级的逻辑,并且无法使用开箱即用的 JMeter 断言进行配置。例如,确认 JSON 响应的有效性

collect data from Jenkins pipeline parallel steps

家住魔仙堡 提交于 2020-03-03 01:08:13
问题 What would be the best way to collect data (such as pass/fail results) from parallel steps. What I've reached so far: #!groovy def fspam(name, spam){ spam[name] = "BEEN THERE TOO" } // pipeline node('slave'){ stage("test"){ targets = ["a", "b"] def tasks = [:] def spam = [:] targets.each{ tasks["${it}"] = { node('slave'){ echo "dry-run ${it}" spam[it] = "BEEN THERE" <--- works fspam(it) <--- fails } } } parallel tasks print("spam") print(spam) } } But it failed with: Also: groovy.lang

Java 8的Lambda VS Groovy的Closure

匆匆过客 提交于 2020-03-02 03:13:12
本文翻译自: http://www.javacodegeeks.com/2014/06/java-8-lambdas-vs-groovy-closures-compactness-grouping-and-summing.html Java 8已经支持lambdas,它很像Groovy早就支持的:闭包。 在Groovy中,我们已经可以: def list = ['a', 'b', 'c'] print list.collect { it.toUpperCase() } // [A, B, C] { it.toUpperCase() } 就是一个闭包。 Java 8中,我们也可以使用简洁的方式来实现同样的功能: list.stream().map( s -> s.toUpperCase() ) 你可能会主张完全使用新的流API(new Stream API),bulk操作和方法引用。至少这样可以使用一段代码的意图被传达得更清晰——Java的啰嗦会刺疼你的双眼。 接下来是其他例子。 一些Groovy动物 class Animal { String name BigDecimal price String farmer String toString() { name } } def animals = [] animals << new Animal(name: "Buttercup"

centos groovy环境建立

不想你离开。 提交于 2020-03-01 13:01:43
#wget -S http://dist.groovy.codehaus.org/distributions/groovy-binary-1.6.1.zip Unzip it: #unzip groovy-binary-1.6.1.zip set the environment: vi /etc/profile export GROOVY_HOME=/etc/groovy/groovy-1.6.1 export PATH=$GROOVY_HOME/bin:$PATH:. By the Way, JAVA HAVE TO INSTALL FIREST JAVA_HOME=/usr/java (depend on your locate) export JAVA_HOME export PATH=$JAVA_HOME/bin:$PATH:. #source /etc/profile #java -version #groovy -version my info like this [root@www]# java -version java version "1.6.0_12" Java(TM) SE Runtime Environment (build 1.6.0_12-b04) Java HotSpot(TM) 64-Bit Server VM (build 11.2-b01,

Spring boot CLI 安装

半世苍凉 提交于 2020-02-29 17:04:20
Spring boot CLI CLI是Command Line Interface缩写,使用Sprint Boot CLI可以使得用于以一种及其简单的方式开始spring的项目。 安装 直接从spring下载解压安装: https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/1.5.9.RELEASE/spring-boot-cli-1.5.9.RELEASE-bin.zip 配置PATH环境变量 快速开始 创建一个application.groovy文件,具体内容如下: @RestController class HelloWorld{ @RequestMapping("/") def sayhello(){ return "hello liumiaocn" } } 运行 spring run application.groovy 访问: curl http://localhost:8080 来源: oschina 链接: https://my.oschina.net/u/1162040/blog/1593646

一步步搭建采用Gradle来运行VertX应用的生产环境

别说谁变了你拦得住时间么 提交于 2020-02-29 11:26:15
1.搭建Maven私服 创建 /opt/nexus/ 目录做为nexus的根目录,把 nexus-2.14.5-02-bundle.tar.gz 解压到此目录中 修改 /opt/nexus/nexus-2.14.5-02/conf/nexus.properties 文件,把 application-port 设置成合适的端口 修改 /opt/nexus/nexus-2.14.5-02/bin/jsw/conf/wrapper.conf 文件,配置合适的JVM参数. 3.1在文件的最开始添加 #@wjw_add wrapper.ignore_sequence_gaps=TRUE 3.2添加JVM参数 #->@wjw_add wrapper.java.additional.11=-Djava.net.preferIPv4Stack=true wrapper.java.additional.12=-Dcom.sun.jndi.ldap.connect.pool.protocol="plain ssl" wrapper.java.additional.13=-server wrapper.java.additional.14=-Xms1g wrapper.java.additional.15=-Xmx8g wrapper.java.additional.16=-XX

Groovy String Concatenation

此生再无相见时 提交于 2020-02-27 23:27:47
问题 Current code: row.column.each(){column -> println column.attributes()['name'] println column.value() } Column is a Node that has a single attribute and a single value. I am parsing an xml to input create insert statements into access. Is there a Groovy way to create the following structured statement: Insert INTO tablename (col1, col2, col3) VALUES (1,2,3) I am currently storing the attribute and value to separate arrays then popping them into the correct order. 回答1: I think it can be a lot

聊聊carrera的GroovyScriptAction

佐手、 提交于 2020-02-27 23:03:09
序 本文主要研究一下carrera的GroovyScriptAction Action DDMQ/carrera-consumer/src/main/java/com/xiaojukeji/carrera/cproxy/actions/Action.java public interface Action { enum Status { FAIL, CONTINUE, FINISH, ASYNCHRONIZED } class UnsupportedDataType extends RuntimeException { } default Status act(UpstreamJob job) { Object data = job.getData(); if (data instanceof byte[]) { return act(job, (byte[]) data); } else if (data instanceof JSONObject) { return act(job, (JSONObject) data); } else { throw new UnsupportedDataType(); } } default Status act(UpstreamJob job, byte[] bytes) { throw new UnsupportedDataType()