JMS Access Module 13.0 Efix available

Connectivity
Connectivity covers the mechanisms for connecting to the Teradata Database, including driver connectivity via JDBC or ODBC.
Teradata Employee

JMS Access Module 13.0 Efix available

JMS Access Module is an interface between JMS Queues and the Teradata standalone load utilities such as FastLoad, MultiLoad, and Tpump. These utilities use the JAVA messaging services (javax.jms) application programming interface (API) to connect to queues / topics and feed data to load utilities through the Java Native Interface (JNI) because all standalone load utilities are C / C++ applications.

JMS AM has been tested with Application Servers such as:

  • IBM WebSphere MQ
  • BEA WebLogic servers
  • TIBCO EMS server

The Need for an Efix

PROBLEM:   

The installation of JMS Access Module (AM) puts the JAVA_HOME environment variable in a fixed location where Java is by default installed.  But if a user installs Java in a different location, or the libraries exist in a location other than the one in which Java resides, Java will not run.

SOLUTION: 

  • JAVA_HOME will not be set by install procedure.
  • A JRE check is performed as part of the installation procedure and a message is displayed indicating that installation was, or was not, successful.
  • A ReadMe file is supplied with the package and a message with the readme file location will be updated as part of the installation procedure.

 Contents of JMSAM

  • libjmsam.so: library for Teradata Access Module for JMS
  • jmsam.jar: JAR file for Teradata Access Module for JMS to read/send JMS Messages from/to a queue/topic.
  • jmsam_charsets.properties: Properties file for Teradata and Java Character Sets mapping.

System Requirements

  • JDK Version: JDK1.4 or above
  • JMS messaging system: IBM WebSphere MQ or BEA WebLogic JMS (both with JMS Version 1.1)

Loading JMSAM

To load JMSAM, set environment variables that are specific to the JMS-compliant message bus providers and Java Runtime Environment.

These are shown below by configuration.

Unix Configuration

1. Set local variables JAVA_HOME, JAVA_LIB, MQ_JARS.

  • Set JAVA_HOME to J2SE SDK installation directory.
  • Set JAVA_LIB to Java Runtime Environment library.
  • Set MQ_JARS to directory containing JMS-compliant message bus provider's .jar files

Application Server specific jar files are:

  • IBM WebSphere MQ: jms.jar, jndi.jar, provider.jar, fscontext.jarconnector.jar, com.ibm.mq.jar, com.ibm.mqjms.jar, jta.jar
  • BEA WebLogic: weblogic.jar

Example:

JAVA_HOME=/usr/java (Solaris)
JAVA_HOME=/opt/java1.4 (HP-UX)

JAVA_LIB=$JAVA_HOME/jre/lib/sparc (Solaris)
JAVA_LIB=$JAVA_HOME/jre/lib/PA_RISC2.0 (HP-UX)

MQ_JAVA=/opt/mqm/java/lib
MQ_JARS=$MQ_JAVA/jms.jar:$MQ_JAVA/jndi.jar:$MQ_JAVA/providerutil.jar:
$MQ_JAVA/fscontext.jar:$MQ_JAVA/connector.jar:$MQ_JAVA/com.ibm.mq.jar:
$MQ_JAVA/com.ibm.mqjms.jar:$MQ_JAVA/jta.jar

 

2. Set CLASSPATH to the directory containing: 

  • jmsam_charsets.properties
  • jmsam.jar
  • any JMS-compliant messaging library classes

Example:

JMSAM_CLASSPATH=/opt/teradata/client/jmsaxsmod:/opt/teradata/client/jmsaxsmod/jmsam.jar
export CLASSPATH=$JMSAM_CLASSPATH:$MQ_JARS:$CLASSPATH

 

3. Set LD_LIBRARY_PATH to the directory containing: 

  • libjvm.so
  • libjva.so
  • libverify.so
  • libhpi.so

Example

export   LD_LIBRARY_PATH=$JAVA_LIB:$JAVA_LIB/server:$JAVA_LIB/native_threads:$LD_LIBRARY_PATH

 

4. For HP-UX PA-RISC and JDK 1.4 version only

  • Set LD_PRELOAD to load a shared library that contains thread-local storage at startup.
  • Once you are done working with Access Module for JMS, unset environment variable LD_PRELOAD.

Example:

export LD_PRELOAD=$JAVA_LIB/libjava.sl:$JAVA_LIB/libverify.sl:$JAVA_LIB/server/libjvm.sl:$JAVA_LIB/native_threads/libhpi.sl:$LD_PRELOAD

Windows Configuration

1. Set environment variable PATH to installed jre directory where jvm.dll exists.

set PATH=c:\jdk\jre\bin;%PATH%
set PATH=c:\jdk\jre\bin\client;%PATH%

2. Set environment variable CLASSPATH to jmsaxsmod install directory, jmsam.jar and weblogic.jar.

set CLASSPATH=c:\Program Files\Common Files\Teradata\JMSAXSMOD;%CLASSPATH%
set CLASSPATH=c:\Program Files\Common Files\Teradata\JMSAXSMOD\jmsam.jar;%CLASSPATH%
set CLASSPATH=c:\bea\weblogic81\server\lib\weblogic.jar;%CLASSPATH%