Jaspersoft Version 7.8
Environment: Cluster
We have two servers in a cluster for Jaspersoft 7.8. We had created a custom data source connecting to oracle database. Database connection user name and password everything is correct. When one of server in the cluster is up, the database connection is working. but same connection is not working when other server is up. The reports will fail to run from the server B.
Release : 16.1.0
Datasource connections information are stored in the Jaspersoft repository schema PPM_JASERSOFT and table JIJDBCDATASOURCE, updating the credentials in one server should get reflected in the 2nd server in the cluster, but it was not happening.
Issue is related to the keystore files: .jrsksp and .jrsks. they are not same in both servers.
If Server A and Server B use different Jaspersoft keystores to decrypt the password stored in JIJDBCDATASOURCE, only the server which is used to update password most recently, can decrypt the password successfully.
Note: This has nothing to do with keystores generated from Clarity PPM using admin commands.
a) Make backup of .jrsksp and .jrsks under /users/<user> in the from the Server B
b) Copy Jaspersoft keystore from Server A to Server B under the location /users/<user>
c) Copy Repository password from Server A to Server B in the context.xml file under /apps/niku/js780/tomcat/apache-tomcat-9.0.37/webapps/rpmjrs/META-INF
d) Clear caches in all the Server A and Server B and restart Tomcat in both servers
e) Login to Server A Web URL and update the datasource credentials. Login to Server B Web URL test the same datasource connection