如何通过在gradle构建中配置jvm参数在Corda节点上运行java代理



我正在尝试运行一个JavaAgent,它监视一个或多个Corda节点上的代码执行,这样我就可以在功能测试运行时跟踪它们的覆盖率。

Corda文档说,你可以通过将JVM参数添加到我的节点规范中来添加:

custom = {
jvmArgs: [ "-javaAgent:/Path/To/Agent/jacoco-agent.jar=config-file=/Path/To/Agent/jacoco-agent.config",  "-Xmx1G", "-XX:+UseG1GC" ]
}

我似乎必须将其添加到每个节点的配置文件中,但是否有方法通过build.gradle将其添加至所有节点,例如,使代理在节点启动时启动。

您可以从build.gradle中的deployNodes任务(或任何类型为net.corda.plugins.Cordform的任务(的nodenodeDefaults部分编辑生成节点的node.conf,因此您可以简单地使用

node {
extraConfig = ['custom.jvmArgs': ["-Xmx1G", "-XX:+UseG1GC"]]
}

注意,在Groovy中,列表和字典都使用方括号语法例如

["key" : "value", "key2" : true, "key3" : 42]

最新更新