Vertx.io – 如何获得单个http连接的请求数?
为了统计的目的,我想统计一个Http连接上有多less个请求(在一个打开的套接字上有多less个保持活动的请求)。
在node.js中,我可以访问请求和响应对象中的“套接字”,并且可以dynamic地添加一个字段,例如“请求”并将其递增。 我还可以附加'套接字closures'处理程序,然后logging'请求'字段到系统日志,并得到在石墨平均1分钟。
这可能与vertx.io? 我不能findHttpRequest和HttpResponse类中的套接字字段。
没有简单的方法来做到这一点。
你可能会做一个破解: HttpServerRequest
实际上是org.vertx.java.core.http.impl.DefaultHttpServerRequest
一个实例,它具有私有的ServerConnection conn
字段。 这个字段可以通过reflection访问,例如这里描述的: http : //tutorials.jenkov.com/java-reflection/private-fields-and-methods.html 。 请求计数可以通过创build一个连接到整数的映射来实现。
这个破解对于testing目的来说已经足够了,但是由于内存泄漏,我不会在生产环境中工作。 将这个function添加到ServerConnection
类的handleMessage
方法中并通过JMX公开它会更好。