0

我的应用程序:我的(Tomcat BlazeDS)服务器上有 java 远程处理服务(超过 25 个),这些服务是从我的 Flex 客户端应用程序调用的。

我的要求:我需要收集有关它们的统计信息,例如每项服务花费的时间(总时间)。

在我看来,我可以通过三种方法来做到这一点(可能更多)

1)更改每个服务并在开始和结束时添加计时器。--- 不好的做法 2)我也可以使用 AOP,但我觉得它对于这个要求来说太过分了。--- over kill 3) servlet Filter。---- 不错的选择

   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.

谢谢你

4

3 回答 3

1

我找到了解决方案:

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

谢谢你

于 2009-10-17T15:54:56.630 回答
0

我在我的人口普查应用程序中使用 servlet 过滤器来执行此操作。您可以在 sourceforge 上找到过滤器代码

于 2009-10-08T13:42:37.037 回答
0

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

你用的是弹簧吗?如果是这样,用 AOP 做这件事就很容易了。

于 2009-10-09T15:26:02.550 回答