Supported Vendors and Configurations for JMS 1.1
To use third party JMS software in Sterling B2B Integrator, you must configure each vendor's software.
- You need to download and install the correct software jars for each vendor. For more information, see the Installing JMS Jar Files procedure later in this topic.
- You can view JMS pools created in Sterling B2B Integrator using
the JConsole tool. For more information, see the Running JConsole procedure
later in this topic.Important: Running JConsole is not mandatory for any JMS vendor.
JMS Vendor (Supported Versions) | JNDI | NON-JNDI | SSL |
---|---|---|---|
ActiveMQ |
Yes | Yes | Yes |
WebLogic |
Yes | No | Yes |
TIBCO EMS |
Yes | Yes | Yes |
JBOSS |
Yes | No | No |
SonicMQ |
Yes | Yes | No |
WebSphereMQ |
Yes | No | Yes |
Installing JMS Jar Files
- From the computer where the JMS server is installed, copy the jar file to a directory on your
local server. For example:
- The jar file for WebSphere MQ is
com.ibm.mq.jar
. - For ActiveMQ, copy jar files from <ActiveMQ Install Directory>/lib and <ActiveMQ Install
Directory>/lib/optional folder to your local computer directory. Remove the
slf4j-api
andjcl-over-slf4j
andlog4j
jar files.
- The jar file for WebSphere MQ is
- From the directory on your local server, copy the jar file to a directory on the host computer where Sterling B2B Integrator is installed.
- Stop Sterling B2B Integrator.
- From the bin directory of the Sterling B2B Integrator installation
directory, run one of the following commands. Use the JMS server version
number and path to the host computer directory where you copied the
jar file.
- (UNIX or Linux)
install3rdParty.sh ibm 5_3 - j directory/JMS jar file (JMS server as WebSphere MQ)
- (UNIX or Linux)
install3rdParty.sh activemq 5_15 - j directory/JMS jar file (JMS server as ActiveMQ)
- (Windows)
install3rdParty.cmd ibm 5_3 - j directory/JMS jar file (JMS server as WebSphere MQ)
- (Windows)
install3rdParty.cmd activemq 5_15 - j directory/JMS jar file (JMS server as ActiveMQ)
- (UNIX or Linux)
- For ActiveMQ, remove the
slf4j
,log4j
andjcl
jar files as it conflicts with the Sterling B2B Integrator version of these jar files. - For Active MQ, install the individual module jar files and not the
activemq-all
jar version. - Restart Sterling B2B Integrator.
Running JConsole
The JConsole tool uses
the JMX_PORT
property in the sandbox.cfg file to
view the pools created in Sterling B2B Integrator. To view
pools on cluster nodes, you must configure JMX_PORT
for
each node where you want to view pool details.
- Stop Sterling B2B Integrator.
- Open the properties directory of the installation directory of Sterling B2B Integrator.
- Open the
sandbox.cfg
file and add the following line:JMX_PORT=Any free port
- Save and close the
sandbox.cfg
file. - Navigate to the bin directory for your JDK file.
For example, C:\Program Files\Java\jdk1.6.0_14\bin.
- Double-click the
jconsole.exe
file.The JConsole screen is displayed.
- Click Remote Process.
- Enter the following text:
SI install host:JMX_PORT user name/Password:admin/Password
- Click Connect.
The Java X Console is displayed.
Running JConsole in OCP Setup
To support JMX monitoring, set the .Values.asi.jmxMonitoring.enabled
parameter to true and configure the JMX port using .Values.asi.jmxMonitoring.port
.
- Retrieve the IP address of the pod by its name:
kubectl get pod <pod-name> --template '.status.podIP'
- Add the pod IP address to the loopback interface:
sudo ip addr add <pod-ip>/32 dev lo
- Perform port forwarding to map the local port to the container port:
kubectl port-forward <pod-name> --address localhost,<pod-ip> <localport>:<jmxcontainerport>
Example:
-sh-4.2$ kubectl port-forward jana6203-b2bi-asi-server-0 --address localhost,<pod-ip>:32705 Forwarding from <pod-ip> -> 32705 Forwarding from 127.0.0.1:32705 -> 32705 Forwarding from [::1]:32705 -> 32705
- Navigate to the bin directory for your JDK file.
For example, C:\Program Files\Java\ibm-jdk1.8.\bin..
- Double-click the
jconsole.exe
file.The JConsole screen is displayed.
- Click Remote Process.
- Enter the following text:
SI install host:JMX_PORT user name/Password:admin/Password
- Click Connect.
The Java X Console is displayed.
- After completing JMX monitoring, remove the loopback IP address:
sudo ip addr delete <pod-ip>/32 dev lo
- Enable JMX Monitoring:
- Set
.Values.asi.jmxMonitoring.enabled
to true. - Configure the JMX monitoring port using
.Values.asi.jmxMonitoring.port
.
- Set
- Enable JMX authentication:
- Set
.Values.asi.jmxMonitoring.authentication.enabled
to true. - Configure the JMX authentication secret using
.Values.asi.jmxMonitoring.authentication.secretName
.
- Set
- Create the Secret:
The secret should contain both the access file and the password file as per JDK standards (
jmxremote.access
andjmxremote.password
).Example command:oc create secret generic <secret-name> --from-file=<key1>=<file-path1> --from-file=<key2>=<file-path2> oc create secret generic jmx-auth-secret --from-file=jmxremote.access=/home/janardha/JMX/jmxremote.access --from- file=jmxremote.password=/home/janardha/JMX/jmxremote.password
- In JConsole:
- Follow the steps in the To run JConsole section.
- Add username and password in the JConsole: New Connection pop-up.
- Use the role or user and password configured in the secret to authenticate or log in.
- Configure the JMX monitoring port:
.Values.asi.jmxMonitoring.port
- Enable JMX authentication:
Set
.Values.asi.jmxMonitoring.authentication.enabled
to true. - Enable SSL for JMX:
Set
.Values.asi.jmxMonitoring.ssl.enabled
to true. - Force client authentication:
Set
.Values.asi.jmxMonitoring.ssl.clientAuth
to true. - Configure the KeyStore and TrustStore using the following parameters:
.Values.asi.javaSecurity.keystoreSecret
.Values.asi.javaSecurity.truststoreSecret
- The KeyStoreSecret should contain:
keystore
: KeyStore filekeystore-password
: Password string for KeyStore filekey-password
: Password string for KeyStore key
Example command to create KeyStoreSecret:kubectl create secret generic java-keystore-secret \ --from-file=keystore=/home/janardha/JMX/jmxkeystore.p12 \ --from-literal=keystore-password="password" \ --from-literal=key-password="password"
- The TrustStoreSecret should contain:
truststore
: TrustStore filetruststore-password
: Password string for TrustStore file
Example command to create TrustStoreSecret:kubectl create secret generic java-truststore-secret \ --from-file=truststore=/home/janardha/JMX/jmxtruststore.p12 \ --from-literal=truststore-password="password"
- In Jconsole:
- To configure SSL KeyStore and TrustStore properties while launching JConsole, use the following command:
./jconsole -J-Djavax.net.ssl.keyStore=/path/to/keystore \ -J-Djavax.net.ssl.trustStore=/path/to/trustStore \ -J-Djavax.net.ssl.keyStorePassword=password \ -J-Djavax.net.ssl.trustStorePassword=password
- Follow the steps in the To run JConsole section.
- To configure SSL KeyStore and TrustStore properties while launching JConsole, use the following command: