【问题标题】:classpath in websphere application server for aspectj agentaspectj 代理的 websphere 应用程序服务器中的类路径
【发布时间】:2014-08-21 14:23:11
【问题描述】:

我正在开发一个 java aspectj 代理,它可以测量所有方法的响应时间。

我按照以下步骤在 linux 开发环境中测试 aspectj。 ajc -source 1.7 .java -outxml -outjar ResponseTime.jar

java -javaagent:/home/hadoop/aspectj1.7/lib/aspectjweaver.jar -cp "$CLASSPATH:code:ResponseTime.jar:/home/hadoop/aspectj1.7/lib/aspectjrt.jar" 应用程序

我的生产服务器中有 websphere 应用程序服务器,当我尝试上述 vm 参数时,我的加载时间编织没有发生。

我需要有关如何在 web sphere 中为“$CLASSPATH:code:ResponseTime.jar”设置类路径的帮助..

【问题讨论】:

标签: java websphere classpath aop aspectj


【解决方案1】:

尝试将以下内容添加到通用 JVM 参数中(Servers->Server Types->WebSphere Application servers->(selected server)->Java and process management->Process definition->Java virtual machine):

-javaagent:/full/path/to/aspectweaver.jar

这将使用 WebSphere 中内置的 ascpectj 编译器。如果您的 ascpectj 编译器较新,请尝试使用using Aspectj on Websphere 中描述的过程

【讨论】:

  • 感谢@Miljenko。如果我错了,请纠正我。 -javaagent 应该是 agentweaver 而不是 ResponseTime.jar .. 我用来创建 ResponseTime.jar 的命令如下... ajc -source 1.7 ExecuitonTimeAspect.java -outxml -outjar ResponseTime.jar
  • 现在明白了,是的,您必须提供 aspectjweaver.jar 的完整路径,并且 ResponseTime.jar 是作为您的企业应用程序一部分的检测 JAR。
  • 别忘了更新你的答案,@Miljenko 进行更正
  • @Miljenko - 我现在无法将 ResponseTime.jar 添加到企业应用程序中。我需要在应用程序外部添加这个 jar。出于这个原因,我询问了 websphere 的类路径。在普通桌面中,您将使用以下命令执行它 java -javaagent:C:\\aspectj1.7\lib\aspectjweaver.jar -cp ".;code;Demo2.jar; C:\\aspectj1.7\lib\aspectjrt.jar" Main
【解决方案2】:
  1. 使用管理员用户登录 WebSphere 管理控制台
  2. 按照以下步骤更新服务器的 ClassPath 和 VM 参数

一个。选择服务器 -> 服务器类型 -> WebSphere Application Server -> 资源 -> Java 和流程管理 -> 流程定义

c 将 Aspectj jar 的绝对路径添加到类路径文本区域窗口 。罐 aspectjweaver.jar aspectjrt.jar

d。将以下注释添加到通用 JVM 参数选项卡中 -javaagent:aspectjweaver.jar -Dorg.aspectj.weaver.Dump.exception=false -

【讨论】:

    猜你喜欢
    • 2020-12-13
    • 2011-10-26
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 2011-11-30
    • 1970-01-01
    相关资源
    最近更新 更多