【问题标题】:Package JBoss AOP interceptors with business dependencies as a standalone application将具有业务依赖关系的 JBoss AOP 拦截器打包为独立应用程序
【发布时间】:2014-11-22 00:32:59
【问题描述】:

这是我的需求:

我有一个在 JBoss 5.1 上运行的 WebService 应用程序(使用 jboss-classloading 配置 export-all=NON_EMPTY 和 import-all=true)。 我想在上面添加一些拦截器,但我无法更改旧版 WS WAR。

我的问题是什么:

我设法开始使用一个简单的拦截器,该拦截器打包在一个 JAR 中,它基本上记录了旧版 WebService 上的每个调用。 但为了实现我的目标,我需要使用 JAR 依赖项,如 XML 解析器、业务对象等......

如何将我的 AOP 拦截器及其依赖项打包到一个文件中?

我的尝试:

在 WAR 包中,我必须使用类似的 jboss-classloading 策略来避免冲突,但在这种情况下,除了 WAR 本身的类之外,我无法拦截任何其他内容,因此无法拦截遗留的 WS 调用.

PS:我已经做好了让 JBoss AOP 正常工作的所有基础知识:

  • pluggable-instrument.jar 在 bin 文件夹中
  • run.conf 与-javaagent:pluggable-instrumentor.jar
  • aop.xml 启用 loadTimeWeaving 并包含定义的包
  • jboss-aop.xml 具有有效的切入点配置(我想要在我的包中)

【问题讨论】:

    标签: java maven jboss aop


    【解决方案1】:

    目前我通过构建 SAR 包(JBoss Service Archive)找到了解决方案。

    SAR 文件如下所示:

    aop-interceptors.sar

    • 元信息/jboss-service.xml
    • aop-interceptors.jar
      • 元信息/jboss-aop.xml
      • com.mypackage.aop.interceptors...
      • com.mypackage.aop.handlers...
      • com.mypackage.aop.business.logic...
    • xml-parsers.jar
    • business-objects.jar
    • ...

    SAR 文件部署在文件夹:jboss-5.1/server/default/deployers/jboss-aop-jboss5.deployer/

    我不知道 SAR 包应该做什么...有更好的方法吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-07
      • 2012-12-07
      • 2014-06-25
      • 2021-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多