【问题标题】:Client-side AOP options for GWT appsGWT 应用程序的客户端 AOP 选项
【发布时间】:2012-10-05 08:41:21
【问题描述】:

如果能够定义我自己的方法拦截器(建议)并将它们编织到我的客户端 GWT 方法中,并让 GWT 与我的应用程序的其余部分一起自动将它们编译成 JavaScript,那就太好了。

我查看了gwt-ent,但它看起来自 2009 年以来没有得到稳固的发展,并且存在很多问题。我也听说过gwt-tiny-aop,但听说非常有限。

我还有其他选择吗?我知道 AOP 需要动态字节码生成,这反过来又需要大量反射,而且 GWT 不包含很多支持(并且似乎不鼓励)反射的做法,但我想知道是否有任何稳定的、众所周知的用于 GWT 的 AOP 库。至少我可以用来编写类似 AOP 联盟的拦截器:

public class MyInterceptor implements MethodInterceptor {
    @Override
    public void onIntercept(MethodInvocation mi) {
        // Do some stuff...

        // Let the method execute
        Object results = mi.proceed();

        // Analyze results...

        // Returns results
        return results;
}

【问题讨论】:

  • 为什么不使用 javascript(封装在 JSNI 中)来模拟这种行为?
  • 可能是dotvoid 之类的东西?不错的主意...绝对是候选人,但如果可能的话,仍然更喜欢 Java 解决方案
  • 要将 AOP 与 GWT 一起使用,您必须先对源代码进行处理,然后再将其提供给 GWT,而不是处理字节码。
  • 谢谢@ThomasBroyer (+1) - 你能解释一下你所说的“按摩源代码”是什么意思,或者提供一个代码示例吗?再次感谢!
  • 我的意思是用拦截器合并到原始方法中创建新源。然后,您可以将这些增强的源代码传递给 GWT 编译器。

标签: java gwt aop


【解决方案1】:

【讨论】:

  • @IAmYourFaja:这是所有涉及或依赖于 GWT 客户端代码上的 Reflexion API 的答案......相信我,除了生成器之外没有其他办法。
猜你喜欢
  • 2011-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多