Integration Server Docker Image with JDBC Adapter Connections of other environment

Hello all,

I have a development (DEV) environment configured with jdbc pools, global variables, etc. This DEV environment also have packages, which have JDBC adapter connections pointing to DEV environment database machines.

My main goal is to create a docker image of this environment full configured (with the jdbc pools, global variables, and others), but pointing to QA environment, so that I can run it and have a QA environment full configured and with the JDBC adapter connections pointing to QA databases.

I am able to create a docker image and to create the configuration variables properties (via MicroServices Runtime Administration).
I can change the configuration variable properties and run the image with
docker run -d --name MyIntegrationServer10_1 -p 4551:5555 -v /share/esb:/share/esb -e SAG_IS_CONFIG_PROPERTIES=/share/esb/customApplication.properties is:micro
, which assumes my DEV configurations.

The problem is that JDBC adapter connections are pointing to DEV. Does anyone knows how to change them to point to QA while creating a docker image?

I could create a new instance (instance2) and have the same JDBC adapter connections configured to QA environment (same packages). Then I could creating the image with the selected packages of instance2 that have the JDBC connections and obtain an image with JDBC connections of QA, but the problem here is that the passwords are not updated, and so I don’t see this way very practical.

Is there a pratical way to change the JDBC adapter connections while creating a docker image?

Best Regards,
David Pereira

Hi David,

As you already have JDBC Pools and JDBC Adapter connections defined in your image, you can update the required parameters using customApplication.properties file. You can have customApplicationQA.properties file that points to your QA env.

In addition, please note that you will need to have IS_10.1_Core_Fix9 and WAR_10.1_Fix3 installed as support for JDBC Adapter connection through configuration variables properties was added / updated with the above fixes.

Regards,
-Kalpesh.

Hello Kalpesh Shah,

Thank you for you feedback.
I have installed the IS_10.1_Core_Fix9.

Currently my customApplication.properties look like this:

#Sample Generated Template
#Sat Oct 05 05:07:59 BST 2019
jdbc.Isconn.dbURL=jdbc:wm:oracle://10.3.0.69:1521;serviceName=xe
jdbc.Isconn.password={AES}8Go8lboIUpz6z2AAQKlg5Q==
jdbc.Isconn.userid=wm_is
jdbc.MWS_DB_Conn.dbURL=jdbc:wm:oracle://10.3.0.69:1521;serviceName=xe
jdbc.MWS_DB_Conn.password={AES}TyK91zdUJHC1NMl+2oeqmw==
jdbc.MWS_DB_Conn.userid=wm_mws
jms.DEFAULT_IS_JMS_CONNECTION.clientID=DEFAULT_IS_JMS_CLIENT
jms.PE_NONTRANSACTIONAL_ALIAS.clientID=ISe2d22bbe_253e_45f0_a4d1_e720e66f046e
jndi.DEFAULT_IS_JNDI_PROVIDER.providerURL=nsp://10.3.0.49:9000
keystore.DEFAULT_IS_KEYSTORE.keyAlias.ssos.keyAliasPassword={AES}Y5IgMqjfvkgbg7p5VUZztw==
keystore.DEFAULT_IS_KEYSTORE.ksLocation=…/…/…/common/conf/keystore.jks
keystore.DEFAULT_IS_KEYSTORE.ksPassword={AES}Y5IgMqjfvkgbg7p5VUZztw==
keystore.IntegrationServer.keyAlias.1.keyAliasPassword={AES}Y5IgMqjfvkgbg7p5VUZztw==
keystore.IntegrationServer.ksLocation=/home/webmethods/integrationserver.pkcs12
keystore.IntegrationServer.ksPassword={AES}Y5IgMqjfvkgbg7p5VUZztw==
settings.watt.server.auth.samlResolver=http://10.3.0.68:8585/services/SAML
settings.watt.server.clientTimeout=11
settings.watt.server.compile=/opt/softwareag/jvm/jvm/bin/javac -classpath {0} -d {1} {2}
settings.watt.server.control.serverThreadThreshold=15
settings.watt.server.cors.allowedOrigins=*
settings.watt.server.cors.enabled=true
settings.watt.server.cors.exposedHeaders=Access-Control-Allow-Credentials,Access-Control-Allow-Headers,Access-Control-Allow-Methods,Access-Control-Allow-Origin,Allow
settings.watt.server.cors.maxAge=-1
settings.watt.server.cors.supportedHeaders=content-type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers,Authorization,sag-authentication-not-required,samlassertion,authorization
settings.watt.server.cors.supportedMethods=GET,POST,PUT,DELETE,OPTIONS,HEAD
settings.watt.server.cors.supportsCredentials=true
settings.watt.server.cronMaxThreads=5
settings.watt.server.cronMinThreads=2
settings.watt.server.eventMgr.maxThreads=5
settings.watt.server.eventMgr.minThreads=2
settings.watt.server.jms.trigger.concurrent.primaryThread.pollingInterval=500
settings.watt.server.jms.trigger.concurrent.secondaryThread.pollingInterval=1
settings.watt.server.thread.usage.limit=1000
settings.watt.server.threadKill.enabled=true
settings.watt.server.threadKill.interruptThread.enabled=false
settings.watt.server.threadPool=75
settings.watt.server.threadPoolMin=10
truststore.DEFAULT_IS_TRUSTSTORE.ksLocation=…/…/…/common/conf/platform_truststore.jks
truststore.DEFAULT_IS_TRUSTSTORE.ksPassword={AES}Y5IgMqjfvkgbg7p5VUZztw==

I don’t see any variable that refers to JDBC Adapter Connections of my packages. I only see the JDBC pools.

Can you provide an example of a JDBC Adapter Connection on the customApplication.properties? Where can I find it on the documentation?

Connection example:

Connection Type webMethods Adapter for JDBC Connection
Package Name ZZTestPackage

Connection Properties
Transaction Type LOCAL_TRANSACTION
DataSource Class com.wm.dd.jdbcx.sqlserver.SQLServerDataSource
serverName 10.3.0.74
user db1_user
password db1_user_password
databaseName DB1_USER
portNumber 1433
networkProtocol tcp
Other Properties driverType=thin

Connection Management Properties
Enable Connection Pooling true
Minimum Pool Size 0
Maximum Pool Size 10
Pool Increment Size 1
Block Timeout (msec) 1000
Expire Timeout (msec) 1000
Startup Retry Count 0
Startup Backoff Timeout (sec) 10

Best Regards,
David Pereira

Hi David,

Please make sure that you have also installed - WAR_10.1_Fix3.

For connection, you will need to specify something like below.

artConnection.Default.Connections.Conn_MQ.CCSID=CP819
artConnection.Default.Connections.Conn_MQ.channel=channel1
artConnection.Default.Connections.Conn_MQ.dynamicQueuePrefix=
artConnection.Default.Connections.Conn_MQ.encoding=00273-Native
artConnection.Default.Connections.Conn_MQ.hostName=hostName1
artConnection.Default.Connections.Conn_MQ.password=password.Connections:Conn_MQ
artConnection.Default.Connections.Conn_MQ.port=7111
artConnection.Default.Connections.Conn_MQ.queueManagerName=queueManagerName1
artConnection.Default.Connections.Conn_MQ.queueName=queueName1

The format of Configuration Asset is:
Namespace.PackageName.Connection.Configurations = value

Regards,
-Kalpesh.

Hello Kalpesh Shah,

The variables are now appearing on the customApplication.properties template. Thank you.

The Adapter Runtime -> Adapter Runtime 10.1 Fix3 (WAR_10.1_Fix3) was missing.

Best Regards,
David Pereira

Glad to hear it worked out well and this info indeed helps the user community by looking at this thread!!

@David, Please note In general this setting you have applies only for Oracle not SQL server

Other Properties driverType=thin

Cheers!
RMG