I'm using JBoss AS 4.0.5, and have a @Service bean that, when called from a client, queues units of work that are forwarded to a @Stateless bean from a timer loop. The @Stateless bean then spends a lot of time working.
When profiling the server (using yourkit), no matter how much CPU time the @Stateless bean spends on the work unit, more CPU time is spent in org.jboss.remoting.transport.socket.ServerSocketWrapper.checkConnection() (more specifically, all of the time is in ObjectInputStream.readByte()). The @Stateless bean makes occasional calls to other @Stateless and @Service beans in the same JBoss instance/JVM, but makes no network calls.
I've googled and searched the forums and haven't found anything that helps explain the purpose of the checkConnection() calls. Is there anything I can do to eliminate them, or at least reduce the load they are causing on my server?
Ask in the remoting forum.