Blazeds服务时间统计

时间:2009-10-08 02:45:25

标签: flex flex3 blazeds

我的申请:       我在我的(Tomcat BlazeDS)服务器上有从我的Flex客户端应用程序调用的Java远程服务(超过25个)。

我的要求:  我需要收集他们的统计数据,比如每项服务花费的时间(总时间)。

我认为有三种方法可以做到这一点(可能更多)

1)更改每个服务并在开始和结束时添加计时器。 ---不好的做法 2)我也可以使用AOP,但我觉得这个要求过度杀人。 ---过度杀戮 3)servlet过滤器。 ----很好的选择

   I really like option three but I am not sure how to do this with BlazeDS. Can it be done and if so any example/direction would be great.

谢谢

3 个答案:

答案 0 :(得分:1)

我找到了解决方案:

我扩展了JavaAdaptor,在调用方法中,我可以获得目的地名称和总时间。

谢谢

答案 1 :(得分:0)

我使用servlet过滤器在我的Census app中执行此操作。您可以找到过滤器code on sourceforge

答案 2 :(得分:0)

为了使用ServletFilter,它需要将原始HTTP请求内容从AMF反序列化为Java对象图。如果您可以在图中找到AsyncMessage的实例,则可以检查其“目标”属性,该属性直接映射到相关服务。看起来您可以使用BlazeDS API中的MessageDeserializer来执行此操作,但它也依赖于其他一些对象。

你在使用Spring吗?如果是这样的话,用AOP做这件事很容易。