我想在我的服务器上添加带宽测量值(用纯java编写)。我在考虑一个看起来像
的APIMeasureBandwidthSignletone.getInstance().startMeasuring();
......
.....//here I may connect to a db or using http (HttpUrlConnection)...
.....
MeasureBandwidthSignletone.getInstance().endMeasuring();
问题是我有许多不同类型的代码访问网络(jdbc,HttpUrlConnection,FTP等等)我想知道我是否可以某种方式将一个threadlocal监视器附加到套接字,这将让我知道如何上传或下载了很多字节。
我知道有一种方法是使用ASM / AspectJ来更改字节代码 - 但是有没有更简单的方法来插入java套接字API?
谢谢
答案 0 :(得分:1)
如何设置定制的SocketFactoryImpl?那可以吗?
这也适用于特定版本的JVM。如果您知道要定位的是哪个版本,则可以创建此类的修改版本。
这对于通用JVM不起作用的原因是此类使用的内部API在版本之间可能不同,这就是字节代码注入更有可能适用于各种JVM的原因。