203 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
 
Latest 7 Posts
"com.ibm.bpm.config.util.ConfigException: Failed to import LTPA:" seen when attempting to move a BPM Deployment Environment from one host to another
Thu, Nov 23rd 2017 17
Interesting - java.lang.NoClassDefFoundError: com.ibm.xylem.utils.ErrorHandlerProvider
Wed, Nov 22nd 2017 37
IBM Cloud Private and Kubernetes - Coping files
Wed, Nov 22nd 2017 39
IBM Java and Health Centrer - There's More
Tue, Nov 21st 2017 47
IBM DB2, Red Hat Enterprise Linux and the IBM Mainframe
Thu, Nov 16th 2017 45
Telnet, my Telnet - Or macOS High Sierra, what have you done ?
Tue, Nov 14th 2017 36
Vagrant and VMware - all the Vs together - or not
Tue, Nov 14th 2017 30
Top 10
IBM Java and Health Centrer - There's More
Tue, Nov 21st 2017 47
IBM DB2, Red Hat Enterprise Linux and the IBM Mainframe
Thu, Nov 16th 2017 45
Hmmm, macOS Sierra and XQuartz and X11
Thu, Oct 27th 2016 43
IBM Cloud Private and Kubernetes - Coping files
Wed, Nov 22nd 2017 39
Executing external Python/Jython scripts from within WebSphere Application Server's wsadmin tool
Thu, Feb 27th 2014 37
Interesting - java.lang.NoClassDefFoundError: com.ibm.xylem.utils.ErrorHandlerProvider
Wed, Nov 22nd 2017 37
Telnet, my Telnet - Or macOS High Sierra, what have you done ?
Tue, Nov 14th 2017 36
Transport Layer Security (TLS) 1.2 and SoapUI
Fri, Jun 12th 2015 35
Vagrant and VMware - all the Vs together - or not
Tue, Nov 14th 2017 30
Securing the Database - IBM DB2 10.5 and Transport Layer Security 1.2
Wed, Jun 3rd 2015 28


ilog.rules.teamserver.model.IlrConnectException Caused by: java.lang.NullPointerException
Twitter Google+ Facebook LinkedIn Addthis Email Gmail Flipboard Reddit Tumblr WhatsApp StumbleUpon Yammer Evernote Delicious
   

As one of my many spinning threads, I've been tinkering with the migration of an IBM Operational Decision Manager (ODM) environment from version 8.0 ( circa 2012 ) to version 8.9 ( circa 2017 ).

In part, this involves running some SQL scripts to migrate the old data to the new environment.

This is especially relevant for the Decision Center, which is the Rules authoring environment, aka the Source Code Management (SCM) system-of-record.

The Decision Center, also known as the Team Server ( reflecting the product's heritage as iLog JRules ) or Rule Team Server or RTS, is based upon a database.

Therefore, the first step is to BACKUP the existing database ( RTSDB, in my case ) from the old/source system.

One benefit of the migration is that it's effectively side-by-side, meaning that you leave the old source system alone, and build a new, parallel environment into which the data ( Rules etc. ) is restored.

In my case, I'm using IBM DB2, but other databases are available.

The process is documented here: -


and here: -


and involves running a pair of Ant scripts against the existing database schema ( in my case, that's db2user1 ) resulting in a pair of SQL scripts that can then be executed against a new database schema ( in my case, that's db2user2 ) to migrate the roles AND data from one to t'other.

I was quite obviously doing something wrong, as I kept seeing exceptions such as: -

ilog.rules.teamserver.model.IlrConnectException
Caused by: java.lang.NullPointerException


in the Decision Center logs post migration.

It was, however, a PEBKAC - I was obviously doing it wrong.

Once I changed my approach: -

Restore backup of RTSDB - as db2inst1

db2 restore database RTSDB from /tmp

Connect as the instance owner - as db2inst1

db2 connect to RTSDB user db2inst1 using passw0rd

Grant the new schema - db2user2 - rights to the database - as db2inst1

db2 grant dbadm on database to user db2user2

Terminate the DB2 session - as db2inst1

db2 terminate

Connect as the new schema - as db2inst1

db2 connect to RTSDB user db2user2 using passw0rd

Run the provided script to create the necessary ODM tables, indices etc. - as db2inst1

db2 -tvf ~/rule-team-server.sql

- For the record, this SQL script is generated when one first logs into the Decision Center, so I just kept a copy :-)

Terminate the DB2 session - as db2inst1

db2 terminate

Start the Decision Centre cluster - as wasadmin

AdminControl.invoke('WebSphere:name=DecisionCenterCluster,process=dmgr,platform=common,node=Dmgr,version=8.5.5.11,type=Cluster,mbeanIdentifier=DecisionCenterCluster,cell=odmCell01,spec=1.0', 'start')

