我正在尝试构建一个自定义性能度量库,用户可以使用该库来度量应用程序中任何方法的性能。我的目标是在不改变用户应用程序的现有Java代码的情况下实现这一目标。
库将使用MethodInterceptor实现作为衡量性能的建议。来自用户的唯一输入将是他/她选择的切入点表达式,而不是其他的。使用提供的切入点表达式,我的库将能够拦截匹配方法调用来度量性能。
简单地说,用户将只配置如下所示的spring:
<bean id="configBean" class="com.something.PointCutConfigBean">
    <property name="patterns">
        <list>
            <value>"execution(* com.company.CustomerDao.addCustomer(..))"</value>
        </list>
    </property>
</bean>我的问题是如何在我的图书馆实现这一点?如何实现PointCutConfigBean类?我可以使用spring 2和aspectj。
我知道,如果用户只编写一个普通的<aop:config并使用我的建议,也可以实现同样的目标。但如果可能的话,我只是在寻找更酷的东西。
发布于 2015-09-21 07:09:17
在回顾了可能的方法之后,我认为@M.Deinum的评论对我的决定有最有价值的观点。最后,我决定只使用<aop:advisor advice-ref="..." pointcut="execution(..路线。
如果有人有其他观点,请分享。
发布于 2015-09-16 18:51:42
这是个好问题!
为什么不创建一个注释,以便在需要的情况下标记方法或字段,并编写一个可以得到注释的方面。Class.getAnnotations(),如果您的注释存在,那么运行您的代码?
https://stackoverflow.com/questions/32616015
复制相似问题