我们已经开始使用spring aop来实现我们应用程序的交叉切割(目前的安全性和缓存).
我的经理担心这项技术对性能的影响,尽管他完全理解这些技术带来的好处.
我的问题,您是否遇到过使用aop(特别是spring aop)引入的性能问题?
在我的服务中,所有暴露方法都有:
try
{
// the method core is written here
}
catch(Exception ex)
{
Log.Append(ex);
}
Run Code Online (Sandbox Code Playgroud)
一遍又一遍地重复它是无聊和丑陋的.有什么办法可以避免吗?有没有更好的方法来保持服务正常工作,即使发生异常并继续向Log类发送异常详细信息?
我一直在与一家公司合作,该公司在当前的项目中必须实施一项策略,即在代码 (JAVA) 中编写大量跟踪日志,该策略已经完成了一段时间。
我试图避免更改每个方法只是为了在所有方法上编写 logger.log('desired values') 之类的代码行。它只是适得其反。
有没有一种通用的方法来记录方法名称,它接收到的参数,而无需更改大部分代码?我一直在研究注释和类似的东西,但是有很多具有不同参数的方法,所以我无法想出一个好的解决方案。
编辑 1:该项目正在 eclipse 上开发。我正在使用 Liferay 和 JBoss 对门户进行一些更改。
编辑 2:我遵循了此处提供的解决方案并使用了拦截器。我必须对现有方法做的唯一更改是向它们添加注释,这是完全可以接受的。有关更多信息,请在此链接中搜索:http : //docs.oracle.com/javaee/6/tutorial/doc/gkeed.html