Log into the Decision Centre - as wasadmin


Follow the prompts to complete basic setup - extensions, locale ( I'm using en_GB as I'm a Brit ) etc. *BUT* avoid executing the generated SQL ( this has already been done ), as per this: -


At this stage, we've got a clean Decision Center database, ready to receive BUT with no roles or data migrated from the old environment: -


Set variables - as wasadmin

export ANT_HOME=/opt/ibm/ODM89/shared/tools/ant
export PATH=$PATH:/opt/ibm/ODM89/shared/tools/ant/bin
export JAVA_HOME=/opt/ibm/ODM89/jdk/jre


Run the Ant scripts to extract the roles and data for the old db2user1 schema - as wasadmin

cd /opt/ibm/ODM89/teamserver/bin

ant -DoldDatabaseSchemaName=db2user1 -Dserver.url=https://odm.uk.ibm.com:9443/teamserver -DrtsAdmin.login=wasadmin -DrtsAdmin.password=passw0rd -DoutputFile=/tmp/migrate_roles.sql gen-migration80-role

ant -DoldDatabaseSchemaName=db2user1 -Dserver.url=https://odm.uk.ibm.com:9443/teamserver -DdatasourceName=jdbc/ilogDataSource -DrtsAdmin.login=wasadmin -DrtsAdmin.password=passw0rd -DoutputFile=/tmp/migrate_data.sql gen-migration80-script

This results in a pair of SQL scripts: -

-rw-r--r-- 1 wasadmin wasadmins 79746 Jul 16 16:25 /tmp/migrate_data.sql
-rw-r--r-- 1 wasadmin wasadmins  9552 Jul 16 16:24 /tmp/migrate_roles.sql


Connect as the new schema - as db2inst1

db2 connect to RTSDB user db2user2 using passw0rd

Execute migration scripts - as db2inst1

db2 -tvf /tmp/migrate_roles.sql
db2 -tvf /tmp/migrate_data.sql


Terminate the DB2 session - as db2inst1

db2 terminate

Log into the Decision Centre - as wasadmin


C'est voila, we have a NEW ODM 8.9 Decision Centre with the project that was previously created on the OLD ODM 8.0 Decision Centre: -





---------------------
http://portal2portal.blogspot.com/2017/07/ilogrulesteamservermodelilrconnectexcep.html
Jul 16, 2017
7 hits



