Java Message Queue Setup
Version 8.0.0.490
Setup
Instructions for Java Message Queue For certain configurations, EIQ RTIS requires a Message
Queue. This document describes the Java Message Queue and how to set it up for
real-time updates from EIQ RTIS. The Java Message Queue can be installed on any available
server. The generated “.bindings” file must be copied
to the computer running EIQ RTIS and placed in the JMSConnectionFactory
folder. In a multiple server setup, the “.bindings”
file generated by the "Java Message Queue Administration Console"
must be copied to the JMSConnectionFactory folder for
the Database Server and EIQ RTIS computers when using the Trigger DLL
as shown in Figure 1. EIQ RTIS can be configured to both monitor the data
source for transaction logs to send the information to a queue and then monitor
that queue for messages. Figure 1: JMS Setup for a Multiple Server Installation
using the Trigger DLL. If the multiple server installation uses the EIQ RTIS,
the “.bindings” file must also be copied to the
computer running EIQ RTIS as shown in Figure 2. Figure 2: JMS Setup for a Multiple Server
Installation using EIQ RTIS. The setup shown in Figure 2 uses EIQ RTIS. It replaces
the database triggers and the Trigger DLL. Note:
Data source triggers are NOT the preferred method to capture changed
data in the real-time update process because they require installation on
data source systems and impose an operational overhead. EIQ RTIS is the
preferred method to read transaction, change, and redo logs. Install the Message Queue following the Sun Java System Message
Queue 3.5 SP1 Installation Guide. Then, perform the following steps for a
Windows or Unix installation: These are the steps to install JMS on a Windows based
system. Message Queue Server The following steps apply to the computer running the Java
Message Queue server. 1.
Using the "Sun Java System Message Queue
Administration Console", create an Object Store labeled "WhamTechMessages" with the following
Name/Value properties. Name: java.naming.factory.initial Value: com.sun.jndi.fscontext.RefFSContextFactory Name: java.naming.provider.url Value: file:///C:/Program
Files/WhamTech/JMSConnectionFactory 2.
Add a Connection Factory Object with the
following properties: Lookup Name: EIQQueueConnectionFactory Factory Type: QueueConnectionFactory 3.
Add Destination Objects with the following
properties: Lookup Name: scott Destination Type: Queue Destination Name: scott “Lookup Name” is the value of the QueueParam in your database trigger. A Destination Object must be created
for each trigger with a unique QueueParam value. 4.
Optionally, you can add the Destinations to the
Broker Destinations. EIQ RTIS The following steps apply to the computer running EIQ RTIS. Environment Variables: You must manually add the path of the installed jvm.dll file
to the Path variable in the System variables section of the Environment
Variables dialog as follows: C:\Program Files\Whamtech\bin\java\jre\bin\client This path is created assuming you installed the EIQ Server
Suite on drive C in the default folder \Program Files\Whamtech. Registry Additions: A new key needs to be added as a sub key to WhamTech under
HKEY_LOCAL_MACHINE as follows: (\HKEY_LOCAL_MACHINE\SOFTWARE\WhamTech\JMS) WhamTech JMS With the following Name, Type and Data values: Name: BindingsFolder Type: REG_SZ Data: file:///Installation
Path/WhamTech/JMSConnectionFactory Name: ClassPath Type: REG_SZ Data: Installation folder\WhamTech\bin\Java; Installation folder\WhamTech\bin\Java\jms.jar; Installation folder\WhamTech\bin\Java\imq.jar; Installation folder\WhamTech\bin\Java\fscontext.jar; Installation folder\WhamTech\bin\Java\providerutil.jar Installation folder is the installed folder, for
example "C:/Program Files". The path specified for the BindingsFolder key is where you copy the “.bindings”
file generated by the “Java Message Queue Administration Console”. The queue type must also be added to the registry under the
following HKEY_LOCAL_MACHINE\SOFTWARE\WhamTech keys: xpWhamTx xpWhamTxOra Name: QueueType Type: REG_DWORD Data: 0 or 1 Where: 0 - sends message to the
MSMQ queue on the specified server 1 - sends message to the
JMS queue using the .bindings file 1.
Using the "Sun Java System Message Queue Administration
Console", create an Object Store labeled "WhamTechMessages"
with the following Name/Value properties. Name: java.naming.factory.initial Value: com.sun.jndi.fscontext.RefFSContextFactory Name: java.naming.provider.url Value: file:///usr/whamtech/JMSConnectionFactory 2.
Add a Connection Factory Object with the
following properties: Lookup Name: EIQQueueConnectionFactory Factory Type: QueueConnectionFactory 3.
Add Destination Objects with the following
properties: Lookup Name: scott Destination Type: Queue Destination Name: scott “Lookup Name” is the value of the QueueParam in your database trigger. A Destination Object must be
created for each trigger with a unique QueueParam
value. 4.
Optionally, you can add the Destinations to the
Broker Destinations. Unix Directory Structure: You should use the following Unix directory structure: WhamTech structure: /usr/whamtech/bin - libwhamtxora.so (Oracle extended procedure) /usr/whamtech/bin - trigger.cfg
(configuration file used by libwhamtxora.so) ..jre/lib/ext - whamtech.jar (java JMS code) /usr/whamtech/JMSConnectionFactory - .bindings The whamtech.jar file must be an installed
extension. Place this file in the JRE's lib/ext
directory. Note: The Unix substitute for the
Windows registry is to read the configuration information from a file. This
file is trigger.cfg and it must be
placed in /usr/whamtech/bin
because this path is hard coded in the shared library, “libwhamtxora.so”. Changes to user .profile: Basically, the PATH statement needs to include directories
that contain common java and JMS components like the following: PATH=.:/usr/bin:/usr/lib:/usr/share/lib:/usr/ucb:/etc:/user/local/bin:/usr/sfw/bin: /opt/csw/bin:/export/home/local/bin:/usr/dt/bin export PATH The CLASSPATH statement should contain the paths to the
following message queuing JMS jar files: CLASSPATH=.:/usr/share/lib/jms.jar:/usr/share/lib/imq.jar:/usr/share/lib/fscontext.jar export CLASSPATH The LD_LIBRARY_PATH statement should contain the location
for the jre and the libwhamtxora.so file. LD_LIBRARY_PATH=/usr/jdk/instances/jdk1.5.0/jre/lib/i386/client:/usr/whamtech/bin export LD_LIBRARY_PATH Changes to Oracle .profile: The Oracle .profile must include
the following entries. CLASSPATH=.:/usr/share/lib/jms.jar:/usr/share/lib/imq.jar:/usr/share/lib/fscontext.jar export CLASSPATH LD_LIBRARY_PATH=/usr/jdk/instances/jdk1.5.0/jre/lib/i386/client export LD_LIBRARY_PATH Changes to Oracle .ora
files: The following highlighted changes are required to the “listener.ora” and “tnsnames.ora”
files. listener.ora LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = SunRay)(PORT = 1521)) ) ) ) SID_LIST_LISTENER = (SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /export/home/oracle/OraHome_1)
(PROGRAM = extproc)
(ENVS="EXTPROC_DLLS=ANY")
) (SID_DESC
=
(GLOBAL_DBNAME = wham.corp.whamtech.com)
(ORACLE_HOME = /export/home/oracle/OraHome_1)
(SID_NAME = wham) ) ) tnsnames.ora EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)(PRESENTATION = RO)
) ) Setting up JMS
Setup Instructions for Java
Message Queue
Windows Installation
Unix Installation
Copyright
© 2023 , WhamTech, Inc. All rights reserved. This document is
provided for information purposes only and the contents hereof are subject to
change without notice. Names may be trademarks of their respective owners.