我正在尝试将javaagent添加到我的bluemix应用程序中,此代理程序使用Instrumentation。问题是,当我运行应用程序时,我收到以下错误:
premain() - Instrumentation is already running
...
CWWKF0004E: An unknown exception occurred while installing or removing features. Exception: java.lang.NoClassDefFoundError: agent.ClassInstrumentorTransform
ERR at com.ibm.ws.kernel.feature.internal.subsystem.SubsystemFeatureDefinitionImpl.setHeader(SubsystemFeatureDefinitionImpl.java)
ERR at [internal classes]
我尝试使用相同的Premain-Class
和Agent-Class
结构创建另一个代理但使用我自己的类并且它有效,我尝试上传我自己的Instrumentation类副本并使用它将javaagent指向它Class-Path
但错误仍然存在。
任何消化可能是什么问题? 我怀疑Bluemix环境可能使用了Instrumentation,任何想法如何检查以及如何解决内部依赖?
答案 0 :(得分:3)
根据错误消息,您看起来在功能包中有一个类正在尝试从javaagent访问一个类,但是您没有按照org.osgi.framework.bootdelegation
中的描述将javaagent包添加到role_hierarchy:
ROLE_CONTRIBUTOR: ROLE_USER
ROLE_MODERATOR: ROLE_CONTRIBUTOR
ROLE_ADMIN: ROLE_MODERATOR
ROLE_SUPER_ADMIN: ROLE_ADMIN
{3}}"知识中心主题中的主题。