Recent Blog Posts
17
"com.ibm.bpm.config.util.ConfigException: Failed to import LTPA:" seen when attempting to move a BPM Deployment Environment from one host to another
Thu, Nov 23rd 2017 1:30p   Dave Hay
I saw this exception: -[23/11/17 11:57:38:222 GMT] 00000001 BPMConfig E com.ibm.bpm.config.BPMConfig main Failed to import LTPA: com.ibm.bpm.config.util.ConfigException: Failed to import LTPA: at com.ibm.bpm.config.util.ws.update.UpdateLTPAKeys.importLTPA(UpdateLTPAKeys.java:170) at com.ibm.bpm.config.util.ws.update.UpdateLTPAKeys.updateSecurityParameters(UpdateLTPAKeys.java:73) at com.ibm.bpm.config.util.ws.update.ConfigPostUpdater.postUp
37
Interesting - java.lang.NoClassDefFoundError: com.ibm.xylem.utils.ErrorHandlerProvider
Wed, Nov 22nd 2017 9:56p   Dave Hay
During an installation of IBM BPM Advanced 8.5.5 onto Red Hat Enterprise Linux 7.4 ( which, I know, is an unsupported combination ), I had an interesting experience.This was the installation command: -/opt/ibm/InstallationManager/eclipse/tools/imcl -input /mnt/ResponseFiles/installBPM855.rsp -acceptLicenseand this was the result: -ERROR: java.lang.NoClassDefFoundError: com.ibm.xylem.utils.ErrorHandlerProviderjava.lang.NoClassDefFoundError: com.ibm.xylem.utils.ErrorHandlerProvidercom.ibm.oti.vm.V
39
IBM Cloud Private and Kubernetes - Coping files
Wed, Nov 22nd 2017 2:59p   Dave Hay
Whilst I have used docker cp numerous times to copy files from a running container to the host ( or vice versa ), I had the need to do the same with a container running in a Pod orchestrated by Kubernetes.The syntax for Docker is: -docker cp :/from-path /to-pathe.g.docker cp 97ee4c182ece:/opt/ibm/db2/V11.1/java/db2jcc4.jar .For containers running in Pods via Kubernetes, it's a little different.The first trick is to inspect the Pod: -kubectl get podNAME RE
47
IBM Java and Health Centrer - There's More
Tue, Nov 21st 2017 5:23p   Dave Hay
Following an earlier post: -IBM WebSphere Application Server - Tuning and Monitoring and Tuning - IBM Health CenterI've been guiding a colleague in the use of HC, outside of WebSphere Application Server (WAS).This time I wanted to show how HC could be used to monitor a Plain Ole Java Object (POJO), specifically a Java class.Here's one I prepared earlier: -HelloWorld.javapublic class HelloWorld{ public static void main(String[] args) { while (true) { System.out.println("Hello, World");
45
IBM DB2, Red Hat Enterprise Linux and the IBM Mainframe
Thu, Nov 16th 2017 5:54p   Dave Hay
I'm running through the process to deploy IBM Business Process Manager (BPM) 8.6 onto an IBM mainframe ….This is something that I've done a number of times before, since I first joined the (then) IBM Software Services for WebSphere team in late 2012.In essence, although the underlying hardware is the IBM z platform ( also known as LinuxOne in this guise ), I'm installing BPM etc. onto Red Hat Enterprise Linux (RHEL) and Linux is …. Linux.So the approach to install BPM, and it's dependenc
36
Telnet, my Telnet - Or macOS High Sierra, what have you done ?
Tue, Nov 14th 2017 2:04p   Dave Hay
This harks back to a VERY old post: -Testing Times with Telnetwhich was penned back in 2010.Since I've upgraded to macOS High Sierra, I've lost the FTP and Telnet clients.Ordinarily that wouldn't be a problem but ….Telnet is often useful for testing ports e.g. telnet localhost 9443.Thankfully, we have a solution …. Netcat.Q: Checking TCP/UDP ports!nc -vnzu 127.0.0.1 9080found 0 associationsfound 1 connections: 1: flags=82 outif (null) src 127.0.0.1 port 59595 dst 127.0.0.1 port 9080 r
30
Vagrant and VMware - all the Vs together - or not
Tue, Nov 14th 2017 12:49p   Dave Hay
Further to my last: -IBM Cloud Private - Tinkering with VagrantI'm now looking at the options to use VMware Workstation ( this is on Linux, rather than my default home of macOS ) instead of VirtualBox.Following this: -https://www.vagrantup.com/docs/vmware/installation.htmlI've installed the appropriate plugin: -vagrant plugin install vagrant-vmware-workstationInstalling the 'vagrant-vmware-workstation' plugin. This can take a few minutes...Fetching: vagrant-share-1.1.9.gem (100%)Fetching: va
27
IBM Cloud Private - Tinkering with Vagrant
Mon, Nov 13th 2017 3:11p   Dave Hay
So I've been on a slow boat to IBM Cloud Private, over the past few weeks, and am continuing to self-enable in my "spare" time ( my formal enablement starts next week ). Looking at this: -Source: IBM Cloud Private 2.1.0 - Architectureit was clear that I really needed a few boxes onto which to actually install ICP.Whilst it is possible to run everything on one box ( as per this IBM Cloud Private - My first foray ), I thought that I really should do things properly.So, starting with Beast, whic
11
Cloud Foundry and Ruby on IBM Bluemix - Learning, learning, learning - keep those lessons learning
Thu, Nov 9th 2017 7:06p   Dave Hay
Following a previous post: -Hmmm, Segmentation Fault 11 with Cloud FoundryI'm running through this: -LFS132x Introduction to Cloud Foundry and Cloud Native Software Architectureand was hitting an issue with the version of Ruby specified within some of the lesson material.This is what I saw: -cf pushUsing manifest file /Users/davidhay/Downloads/LFS132x/Scaling/web_app/manifest.ymlCreating app web-app in org david_hay@uk.ibm.com / space david_hay as david_hay@uk.ibm.com...OKCreating route web-app
12
Hmmm, Segmentation Fault 11 with Cloud Foundry
Thu, Nov 9th 2017 5:15p   Dave Hay
Whilst following this online course: -LFS132x Introduction to Cloud Foundry and Cloud Native Software ArchitectureI was tinkering ( man, I love that word ) with Cloud Foundry ( CF ).Now it's been a while and I've been through a macOS upgrade from Sierra to High Sierra ( wonder if there's a clue there ? ).So this time around, I'm seeing "Segmentation Fault: 11" : -cf versionSegmentation fault: 11cf loginSegmentation fault: 11which cf/usr/local/bin/cfls -al `which cf`-rwxr-xr-x 1 root whee




Created and Maintained by Yancy Lent - About - Planet Lotus Blog - Advertising - Mobile Edition