首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在代码中设置openejb javaagent?

在代码中设置openejb javaagent?
EN

Stack Overflow用户
提问于 2014-04-04 14:20:22
回答 2查看 519关注 0票数 0

我目前正在为Java应用程序编写集成测试,并使用openejb/openjpa。但是,在使用CMP时,我必须使用javaagent来增强类。在maven中,我可以配置我的尽责插件来进行这种增强,或者最好将代理设置为vm参数进行测试。

但是,随着我目前的开发,我喜欢经常在eclipse中运行我的测试。但我不想一直让特工

代码语言:javascript
复制
java -javaagent:openejb-javaagent-4.6.0.jar _\[other params...](other-params....html)

有人对这个问题有一个有用的解决方案吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-04 14:41:52

为了在Eclipse中进行测试,我总是创建一个可以在运行配置的VM参数部分中使用的变量。这样,您只需要指定类似于${agent} (或任何您称之为它)的内容,而不是完整的javaagent字符串。

票数 1
EN

Stack Overflow用户

发布于 2014-04-07 06:42:40

Mhh但不确定,看看我的属性,我的类应该在运行时得到增强:

代码语言:javascript
复制
@Before
public void startupContainer() throws NamingException {
    Properties p = new Properties();
    p.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
    p.put("openjpa.jdbc.DBDictionary", "hsql(SupportsSelectForUpdate=true)");
    p.put("openejb.embedded.initialcontext.close", "destroy");
    p.put("openjpa.RuntimeUnenhancedClasses", "supported");
    p.put("openjpa.DynamicEnhancementAgent", "true");
    p.put("javax.persistence.lock.timeout", "0");
    p.put("openejb.log.factory", "slf4j");

    ejbContainer = EJBContainer.createEJBContainer(p);
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22865392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档