我正在尝试构建一个自定义性能测量库,用户可以使用它来测量应用程序中任何方法的性能。我的目标是在不改变用户应用程序的现有Java代码的情况下实现这一目标。
该库将使用MethodInterceptor
实现作为衡量性能的建议。 来自用户的唯一输入是他/她选择的切入点表达,没有别的。使用提供的切入点表达式,我的库将能够拦截匹配的方法调用以测量性能。
简而言之,用户只能在spring xml中配置如下:
<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
并使用我的建议,那么同样的事情就可以实现。但是,如果可能的话,我只是在寻找更酷的东西。
答案 0 :(得分:0)
这是一个很好的问题!
如果需要,为什么不为标记方法或字段创建注释,并编写可以获取注释的方面。 Class.getAnnotations(),如果你的注释存在,你运行代码吗?
答案 1 :(得分:0)
在审查了可能的方法后,我认为@ M.Deinum的评论对我的决定有最有价值的观点。最后,我结束了仅使用pstmt.setString(1,"01-2015");
路线。
如果有人有任何其他观点,请分享。