【问题标题】:testing hbase with jvmti agent使用 jvmti 代理测试 hbase
【发布时间】:2014-03-24 16:57:14
【问题描述】:

我想使用它的测试用例来测试 hbase。我从这个link 下载了项目并按照说明测试项目,它只是运行命令行

mvn test

到目前为止没有问题。我想做的是用jvmti agent 运行测试用例。该代理工作得很好,我在几个 java 文件上进行了尝试。通常,我调用我的代理来使用

测试一个 java 文件
java -agentpath:/path/to/agent/agent.so javaProgram

在这种情况下,项目使用maven,我不擅长pom文件。我尝试使用

alias java="java -agentpath:/path/to/agent/agent.so " 

但是它没有炒锅。如何使用我的代理测试 hbase?

【问题讨论】:

    标签: java maven hbase jvmti


    【解决方案1】:

    您可以使用 MAVEN_OPTS 环境变量将 JVM 参数传递给 maven:

    export MAVEN_OPTS=-agentpath:/path/to/agent.so

    更通用的解决方案是使用JAVA_TOOL_OPTIONS 环境变量。

    在 linux 上:export JAVA_TOOL_OPTIONS=-agentpath:/path/to/agent.so 然后运行 ​​mvn

    【讨论】:

    • 我找到了几种方法来解决这个问题,你的解决方案也很有效。但是,代理只收集有关 maven 执行的信息,而不是正在运行的测试用例。 Maven 调用 java 并为自己创建一个 jvm。然后,它会在上面运行所有内容或创建另一个 jvm 来运行测试用例。因此,不会调用代理来执行测试用例。我无法理解主要思想。
    • AFAIK JAVA_TOOL_OPTIONS 也会传播到“内部”测试 jvm
    • 同样的方法对吗? export AFAIK JAVA_TOOL_OPTIONS=-agentpath:/path/to/agent.so
    • 我认为 AFAIK 就像一个命令 :) 无论如何,我在它和其他几个项目上尝试了 JAVA_TOOL_OPTIONS,但它又没用了。它只是收集maven的执行信息。
    猜你喜欢
    • 2011-02-15
    • 2011-07-15
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 2016-10-12
    • 2018-08-12
    • 2010-11-28
    • 1970-01-01
    相关资源
    最近更新 更多