当前位置: 首页 > 知识库问答 >
问题:

让LTW在Webapp中工作的诀窍是什么?

云镜
2023-03-14

我想能够使用Spring

以下是方面代码:

@SuppressWarnings("unused")
public aspect ProjectMonitor{

    pointcut constr() :  call(com.avaya..*.new(..)) ;
    Object around() : constr(){
        System.out.println("In Constructor for "
                + thisJoinPointStaticPart.getSignature());
        Object ret = proceed();
        return ret;
    }

    pointcut publicOperation() : execution(public * *.*(..));
    Object around() : publicOperation() {
        long start = System.nanoTime();
        Object ret = proceed();
        long end = System.nanoTime();
        System.out.println(thisJoinPointStaticPart.getSignature() + " took "
                + (end - start) + " nanoseconds");
        return ret;
    }

    pointcut callConst() : call(public *..*SCESession.new(..));
    public Object callConst(ProceedingJoinPoint jp) throws Throwable {
        System.out.println("In Project Monitor!!!");
        return jp.proceed();
    }


}

我已经包括了一个aop。web app/META-INF文件夹中的xml文件:

<aspectj>
    <aspects>
        <aspect name="com.ddvc.ivr.ProjectMonitor" />
    </aspects>
</aspectj>

我的Spring Context文件看起来是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">


    <context:load-time-weaver aspectj-weaving="on" />
    <context:spring-configured />
    <context:component-scan base-package="com.avaya.sce.runtimecommon"/>
    <context:annotation-config />
    <aop:aspectj-autoproxy />

    <!-- Aspect Mapping -->

    <bean id="monitor" class="com.ddvc.ivr.ProjectMonitor" factory-method="aspectOf"/>

</beans>

很简单吧?我甚至有一个-javaagent集:

export JAVA_OPTS="-Xmx1024M -Xms1024M -server -javaagent:/software/apache-tomcat-6.0.36/lib/spring-instrument-3.2.1.RELEASE.jar"    

当源代码使用WAR文件编译时,为什么会这样做,但当它作为JAR文件包含在类路径中时,它根本不起作用。

在重新加载WAR上下文文件时,我多次在tomcat日志文件中看到以下内容:

11: 27:51285调试GenericTypeResolver:151-使用具体的方法参数[{}],解析[公共静态org.springframework.beans.factory.aspectj.AnnotationBeanConfigurerAspect org.springframework.beans.factory.aspectf()]的返回类型。

感谢所有回复!提前谢谢Griff

共有1个答案

白吕恭
2023-03-14

愚蠢的错误耗费时间和金钱。我包括了aop。WAR文件/META-INF文件夹中的xml,而不是包含的JAR文件。移动aop。JAR文件中的xml文件修复了问题,duh!

 类似资料:
  • 映射器调用: 任何帮助都很感激。

  • 如果你在与用人单位探讨薪金之前有了充分的准备,在面试中,你就可能谈出自己满意的薪金。以下是出国留学网小编整理的面试谈薪水的成功诀窍,欢迎参考,更多详细内容请点击出国留学网查看。 知己知彼 如果你在与用人单位探讨薪金之前有了充分的准备,在面试中,你就可能谈出自己满意的薪金。 一家外资的数码公司招聘一名技术开发人员,在面试时考官直接对前来求职的小佟说:“你应聘我公司的那个职位,按照我们公司的薪金制度,

  • 我一直得到这个错误与我的SQL:我的SQL是正确的,它的工作在控制台中,但不是在python文件中。我认为错误是在参数中,因为代码似乎工作,就在参数之后,我的打印(完成)不打印:)但我看不到它:/ 这是我的代码(顺便说一句,我在数据库中使用全局变量g,它在我的其他函数中工作):

  • 我试图让J3D在Eclipse中工作,并且阅读了一个又一个论坛,但似乎无法解决我的问题。我用的是Ubuntu11.10 我做到了: 0)解压home/j3d目录中的j3d-1_5_2-linux-i586,然后将i386文件夹添加到usr/lib/jvm/java-6-openjdkjre/lib/i386 线程“main”java.lang.unsatisfiedlinkerror:/usr/l

  • 问题内容: 注意:我正在使用virtualenvwrapper。 激活虚拟环境之前: 激活虚拟环境后: 问题答案: 您可能已经在系统上安装了lxml,可能是由于系统软件包而安装的。因此,第一次尝试(没有活动的virtualenv)不会失败,但是也不会安装它。它真的什么也没做。 在virtualenv中,默认情况下,系统软件包将被忽略。因此,pip认为未安装lxml。因此,它将尝试将其安装到您的虚拟

  • 问题内容: 好的,所以我下载了Go 1.1,并将其放入$ HOME / Documents / go。 然后,我将我修改为: 比起我,我已经尝试了: 但是我无法编译或安装任何依赖项。例如。我尝试运行我的小测试程序: 当我尝试安装依赖项时: 它可以在Mac上编译并正常工作。如果我尝试删除配置或什么都行不通,并且我不知道将它们设置为什么,除了Go的路径,我无法弄清楚我的配置有什么问题。 编辑:我的Ma