QuickFIX/J provides FIX engine monitoring and control using standard Java JMX MBeans. See the Java 6 Monitoring and Management information for more details about JMX. Java 5 also includes built-in support for JMX. External libraries must be used with JDK 1.4 applications. However, this is an option feature so no changes to existing JDK 1.4 application are required if JMX is not desired.
acceptor = new SocketAcceptor (application, messageStoreFactory, settings, logFactory, messageFactory); JmxExporter jmxExporter = new JmxExporter(); ObjectName connectorObjectName = jmxExporter.register(acceptor); acceptor.start(); // Later... if you need to unregister the connector MBean // This should only be needed if you destroying connectors in // an application (not typical). jmxExporter.getMBeanServer().unregisterMBean(connectorObjectName);By default, the exporter will try to use the Java 5+ platform MBean server. You can also create an exporter for an
MBeanServercreated by the application.
Use Java 5, you must add the
property when running your QFJ application. This will enable a connector
included with Java 5 that will allow MBeans to be viewed in JConsole
(only on the local machine).
Java 1.4 applications must use a separate library to expose the QFJ MBeans. One very popular option is to use the MX4J library. MX4J includes standard RMI connector and several other options for exposing MBeans (including HTTP). See the MX4J documentation for more details.
The QFJ JMX Sesson MBean provides notifications related to state change events.
The JMX notification type is
quickfix.Session. The event names are shown
in the following table.
|connect||Socket connection associated with session|
|disconnect||Socket connection disassociated from session|
|logon||Session logged on|
|logout||Session logged out|
|missedHeartBeat||Missed heart beat (possible dead connection)|
|heartBeatTimeout||Second heartbeat missed|
|refresh||Session state refreshed from session store.|
|reset||Session state reset|
|VisualVM||Part of the JDK|
|MX4J||Open Source||Includes an HTTP adapter that can be embedded in your QFJ process and then accessed through a browser.|
|MC4J||Open Source||A management UI build on the NetBeans platform.|
|JManage||Open Source||A web-based management console with alerting and monitoring capabilities. It also provides a command line interface.|
|WebJMX||Open Source||JSP tag library|
|AdventNet||Commercial||See product site.|
|HP OpenView||Commercial||See product site.|