Neoview Database Administrator's Guide (R2.2)
B JMS Info
Reading Data From a JMS Queue
In addition to reading input from flat files and named pipes, the Gelserver on the Linux platform
has been enhanced to read input data from a Java Message System (JMS) queue and load this
data into target tables on the Neoview platform. This capability is integrated into the client
application for the Gelserver, and the Gelserver application is the consumer of each JMS message.
The JMS messages that the application receives must be in the same text format that is required
when loading data using files or named pipes.
These components are used to support JMS:
• GEL JMS Consumer, a new Gelserver process on the Linux platform that runs as a JBOSS
application and reads data from the JMS Queue
• JMS Producer, a JBOSS application that must be supplied by the customer, inputs the data
to be loaded into a JMS Queue
• JBOSS Application Server
• BEA JROCKIT JVM
After the GEL JMS Consumer reads the input data from the JMS Queue, the data is passed to a
Reader thread in the Gelserver, where it is processed the same as input from a flat file or named
pipe.
There can be multiple JMS Queues, and each JMS Queue has its own GEL JMS Consumer process.
The JMS message is expected to be well-formed and typically medium sized (a maximum of 4
to 6 KB or more depending on the type of data). The Gelserver client application performs all
necessary data conversions before passing the data on to the Neoview platform for inserts or
updates.
JMS Data Flow
JMS data flow involves these activities:
• When a JMS task starts, the Gelserver on the Linux platform loads the JMS Reader dll
(libgelqueuerdr.so).
• One Reader Thread is started for each JMS Queue.
• One GEL JMS Consumer process is started by each Reader thread.
• The GEL JMS Consumer process executes the startGelJmsReader script.
• The GEL JMS Consumer uses the JBOSS JNP Server. The JBOSS JNP Server includes JNDI
services, which includes the requested JBOSS jar files in its classpath and specifies these
properties in the jndi.properties file:
— java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
— java.naming.provider.url=jnp://localhost:1099
— java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
The default port number for the JBOSS JNDI Server is set to 1099. If this value is changed, the
jndi.properties file must be updated accordingly.
JMS Queue Message Handling
JMS Queue message handling requires that:
• Each message in the JMS Queue is in the text format, as are messages for a flat file or named
pipe. The message can either be delimited or fixed-width.
• Messages are read from the JMS Queue asynchronously
Reading Data From a JMS Queue 143