【问题标题】:AspectJ based logging and profiling in Richfaces / JSFRichfaces / JSF 中基于 AspectJ 的日志记录和分析
【发布时间】:2012-11-30 13:01:28
【问题描述】:

我正在尝试使用 AOP 和 Aspect J 为基于 Richfaces 的 JSF 应用程序创建一个记录器/分析器。
我对此有一些疑问。
1. 有可能吗?
2. 我会遇到 AOP 代理问题还是必须创建自定义代理?
3. 有人用过 JBoss - AOP 吗?对 JSF 来说会是更好的选择吗?

谢谢! SKR

【问题讨论】:

  • 您至少尝试过什么吗?
  • 是的。我遇到了 JSF Bean 的 AOP 代理问题。 AOP 代理无法捕获对 JSF Bean 方法的调用。

标签: jsf richfaces aop aspectj


【解决方案1】:

您正在寻找单个用例,而我在处理多个用例尤其是为了减少我最新项目的源代码库时……我发现了面向方面编程形式的闪亮东西 -> Java 世界中的 AspectJ。

你可以在这里找到非常好的文章:http://www.yegor256.com/2014/06/01/aop-aspectj-java-method-logging.html

您可以使用自定义注释来实现该行为,或者只是将其硬链接到您的应用程序中,因此您无需在代码中指定任何内容,并且每个事件都将使用特定行为自动记录(记录有/无数据等) .).

另一个很好的例子是:http://www.baeldung.com/spring-performance-logging

只需添加,就像您记录事件一样,您可以在错误处理程序的情况下创建 AspectJ 自动记录。

不仅如此,您还可以在整个应用程序中以完全通用的方式以统一的方式处理所有错误,而无需在错误/事件处理程序中编写简单的代码行...

注意:不要重新发明轮子,因此请看这里,因为其他人收集了有用的 AOP,以便开箱即用地在您的项目中重用 :-)) 开源是很棒的社区:https://github.com/jcabi/jcabi-aspects

【讨论】:

  • 感谢 Kensai! jcabi 看起来很有希望。
【解决方案2】:

是的,这是可能的!您可以找到方法,详细信息here

感谢和快乐编码!

【讨论】:

  • 谢谢萨扎杜尔!!我会尽力让你知道。
  • 对不起 Sazzadur,这个例子对我没有帮助。 JSF 方法仍然逃避代理。这些事件没有被代理捕获,因此 AOP 没有帮助。
猜你喜欢
  • 2013-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-15
相关资源
最近更新 更多