Do you need to sniff it or deploy a custom factory socket on a client or server?
In the past, I created my own RMI factory server socket, which created a tee in the stream that the RMI service was reading. Since the RMI runtime usually reads one of the threads, my code also received a copy of JRMP for parsing. In my case, I registered remote calls, including their parameters in serialized form, so that I could βreplayβ them later to test the load. Enough to enable RMI logging options is not enough.
One problem is that the JRMP documentation is poor, and in some cases inaccurate. Another is that a lot of the necessary code is not part of the core Java API. It was complicated. I thought I understood RMI long before I started, but after this small project I was surprised how much more I had to study.
A similar approach can be applied to application data captured by Wireshark, but I never wrote an analyzer for Wireshark, and I'm not sure how complicated it is.
erickson
source share