This is an initial brainstorm of potential MBeans for QFJ. Although Spring has some great JMX-related features, I (~admin) would like to support JMX functionality independent of Spring. This will require a bit more work on our part since Spring does some of the JMX adaptation automatically. Java 5 supports JMX in the JVM, but we can also support JMX in Java 1.4 using MX4J. However, we'll want to be careful about not using any nonstandard MX4J capabilities so that MX4J is not required when running with Java 5.
- MBean: FIX Session
- Attributes
- BeginString (r)
- SenderCompID (r)
- TargetCompID (r)
- IncomingMessageCount (r)
- OutgoingMessageCount (r)
- NextSenderMsgSeqNum (r/w)
- NextTargetMsgSeqNum (r/w)
- Host (r)
- Connector (MBean ID) (r)
- IsLoggedOn (r)
- Operations
- MBean: Socket Session Connector
- Attributes
- Role (acceptor/initiator) (r)
- Host (r)
- Port (r)
- Thread Model (r)
- ConnectedSessions
- IncomingMessageCount (r)
- OutgoingMessageCount (r)
- Operations
- stop
- disconnect(sessionID)
We can also provide access to at least some of the existing
MINA JMX capabilities.
I'm (~admin) am thinking that the two MBeans types would be a good first start. It might also be useful to have an interface for QueryCapableMessageLog that would allow retrieval of logged messages and events for display on a management console.