The purpose of the Q2F (Queue to File) transfer application is to provide a reliable mechanism for writing incoming WebSphere MessageQ data to files for later processing by some other service. Care has been taken in the development of this product to ensure that the incoming message data is not lost in the event of a system failure.
The diagram shown below, illustrates a typical use of the Q2F application:
The Q2F application is delivered in two versions on the disc; it can be included with the WMQ Client and WMQ Server bindings. This enables the user to deploy the product to a machine that has the WMQ Message Service already installed or to a machine where WMQ is not installed; and the WMQ Remote Client connection will be used to provide the messaging service.
The following are a few of the main features of the Q2F application:
- Messages are first ‘browsed’ on the assigned WMQ Queue. After they are logged and written to the final file, the message will be destructively read in an attempt to prevent that same message being re-written to a file. We cannot prevent system failures but this mechanism should enable the recovery of the data in the event of a major system failure.
- Message contents are written to the log file prior to file creation, insuring an audit trail for recovery.
- Filenames are created from the time and date to insure that no message contents are lost by overwriting a file. Q2F utilizes two directories (specified on the command line) in processing the incoming messages. Q2F writes the message to the local directory and then renames the file into the final directory. This allows the message consumer to monitor a single directory and be assured that the file is complete when it appears in the final directory. It is the responsibility of the consuming application to remove message file from the final directory when it has completed processing.
- It is possible for many messages to arrive on the queue (serviced by Q2F) within the span of one second; and therefore, this event would cause the files to have exactly the same name, since it is based on the date/time. In order to prevent this issue, the Q2F application will check the directory prior to creating a new file and if the file already exists, it will create a new file with a different file extension. Q2F creates the filename from the time of day and adds an extension to differentiate messages received within the same second. Thus 20060728115704.R0001 contains the first message processed on 28-July-2006 11:57:04 and 20060728115704.R0002 contains the second message processed at that time. Q2F can accommodate 9999 messages which are processed within the same second.
- Q2F_c uses a WebSphere MessageQ Client connection to access its single input queue, while Q2F utilizes the local WMQ Server.
- Q2F runs as a daemon and is started by as a system service.
- Q2F has been tested on Windows, Linux, HP_UX, HP_UX11i, Solaris 8 and Solaris 9 with WebSphere MessageQ V5.3-V6.0
The Q2F application is supplied in two forms:
- Using the WebSphere MessageQ Client facility
- Using the local binding to the WebSphere MessageQ Server