A colleague asked me for some guidance on deploying the latest version of ODM Rules, 8.9.2, to a WebSphere Liberty Profile (WLP) environment.
(1) Need to authenticate as resAdmin
(2) Need to run through "Installation Settings Wizard" to set up database
(3) Deploy Rule App e.g. HelloWorldRuleApp_19012016.jar
(4) Use HTDS to test Rule App via REST
(5) Monitor logs for output
cat /home/wasadmin/wlp/usr/servers/odm/logs/console.log
...
Hello Dave Hay!
...
cat /home/wasadmin/wlp/usr/servers/odm/logs/messages.log
...
[23/09/18 09:40:02:220 BST] 00000051 SystemOut O Hello Dave Hay!
...
URL for HTDS: -
https://workflow.uk.ibm.com:10443/DecisionService/run.jsp?path=/HelloWorldRuleApp/1.0/HelloWorld&trace=false&type=WADL&kind=native
Additional Sources of Info
https://www.ibm.com/support/knowledgecenter/en/SSQP76_8.9.2/com.ibm.odm.distrib.config.wlp/config_ds_res_liberty/tsk_wlp_deploy_mgmt_war.html
I'll update this once I get my hands on 8.9.2 ……
Whilst I didn't have the 8.9.2 version to-hand ( downloading it as I type ), I did have 8.9.1….
So here we go ….
Prepare File Systems ( as root )
mkdir /opt/ibm/ODM89
mkdir /opt/ibm/Java
chown -R wasadmin:wasadmins /opt/ibm/ODM89
chown -R wasadmin:wasadmins /opt/ibm/Java
Install Java 8
/mnt/Java8/ibm-java-jre-8.0-3.12-x86_64-archive.bin -i silent -f /mnt/ResponseFiles/installer.properties 1>console.txt 2>&1
Setup Path
vi ~/.bashrc
Append: -
JAVA_HOME=/opt/ibm/Java/jre
PATH=$PATH:$JAVA_HOME/bin
source ~/.bashrc
Validate Java
java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 8.0.5.6 - pxa6480sr5fp6-20171124_02(SR5 FP6))
IBM J9 VM (build 2.9, JRE 1.8.0 Linux amd64-64 Compressed References 20171122_371101 (JIT enabled, AOT enabled)
OpenJ9 - 8e3c85d
OMR - 713f08e
IBM - c041ee8)
JCL - 20171113_01 based on Oracle jdk8u151-b12
Install WLP
jar xvf /mnt/WLP/JARs/wlp-nd-all-17.0.0.4.jar
Fixup Executable Bits
chmod +x /home/wasadmin/wlp/bin/server
chmod +x /home/wasadmin/wlp/bin/securityUtility
Setup Path
vi ~/.bashrc
Amend: -
PATH=$PATH:$JAVA_HOME/bin:/home/wasadmin/wlp/bin
source ~/.bashrc
Validate WLP
server version
WebSphere Application Server 17.0.0.4 (1.0.19.201712061531) on IBM J9 VM, version pxa6480sr3fp12-20160919_01 (SR3 FP12) (en_GB)
See what's available to install
/opt/ibm/InstallationManager/eclipse/tools/imcl listAvailablePackages -repositories /mnt/ODM891/disk1/DecisionServerRules/repository.config
com.ibm.websphere.odm.ds.rules.v89_8.9.1000.20171018_1824
Install ODM
/opt/ibm/InstallationManager/eclipse/tools/imcl -input /mnt/ResponseFiles/installODM891_RES.rsp -acceptLicense
Installed com.ibm.websphere.odm.ds.rules.v89_8.9.1000.20171018_1824 to the /opt/ibm/ODM89 directory.
Validate WARs
ls -al /opt/ibm/ODM89/executionserver/applicationservers/WLP855/
...
-rw-r--r-- 1 wasadmin wasadmins 51778251 Oct 11 2017 DecisionRunner.war
-rw-r--r-- 1 wasadmin wasadmins 40265601 Oct 11 2017 DecisionService.war
-rw-r--r-- 1 wasadmin wasadmins 31412040 Oct 11 2017 res.war
-rw-r--r-- 1 wasadmin wasadmins 52279630 Oct 11 2017 testing.war
...
Validate Derby
ls -al /opt/ibm/ODM89/shared/tools/derby/lib/derby.jar
...
-rw-r--r-- 1 wasadmin wasadmins 2838580 Oct 12 2017 /opt/ibm/ODM89/shared/tools/derby/lib/derby.jar
...
Create WLP server
server create odm
Deploy Apps
cp /opt/ibm/ODM89/executionserver/applicationservers/WLP855/res.war /home/wasadmin/wlp/usr/servers/odm/apps/
cp /opt/ibm/ODM89/executionserver/applicationservers/WLP855/DecisionService.war /home/wasadmin/wlp/usr/servers/odm/apps/
Deploy Derby
mkdir /home/wasadmin/wlp/usr/shared/resources/derby
cp /opt/ibm/ODM89/shared/tools/derby/lib/derby.jar /home/wasadmin/wlp/usr/shared/resources/derby
Configure server.xml
vi /home/wasadmin/wlp/usr/servers/odm/server.xml
Amend to: -
<?xml version="1.0" encoding="UTF-8"?>
<server description="new server">
<featureManager>
<feature>servlet-3.1</feature>
<feature>jsp-2.3</feature>
<feature>jdbc-4.1</feature>
<feature>appSecurity-2.0</feature>
<feature>concurrent-1.0</feature>
</featureManager>
<httpEndpoint id="defaultHttpEndpoint"
host="*"
httpPort="10080"
httpsPort="10443" />
<jdbcDriver id="DerbyJdbcDriver" libraryRef="DerbyLib"/>
<library id="DerbyLib" filesetRef="DerbyFileset"/>
<fileset id="DerbyFileset" dir="${shared.resource.dir}/derby" includes="derby.jar"/>
<dataSource id="derbyEmbedded" isolationLevel="TRANSACTION_READ_COMMITTED" jndiName="jdbc/resdatasource" jdbcDriverRef="DerbyJdbcDriver">
<properties.derby.embedded
databaseName="${shared.config.dir}/derby/resdb"
createDatabase="create"
user="resdbUser"
password="resdbUser"
/>
</dataSource>
<basicRegistry id="basic" realm="customRealm">
<user name="resAdmin" password="resAdmin"/>
<user name="resDeploy" password="resDeploy"/>
<user name="resMonitor" password="resMonitor"/>
<group name="resAdministrators">
<member name="resAdmin"/>
</group>
<group name="resDeployers">
<member name="resDeploy"/>
</group>
<group name="resMonitors">
<member name="resMonitor"/>
</group>
</basicRegistry>
<application type="war" id="res" name="res" location="${server.config.dir}/apps/res.war">
<application-bnd>
<security-role name="resAdministrators">
<group name="resAdministrators"/>
</security-role>
<security-role name="resDeployers">
<group name="resDeployers"/>
</security-role>
<security-role name="resMonitors">
<group name="resMonitors"/>
</security-role>
</application-bnd>
</application>
<application type="war" id="DecisionService"
name="DecisionService"
location="${server.config.dir}/apps/DecisionService.war">
</application>
<applicationManager autoExpand="true"/>
<featureManager>
<feature>ssl-1.0</feature>
</featureManager>
<keyStore id="defaultKeyStore" password="{xor}Lz4sLChvLTs=" />
</server>
Create SSL Certificate
/home/wasadmin/wlp/bin/securityUtility createSSLCertificate --server=odm --password=passw0rd --validity=365
...
Creating keystore /home/wasadmin/wlp/usr/servers/odm/resources/security/key.jks
Created SSL certificate for server odm. The certificate is created with CN=workflow.uk.ibm.com,OU=odm,O=ibm,C=us as the SubjectDN.
Add the following lines to the server.xml to enable SSL:
<featureManager>
<feature>ssl-1.0</feature>
</featureManager>
<keyStore id="defaultKeyStore" password="{xor}Lz4sLChvLTs=" />
...
Start WLP
server start odm
...
Starting server odm.
Server odm started with process ID 78434.
...
Monitor Logs
cat /home/wasadmin/wlp/usr/servers/odm/logs/console.log
...
Launching odm (WebSphere Application Server 17.0.0.4/wlp-1.0.19.201712061531) on IBM J9 VM, version pxa6480sr3fp12-20160919_01 (SR3 FP12) (en_GB)
[AUDIT ] CWWKE0001I: The server odm has been launched.
[AUDIT ] CWWKZ0058I: Monitoring dropins for applications.
[AUDIT ] CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/DecisionService/
[AUDIT ] CWWKZ0001I: Application DecisionService started in 1.179 seconds.
[AUDIT ] CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/res/
[AUDIT ] CWWKZ0001I: Application res started in 3.248 seconds.
[AUDIT ] CWWKF0012I: The server installed the following features: [jsp-2.3, concurrent-1.0, servlet-3.1, ssl-1.0, jndi-1.0, distributedMap-1.0, appSecurity-2.0, jdbc-4.1, el-3.0].
[AUDIT ] CWWKF0011I: The server odm is ready to run a smarter planet.
[ERROR ] Initialization failed
The persistence check failed. Diagnostic report:
DAO Class Name = ilog.rules.res.persistence.impl.jdbc.IlrGenericRepositoryDAO
Database Product Name = Apache Derby
Database Product Version = 10.10.2.0 - (1582446)
Driver Name = Apache Derby Embedded JDBC Driver
Driver Product Version = 10.10.2.0 - (1582446)
Ruleset enabled view test passed = False
RuleApp properties table test passed = False
RuleApps table test passed = False
Ruleset properties table test passed = False
Ruleset resources table test passed = False
Rulesets table test passed = False
Is Transaction Supported = True
JDBC URL = jdbc:derby:/home/wasadmin/wlp/usr/shared/config//derby/resdb
Username = resdbUser.
...
cat /home/wasadmin/wlp/usr/servers/odm/logs/console.log
...
Launching odm (WebSphere Application Server 17.0.0.4/wlp-1.0.19.201712061531) on IBM J9 VM, version pxa6480sr3fp12-20160919_01 (SR3 FP12) (en_GB)
[AUDIT ] CWWKE0001I: The server odm has been launched.
[AUDIT ] CWWKZ0058I: Monitoring dropins for applications.
[AUDIT ] CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/DecisionService/
[AUDIT ] CWWKZ0001I: Application DecisionService started in 1.179 seconds.
[AUDIT ] CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/res/
[AUDIT ] CWWKZ0001I: Application res started in 3.248 seconds.
[AUDIT ] CWWKF0012I: The server installed the following features: [jsp-2.3, concurrent-1.0, servlet-3.1, ssl-1.0, jndi-1.0, distributedMap-1.0, appSecurity-2.0, jdbc-4.1, el-3.0].
[AUDIT ] CWWKF0011I: The server odm is ready to run a smarter planet.
[ERROR ] Initialization failed
The persistence check failed. Diagnostic report:
DAO Class Name = ilog.rules.res.persistence.impl.jdbc.IlrGenericRepositoryDAO
Database Product Name = Apache Derby
Database Product Version = 10.10.2.0 - (1582446)
Driver Name = Apache Derby Embedded JDBC Driver
Driver Product Version = 10.10.2.0 - (1582446)
Ruleset enabled view test passed = False
RuleApp properties table test passed = False
RuleApps table test passed = False
Ruleset properties table test passed = False
Ruleset resources table test passed = False
Rulesets table test passed = False
Is Transaction Supported = True
JDBC URL = jdbc:derby:/home/wasadmin/wlp/usr/shared/config//derby/resdb
Username = resdbUser.
[wasadmin@workflow ~]$ cat /home/wasadmin/wlp/usr/servers/odm/logs/messages.log
********************************************************************************
product = WebSphere Application Server 17.0.0.4 (wlp-1.0.19.201712061531)
wlp.install.dir = /home/wasadmin/wlp/
java.home = /opt/ibm/Java/jre
java.version = 1.8.0
java.runtime = Java(TM) SE Runtime Environment (pxa6480sr3fp12-20160919_01 (SR3 FP12))
os = Linux (3.10.0-862.11.6.el7.x86_64; amd64) (en_GB)
process = 78712@workflow.uk.ibm.com
********************************************************************************
[23/09/18 09:35:58:406 BST] 00000001 com.ibm.ws.kernel.launch.internal.FrameworkManager A CWWKE0001I: The server odm has been launched.
[23/09/18 09:35:59:255 BST] 00000001 com.ibm.ws.kernel.launch.internal.FrameworkManager I CWWKE0002I: The kernel started after 1.007 seconds
[23/09/18 09:35:59:295 BST] 00000023 com.ibm.ws.kernel.feature.internal.FeatureManager I CWWKF0007I: Feature update started.
[23/09/18 09:35:59:710 BST] 0000001a com.ibm.ws.security.ready.internal.SecurityReadyServiceImpl I CWWKS0007I: The security service is starting...
[23/09/18 09:35:59:973 BST] 00000027 com.ibm.ws.tcpchannel.internal.TCPChannel I CWWKO0219I: TCP Channel defaultHttpEndpoint has been started and is now listening for requests on host * (IPv6) port 10080.
[23/09/18 09:35:59:979 BST] 0000001a com.ibm.ws.app.manager.internal.monitor.DropinMonitor A CWWKZ0058I: Monitoring dropins for applications.
[23/09/18 09:36:00:196 BST] 0000002f com.ibm.ws.tcpchannel.internal.TCPChannel I CWWKO0219I: TCP Channel defaultHttpEndpoint-ssl has been started and is now listening for requests on host * (IPv6) port 10443.
[23/09/18 09:36:00:214 BST] 0000001a ibm.ws.security.authentication.internal.jaas.JAASServiceImpl I CWWKS1123I: The collective authentication plugin with class name NullCollectiveAuthenticationPlugin has been activated.
[23/09/18 09:36:00:451 BST] 0000002d com.ibm.ws.security.ready.internal.SecurityReadyServiceImpl I CWWKS0008I: The security service is ready.
[23/09/18 09:36:00:454 BST] 0000002d com.ibm.ws.security.token.ltpa.internal.LTPAKeyCreateTask I CWWKS4105I: LTPA configuration is ready after 0.278 seconds.
[23/09/18 09:36:00:535 BST] 0000001a com.ibm.ws.cache.ServerCache I DYNA1001I: WebSphere Dynamic Cache instance named baseCache initialized successfully.
[23/09/18 09:36:00:536 BST] 0000001a com.ibm.ws.cache.ServerCache I DYNA1071I: The cache provider default is being used.
[23/09/18 09:36:00:536 BST] 0000001a com.ibm.ws.cache.CacheServiceImpl I DYNA1056I: Dynamic Cache (object cache) initialized successfully.
[23/09/18 09:36:00:615 BST] 0000002b com.ibm.ws.app.manager.AppMessageHelper I CWWKZ0018I: Starting application DecisionService.
[23/09/18 09:36:00:615 BST] 0000002c com.ibm.ws.app.manager.AppMessageHelper I CWWKZ0018I: Starting application res.
[23/09/18 09:36:01:770 BST] 0000002b com.ibm.ws.session.WASSessionCore I SESN8501I: The session manager did not find a persistent storage location; HttpSession objects will be stored in the local application server's memory.
[23/09/18 09:36:01:784 BST] 0000002b com.ibm.ws.webcontainer.osgi.webapp.WebGroup I SRVE0169I: Loading Web Module: DecisionService.
[23/09/18 09:36:01:787 BST] 0000002b com.ibm.ws.webcontainer I SRVE0250I: Web Module DecisionService has been bound to default_host.
[23/09/18 09:36:01:788 BST] 0000002b com.ibm.ws.http.internal.VirtualHostImpl A CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/DecisionService/
[23/09/18 09:36:01:794 BST] 0000002b com.ibm.ws.app.manager.AppMessageHelper A CWWKZ0001I: Application DecisionService started in 1.179 seconds.
[23/09/18 09:36:02:003 BST] 00000025 com.ibm.ws.webcontainer.osgi.mbeans.PluginGenerator I SRVE9103I: A configuration file for a web server plugin was automatically generated for this server at /home/wasadmin/wlp/usr/servers/odm/logs/state/plugin-cfg.xml.
[23/09/18 09:36:02:006 BST] 0000002f com.ibm.ws.session.WASSessionCore I SESN0176I: A new session context will be created for application key default_host/DecisionService
[23/09/18 09:36:02:035 BST] 0000002f com.ibm.ws.util I SESN0172I: The session manager is using the Java default SecureRandom implementation for session ID generation.
[23/09/18 09:36:02:287 BST] 0000002f com.ibm.ws.cache.CacheServiceImpl I DYNA1056I: Dynamic Cache (object cache) initialized successfully.
[23/09/18 09:36:02:356 BST] 0000002f com.ibm.rules.res.htds I The operating system is Linux amd64 3.10.0-862.11.6.el7.x86_64.
[23/09/18 09:36:02:357 BST] 0000002f com.ibm.rules.res.htds I The JVM is IBM Corporation IBM J9 VM 2.8.
[23/09/18 09:36:02:357 BST] 0000002f com.ibm.rules.res.htds I The class path is /home/wasadmin/wlp/bin/tools/ws-server.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar.
[23/09/18 09:36:02:357 BST] 0000002f com.ibm.rules.res.htds I Logging started. Decision service version: Decision Server 8.9.1.0 2017-10-11 14:45:02
[23/09/18 09:36:02:633 BST] 0000002f com.ibm.rules.res.execution I Logging started Decision Server XU - 8.9.1.0 - 2017-10-11 14:32:25.
[23/09/18 09:36:02:634 BST] 0000002f com.ibm.rules.res.execution I The JDK logging level is set to: INFO.
[23/09/18 09:36:02:634 BST] 0000002f com.ibm.rules.res.execution I The operating system is Linux amd64 3.10.0-862.11.6.el7.x86_64.
[23/09/18 09:36:02:634 BST] 0000002f com.ibm.rules.res.execution I The JVM is IBM Corporation IBM J9 VM 2.8.
[23/09/18 09:36:02:635 BST] 0000002f com.ibm.rules.res.execution I The class path is /home/wasadmin/wlp/bin/tools/ws-server.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar.
[23/09/18 09:36:02:733 BST] 0000002f com.ibm.rules.res.execution I Found user settings in file : ra.xml.
[23/09/18 09:36:02:733 BST] 0000002f com.ibm.rules.res.execution I Loading execution unit (XU) settings from the file descriptor.
[23/09/18 09:36:02:778 BST] 0000002f com.ibm.rules.res.execution I The XU logger uses JDK logging: true.
[23/09/18 09:36:02:779 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property rulesetCacheProperties to ruleset.cache.maintenance.period=300.
[23/09/18 09:36:02:779 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property persistenceType to datasource.
[23/09/18 09:36:02:780 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property caCacheProps to {}.
[23/09/18 09:36:02:780 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property defaultConnectionManagerProperties to {}.
[23/09/18 09:36:02:781 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property asynchronousRulesetParsing to true.
[23/09/18 09:36:02:781 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property rulesetUsageMonitorEnabled to true.
[23/09/18 09:36:02:785 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property profilingEnabled to true.
[23/09/18 09:36:02:788 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property persistenceProperties to {XOM_PERSISTENCE_JNDI_NAME=jdbc/resdatasource, XOM_PERSISTENCE_TYPE=datasource, JNDI_NAME=jdbc/resdatasource}.
[23/09/18 09:36:02:789 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property traceLevel to FINE.
[23/09/18 09:36:02:790 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property systemOutLoggingEnabled to false.
[23/09/18 09:36:02:790 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property memoryProfilerIncludedPackageNames to com.ibm.rules.,java.,ilog.,com.ibm.rules.org.objectweb.asm.,org.apache.bcel.,javax.xml.parsers.,javax.xml.namespace.,javax.xml.transform..
[23/09/18 09:36:02:791 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property traceAutoFlush to false.
[23/09/18 09:36:02:792 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property rulesetFactoryProperties to .
[23/09/18 09:36:02:794 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property plugins to {protocol=jmx,xuName=xuHTDS,pluginClass=Management},{pluginClass=HTDS}.
[23/09/18 09:36:02:795 BST] 0000002f com.ibm.rules.res.execution I Creates the XU plug-in with properties {protocol=jmx, xuName=xuHTDS, pluginClass=Management}.
[23/09/18 09:36:02:815 BST] 0000002f com.ibm.rules.res.execution I Creates the XU plug-in with properties {pluginClass=HTDS}.
[23/09/18 09:36:02:826 BST] 0000002f com.ibm.rules.res.execution I Starts the XU plug-in com.ibm.rules.res.xu.management.XUManagementPlugin@271bf2ea.
[23/09/18 09:36:02:829 BST] 0000002f com.ibm.rules.res.execution.xu.plugin.management I GBRXU4002I: Starts the MBean plug-in.
[23/09/18 09:36:02:879 BST] 0000002f com.ibm.rules.res.execution I Starts the XU plug-in com.ibm.rules.htds.plugin.cci.internal.DLGeneratorPlugin@abf668bc.
[23/09/18 09:36:02:942 BST] 0000002f com.ibm.ws.jca.cm.ConnectorService I J2CA8050I: An authentication alias should be used instead of defining a user name and password on dataSource[derbyEmbedded].
[23/09/18 09:36:03:136 BST] 0000002f com.ibm.ws.recoverylog.spi.RecoveryDirectorImpl I CWRLS0010I: Performing recovery processing for local WebSphere server (odm).
[23/09/18 09:36:03:182 BST] 00000034 com.ibm.ws.recoverylog.spi.LogHandle I CWRLS0007I: No existing recovery log files found in /home/wasadmin/wlp/usr/servers/odm/tranlog//tranlog. Cold starting the recovery log.
[23/09/18 09:36:03:183 BST] 00000034 com.ibm.ws.recoverylog.spi.LogFileHandle I CWRLS0006I: Creating new recovery log file /home/wasadmin/wlp/usr/servers/odm/tranlog//tranlog/log1.
[23/09/18 09:36:03:188 BST] 00000034 com.ibm.ws.recoverylog.spi.LogFileHandle I CWRLS0006I: Creating new recovery log file /home/wasadmin/wlp/usr/servers/odm/tranlog//tranlog/log2.
[23/09/18 09:36:03:333 BST] 00000034 com.ibm.ws.recoverylog.spi.LogHandle I CWRLS0007I: No existing recovery log files found in /home/wasadmin/wlp/usr/servers/odm/tranlog//partnerlog. Cold starting the recovery log.
[23/09/18 09:36:03:333 BST] 00000034 com.ibm.ws.recoverylog.spi.LogFileHandle I CWRLS0006I: Creating new recovery log file /home/wasadmin/wlp/usr/servers/odm/tranlog//partnerlog/log1.
[23/09/18 09:36:03:336 BST] 00000034 com.ibm.ws.recoverylog.spi.LogFileHandle I CWRLS0006I: Creating new recovery log file /home/wasadmin/wlp/usr/servers/odm/tranlog//partnerlog/log2.
[23/09/18 09:36:03:424 BST] 00000034 com.ibm.tx.jta.impl.RecoveryManager I WTRN0135I: Transaction service recovering no transactions.
[23/09/18 09:36:03:426 BST] 0000002f com.ibm.ws.recoverylog.spi.RecoveryDirectorImpl I CWRLS0012I: All persistent services have been directed to perform recovery processing for this WebSphere server (odm).
[23/09/18 09:36:03:863 BST] 0000002c com.ibm.ws.webcontainer.osgi.webapp.WebGroup I SRVE0169I: Loading Web Module: Rule Execution Server Console.
[23/09/18 09:36:03:863 BST] 0000002c com.ibm.ws.webcontainer I SRVE0250I: Web Module Rule Execution Server Console has been bound to default_host.
[23/09/18 09:36:03:863 BST] 0000002c com.ibm.ws.http.internal.VirtualHostImpl A CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/res/
[23/09/18 09:36:03:863 BST] 0000002c com.ibm.ws.app.manager.AppMessageHelper A CWWKZ0001I: Application res started in 3.248 seconds.
[23/09/18 09:36:03:867 BST] 00000023 com.ibm.ws.kernel.feature.internal.FeatureManager A CWWKF0012I: The server installed the following features: [jsp-2.3, concurrent-1.0, servlet-3.1, ssl-1.0, jndi-1.0, distributedMap-1.0, appSecurity-2.0, jdbc-4.1, el-3.0].
[23/09/18 09:36:03:868 BST] 00000023 com.ibm.ws.kernel.feature.internal.FeatureManager I CWWKF0008I: Feature update completed in 4.612 seconds.
[23/09/18 09:36:03:868 BST] 00000023 com.ibm.ws.kernel.feature.internal.FeatureManager A CWWKF0011I: The server odm is ready to run a smarter planet.
[23/09/18 09:36:03:880 BST] 00000027 com.ibm.ws.webcontainer.osgi.mbeans.PluginGenerator I SRVE9103I: A configuration file for a web server plugin was automatically generated for this server at /home/wasadmin/wlp/usr/servers/odm/logs/state/plugin-cfg.xml.
[23/09/18 09:36:04:509 BST] 0000002e com.ibm.ws.session.WASSessionCore I SESN0176I: A new session context will be created for application key default_host/res
[23/09/18 09:36:04:510 BST] 0000002e com.ibm.ws.util I SESN0172I: The session manager is using the Java default SecureRandom implementation for session ID generation.
[23/09/18 09:36:04:566 BST] 0000002f com.ibm.ws.rsadapter.impl.DatabaseHelper I DSRA8203I: Database product name : Apache Derby
[23/09/18 09:36:04:567 BST] 0000002f com.ibm.ws.rsadapter.impl.DatabaseHelper I DSRA8204I: Database product version : 10.10.2.0 - (1582446)
[23/09/18 09:36:04:567 BST] 0000002f com.ibm.ws.rsadapter.impl.DatabaseHelper I DSRA8205I: JDBC driver name : Apache Derby Embedded JDBC Driver
[23/09/18 09:36:04:567 BST] 0000002f com.ibm.ws.rsadapter.impl.DatabaseHelper I DSRA8206I: JDBC driver version : 10.10.2.0 - (1582446)
[23/09/18 09:36:05:289 BST] 0000002e com.ibm.rules.res.console I The operating system is Linux amd64 3.10.0-862.11.6.el7.x86_64.
[23/09/18 09:36:05:290 BST] 0000002e com.ibm.rules.res.console I The JVM is IBM Corporation IBM J9 VM 2.8.
[23/09/18 09:36:05:290 BST] 0000002e com.ibm.rules.res.console I The class path is /home/wasadmin/wlp/bin/tools/ws-server.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar.
[23/09/18 09:36:05:290 BST] 0000002e com.ibm.rules.res.console I Logging started. Rule Execution Server console version: Decision Server
[23/09/18 09:36:05:290 BST] 0000002e com.ibm.rules.res.console I Properties used for initialization:
allowIframe = true
autoCreateSchema = false
calendarType = gregorian
defaultDWConfiguration = factoryClassname=ilog.rules.res.persistence.impl.jdbc.IlrDatasourceTraceDAOFactory;JNDI_NAME=jdbc/resdatasource
distributed.mode = true
filePersistenceDirectory = res_data
fileXomPersistenceDirectory = res_xom
ilog.rules.res.HELP_CONTEXT = http://www.ibm.com/support/knowledgecenter/SSQP76_8.9.1
ilog.rules.res.HELP_INDEX = http://www.ibm.com/support/knowledgecenter/SSQP76_8.9.1/com.ibm.odm.dserver.rules.res.console/cshelp_resconsole.xml
ilog.rules.res.HELP_TOPIC = com.ibm.odm.dserver.rules.res.console
ilog.rules.res.HTDS_CONTEXT = /DecisionService
ilog.rules.res.XOM_IN_RULEAPP_ARCHIVE = false
ilog.rules.res.trace.DECISIONWAREHOUSE_CONFIGURATIONS = defaultDWConfiguration
javax.faces.STATE_SAVING_METHOD = server
management.protocol = jmx
management.tcpip.port = 1883
management.tcpip.timeout = 20
onDocker = false
org.apache.myfaces.ADD_RESOURCE_CLASS = org.apache.myfaces.renderkit.html.util.DefaultAddResource
org.apache.myfaces.ALLOW_JAVASCRIPT = true
org.apache.myfaces.AUTO_SCROLL = true
org.apache.myfaces.CHECK_EXTENSIONS_FILTER = false
org.apache.myfaces.COMPRESS_STATE_IN_SESSION = false
org.apache.myfaces.DETECT_JAVASCRIPT = false
org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION = 10
org.apache.myfaces.PRETTY_HTML = true
org.apache.myfaces.READONLY_AS_DISABLED_FOR_SELECTS = true
org.apache.myfaces.RESOURCE_VIRTUAL_PATH = /faces/myFacesExtensionResource
org.apache.myfaces.SERIALIZE_STATE_IN_SESSION = false
org.apache.myfaces.VALIDATE = false
org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL = true
persistenceType = datasource
resconsole-logging-config-filename = resconsole-logging.properties
server-info-max-length = 100
xomPersistenceType = datasource
[23/09/18 09:36:05:365 BST] 0000002e com.ibm.rules.res.persistence I XOM repository set in database persistence mode: Apache Derby 10.10.2.0 - (1582446)
[23/09/18 09:36:05:390 BST] 0000002e com.ibm.rules.res.console I Reading Decision Warehouse configurations from web.xml
[23/09/18 09:36:05:399 BST] 0000002e com.ibm.rules.res.console I The Decision Warehouse configuration defaultDWConfiguration was loaded.
[23/09/18 09:36:05:403 BST] 0000002e com.ibm.rules.res.console I The trace DAO factory was initialized: ilog.rules.res.persistence.impl.jdbc.IlrDatasourceTraceDAOFactory
[23/09/18 09:36:05:765 BST] 0000002e com.ibm.rules.res.console E Initialization failed
ilog.rules.res.console.IlrConsoleException: The persistence check failed. Diagnostic report:
DAO Class Name = ilog.rules.res.persistence.impl.jdbc.IlrGenericRepositoryDAO
Database Product Name = Apache Derby
Database Product Version = 10.10.2.0 - (1582446)
Driver Name = Apache Derby Embedded JDBC Driver
Driver Product Version = 10.10.2.0 - (1582446)
Ruleset enabled view test passed = False
RuleApp properties table test passed = False
RuleApps table test passed = False
Ruleset properties table test passed = False
Ruleset resources table test passed = False
Rulesets table test passed = False
Is Transaction Supported = True
JDBC URL = jdbc:derby:/home/wasadmin/wlp/usr/shared/config//derby/resdb
Username = resdbUser.
at ilog.rules.res.console.util.IlrModelManager.init(IlrModelManager.java:187)
at ilog.rules.res.console.util.IlrConsoleInitializer.consoleInitialized(IlrConsoleInitializer.java:126)
at ilog.rules.res.console.util.IlrConsoleInitializer.consoleInitialized(IlrConsoleInitializer.java:109)
at ilog.rules.res.console.IlrServletContextListener.contextInitialized(IlrServletContextListener.java:26)
at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:2384)
at com.ibm.ws.webcontainer31.osgi.webapp.WebApp31.notifyServletContextCreated(WebApp31.java:514)
at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:1012)
at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:6574)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApp(DynamicVirtualHost.java:467)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApplication(DynamicVirtualHost.java:462)
at com.ibm.ws.webcontainer.osgi.WebContainer.startWebApplication(WebContainer.java:1132)
at com.ibm.ws.webcontainer.osgi.WebContainer.access$000(WebContainer.java:108)
at com.ibm.ws.webcontainer.osgi.WebContainer$3.run(WebContainer.java:944)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:522)
at java.util.concurrent.FutureTask.run(FutureTask.java:277)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.lang.Thread.run(Thread.java:785)
[23/09/18 09:36:05:818 BST] 0000002e com.ibm.ws.webcontainer.servlet I SRVE0242I: [res] [/res] [FacesServlet]: Initialization successful.
...
Access RES
https://workflow.uk.ibm.com:10443/res/login.jsf
mkdir /opt/ibm/ODM89
mkdir /opt/ibm/Java
chown -R wasadmin:wasadmins /opt/ibm/ODM89
chown -R wasadmin:wasadmins /opt/ibm/Java
Install Java 8
/mnt/Java8/ibm-java-jre-8.0-3.12-x86_64-archive.bin -i silent -f /mnt/ResponseFiles/installer.properties 1>console.txt 2>&1
Setup Path
vi ~/.bashrc
Append: -
JAVA_HOME=/opt/ibm/Java/jre
PATH=$PATH:$JAVA_HOME/bin
source ~/.bashrc
Validate Java
java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 8.0.5.6 - pxa6480sr5fp6-20171124_02(SR5 FP6))
IBM J9 VM (build 2.9, JRE 1.8.0 Linux amd64-64 Compressed References 20171122_371101 (JIT enabled, AOT enabled)
OpenJ9 - 8e3c85d
OMR - 713f08e
IBM - c041ee8)
JCL - 20171113_01 based on Oracle jdk8u151-b12
Install WLP
jar xvf /mnt/WLP/JARs/wlp-nd-all-17.0.0.4.jar
Fixup Executable Bits
chmod +x /home/wasadmin/wlp/bin/server
chmod +x /home/wasadmin/wlp/bin/securityUtility
Setup Path
vi ~/.bashrc
Amend: -
PATH=$PATH:$JAVA_HOME/bin:/home/wasadmin/wlp/bin
source ~/.bashrc
Validate WLP
server version
WebSphere Application Server 17.0.0.4 (1.0.19.201712061531) on IBM J9 VM, version pxa6480sr3fp12-20160919_01 (SR3 FP12) (en_GB)
See what's available to install
/opt/ibm/InstallationManager/eclipse/tools/imcl listAvailablePackages -repositories /mnt/ODM891/disk1/DecisionServerRules/repository.config
com.ibm.websphere.odm.ds.rules.v89_8.9.1000.20171018_1824
Install ODM
/opt/ibm/InstallationManager/eclipse/tools/imcl -input /mnt/ResponseFiles/installODM891_RES.rsp -acceptLicense
Installed com.ibm.websphere.odm.ds.rules.v89_8.9.1000.20171018_1824 to the /opt/ibm/ODM89 directory.
Validate WARs
ls -al /opt/ibm/ODM89/executionserver/applicationservers/WLP855/
...
-rw-r--r-- 1 wasadmin wasadmins 51778251 Oct 11 2017 DecisionRunner.war
-rw-r--r-- 1 wasadmin wasadmins 40265601 Oct 11 2017 DecisionService.war
-rw-r--r-- 1 wasadmin wasadmins 31412040 Oct 11 2017 res.war
-rw-r--r-- 1 wasadmin wasadmins 52279630 Oct 11 2017 testing.war
...
Validate Derby
ls -al /opt/ibm/ODM89/shared/tools/derby/lib/derby.jar
...
-rw-r--r-- 1 wasadmin wasadmins 2838580 Oct 12 2017 /opt/ibm/ODM89/shared/tools/derby/lib/derby.jar
...
Create WLP server
server create odm
Deploy Apps
cp /opt/ibm/ODM89/executionserver/applicationservers/WLP855/res.war /home/wasadmin/wlp/usr/servers/odm/apps/
cp /opt/ibm/ODM89/executionserver/applicationservers/WLP855/DecisionService.war /home/wasadmin/wlp/usr/servers/odm/apps/
Deploy Derby
mkdir /home/wasadmin/wlp/usr/shared/resources/derby
cp /opt/ibm/ODM89/shared/tools/derby/lib/derby.jar /home/wasadmin/wlp/usr/shared/resources/derby
Configure server.xml
vi /home/wasadmin/wlp/usr/servers/odm/server.xml
Amend to: -
<?xml version="1.0" encoding="UTF-8"?>
<server description="new server">
<featureManager>
<feature>servlet-3.1</feature>
<feature>jsp-2.3</feature>
<feature>jdbc-4.1</feature>
<feature>appSecurity-2.0</feature>
<feature>concurrent-1.0</feature>
</featureManager>
<httpEndpoint id="defaultHttpEndpoint"
host="*"
httpPort="10080"
httpsPort="10443" />
<jdbcDriver id="DerbyJdbcDriver" libraryRef="DerbyLib"/>
<library id="DerbyLib" filesetRef="DerbyFileset"/>
<fileset id="DerbyFileset" dir="${shared.resource.dir}/derby" includes="derby.jar"/>
<dataSource id="derbyEmbedded" isolationLevel="TRANSACTION_READ_COMMITTED" jndiName="jdbc/resdatasource" jdbcDriverRef="DerbyJdbcDriver">
<properties.derby.embedded
databaseName="${shared.config.dir}/derby/resdb"
createDatabase="create"
user="resdbUser"
password="resdbUser"
/>
</dataSource>
<basicRegistry id="basic" realm="customRealm">
<user name="resAdmin" password="resAdmin"/>
<user name="resDeploy" password="resDeploy"/>
<user name="resMonitor" password="resMonitor"/>
<group name="resAdministrators">
<member name="resAdmin"/>
</group>
<group name="resDeployers">
<member name="resDeploy"/>
</group>
<group name="resMonitors">
<member name="resMonitor"/>
</group>
</basicRegistry>
<application type="war" id="res" name="res" location="${server.config.dir}/apps/res.war">
<application-bnd>
<security-role name="resAdministrators">
<group name="resAdministrators"/>
</security-role>
<security-role name="resDeployers">
<group name="resDeployers"/>
</security-role>
<security-role name="resMonitors">
<group name="resMonitors"/>
</security-role>
</application-bnd>
</application>
<application type="war" id="DecisionService"
name="DecisionService"
location="${server.config.dir}/apps/DecisionService.war">
</application>
<applicationManager autoExpand="true"/>
<featureManager>
<feature>ssl-1.0</feature>
</featureManager>
<keyStore id="defaultKeyStore" password="{xor}Lz4sLChvLTs=" />
</server>
Create SSL Certificate
/home/wasadmin/wlp/bin/securityUtility createSSLCertificate --server=odm --password=passw0rd --validity=365
...
Creating keystore /home/wasadmin/wlp/usr/servers/odm/resources/security/key.jks
Created SSL certificate for server odm. The certificate is created with CN=workflow.uk.ibm.com,OU=odm,O=ibm,C=us as the SubjectDN.
Add the following lines to the server.xml to enable SSL:
<featureManager>
<feature>ssl-1.0</feature>
</featureManager>
<keyStore id="defaultKeyStore" password="{xor}Lz4sLChvLTs=" />
...
Start WLP
server start odm
...
Starting server odm.
Server odm started with process ID 78434.
...
Monitor Logs
cat /home/wasadmin/wlp/usr/servers/odm/logs/console.log
...
Launching odm (WebSphere Application Server 17.0.0.4/wlp-1.0.19.201712061531) on IBM J9 VM, version pxa6480sr3fp12-20160919_01 (SR3 FP12) (en_GB)
[AUDIT ] CWWKE0001I: The server odm has been launched.
[AUDIT ] CWWKZ0058I: Monitoring dropins for applications.
[AUDIT ] CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/DecisionService/
[AUDIT ] CWWKZ0001I: Application DecisionService started in 1.179 seconds.
[AUDIT ] CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/res/
[AUDIT ] CWWKZ0001I: Application res started in 3.248 seconds.
[AUDIT ] CWWKF0012I: The server installed the following features: [jsp-2.3, concurrent-1.0, servlet-3.1, ssl-1.0, jndi-1.0, distributedMap-1.0, appSecurity-2.0, jdbc-4.1, el-3.0].
[AUDIT ] CWWKF0011I: The server odm is ready to run a smarter planet.
[ERROR ] Initialization failed
The persistence check failed. Diagnostic report:
DAO Class Name = ilog.rules.res.persistence.impl.jdbc.IlrGenericRepositoryDAO
Database Product Name = Apache Derby
Database Product Version = 10.10.2.0 - (1582446)
Driver Name = Apache Derby Embedded JDBC Driver
Driver Product Version = 10.10.2.0 - (1582446)
Ruleset enabled view test passed = False
RuleApp properties table test passed = False
RuleApps table test passed = False
Ruleset properties table test passed = False
Ruleset resources table test passed = False
Rulesets table test passed = False
Is Transaction Supported = True
JDBC URL = jdbc:derby:/home/wasadmin/wlp/usr/shared/config//derby/resdb
Username = resdbUser.
...
cat /home/wasadmin/wlp/usr/servers/odm/logs/console.log
...
Launching odm (WebSphere Application Server 17.0.0.4/wlp-1.0.19.201712061531) on IBM J9 VM, version pxa6480sr3fp12-20160919_01 (SR3 FP12) (en_GB)
[AUDIT ] CWWKE0001I: The server odm has been launched.
[AUDIT ] CWWKZ0058I: Monitoring dropins for applications.
[AUDIT ] CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/DecisionService/
[AUDIT ] CWWKZ0001I: Application DecisionService started in 1.179 seconds.
[AUDIT ] CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/res/
[AUDIT ] CWWKZ0001I: Application res started in 3.248 seconds.
[AUDIT ] CWWKF0012I: The server installed the following features: [jsp-2.3, concurrent-1.0, servlet-3.1, ssl-1.0, jndi-1.0, distributedMap-1.0, appSecurity-2.0, jdbc-4.1, el-3.0].
[AUDIT ] CWWKF0011I: The server odm is ready to run a smarter planet.
[ERROR ] Initialization failed
The persistence check failed. Diagnostic report:
DAO Class Name = ilog.rules.res.persistence.impl.jdbc.IlrGenericRepositoryDAO
Database Product Name = Apache Derby
Database Product Version = 10.10.2.0 - (1582446)
Driver Name = Apache Derby Embedded JDBC Driver
Driver Product Version = 10.10.2.0 - (1582446)
Ruleset enabled view test passed = False
RuleApp properties table test passed = False
RuleApps table test passed = False
Ruleset properties table test passed = False
Ruleset resources table test passed = False
Rulesets table test passed = False
Is Transaction Supported = True
JDBC URL = jdbc:derby:/home/wasadmin/wlp/usr/shared/config//derby/resdb
Username = resdbUser.
[wasadmin@workflow ~]$ cat /home/wasadmin/wlp/usr/servers/odm/logs/messages.log
********************************************************************************
product = WebSphere Application Server 17.0.0.4 (wlp-1.0.19.201712061531)
wlp.install.dir = /home/wasadmin/wlp/
java.home = /opt/ibm/Java/jre
java.version = 1.8.0
java.runtime = Java(TM) SE Runtime Environment (pxa6480sr3fp12-20160919_01 (SR3 FP12))
os = Linux (3.10.0-862.11.6.el7.x86_64; amd64) (en_GB)
process = 78712@workflow.uk.ibm.com
********************************************************************************
[23/09/18 09:35:58:406 BST] 00000001 com.ibm.ws.kernel.launch.internal.FrameworkManager A CWWKE0001I: The server odm has been launched.
[23/09/18 09:35:59:255 BST] 00000001 com.ibm.ws.kernel.launch.internal.FrameworkManager I CWWKE0002I: The kernel started after 1.007 seconds
[23/09/18 09:35:59:295 BST] 00000023 com.ibm.ws.kernel.feature.internal.FeatureManager I CWWKF0007I: Feature update started.
[23/09/18 09:35:59:710 BST] 0000001a com.ibm.ws.security.ready.internal.SecurityReadyServiceImpl I CWWKS0007I: The security service is starting...
[23/09/18 09:35:59:973 BST] 00000027 com.ibm.ws.tcpchannel.internal.TCPChannel I CWWKO0219I: TCP Channel defaultHttpEndpoint has been started and is now listening for requests on host * (IPv6) port 10080.
[23/09/18 09:35:59:979 BST] 0000001a com.ibm.ws.app.manager.internal.monitor.DropinMonitor A CWWKZ0058I: Monitoring dropins for applications.
[23/09/18 09:36:00:196 BST] 0000002f com.ibm.ws.tcpchannel.internal.TCPChannel I CWWKO0219I: TCP Channel defaultHttpEndpoint-ssl has been started and is now listening for requests on host * (IPv6) port 10443.
[23/09/18 09:36:00:214 BST] 0000001a ibm.ws.security.authentication.internal.jaas.JAASServiceImpl I CWWKS1123I: The collective authentication plugin with class name NullCollectiveAuthenticationPlugin has been activated.
[23/09/18 09:36:00:451 BST] 0000002d com.ibm.ws.security.ready.internal.SecurityReadyServiceImpl I CWWKS0008I: The security service is ready.
[23/09/18 09:36:00:454 BST] 0000002d com.ibm.ws.security.token.ltpa.internal.LTPAKeyCreateTask I CWWKS4105I: LTPA configuration is ready after 0.278 seconds.
[23/09/18 09:36:00:535 BST] 0000001a com.ibm.ws.cache.ServerCache I DYNA1001I: WebSphere Dynamic Cache instance named baseCache initialized successfully.
[23/09/18 09:36:00:536 BST] 0000001a com.ibm.ws.cache.ServerCache I DYNA1071I: The cache provider default is being used.
[23/09/18 09:36:00:536 BST] 0000001a com.ibm.ws.cache.CacheServiceImpl I DYNA1056I: Dynamic Cache (object cache) initialized successfully.
[23/09/18 09:36:00:615 BST] 0000002b com.ibm.ws.app.manager.AppMessageHelper I CWWKZ0018I: Starting application DecisionService.
[23/09/18 09:36:00:615 BST] 0000002c com.ibm.ws.app.manager.AppMessageHelper I CWWKZ0018I: Starting application res.
[23/09/18 09:36:01:770 BST] 0000002b com.ibm.ws.session.WASSessionCore I SESN8501I: The session manager did not find a persistent storage location; HttpSession objects will be stored in the local application server's memory.
[23/09/18 09:36:01:784 BST] 0000002b com.ibm.ws.webcontainer.osgi.webapp.WebGroup I SRVE0169I: Loading Web Module: DecisionService.
[23/09/18 09:36:01:787 BST] 0000002b com.ibm.ws.webcontainer I SRVE0250I: Web Module DecisionService has been bound to default_host.
[23/09/18 09:36:01:788 BST] 0000002b com.ibm.ws.http.internal.VirtualHostImpl A CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/DecisionService/
[23/09/18 09:36:01:794 BST] 0000002b com.ibm.ws.app.manager.AppMessageHelper A CWWKZ0001I: Application DecisionService started in 1.179 seconds.
[23/09/18 09:36:02:003 BST] 00000025 com.ibm.ws.webcontainer.osgi.mbeans.PluginGenerator I SRVE9103I: A configuration file for a web server plugin was automatically generated for this server at /home/wasadmin/wlp/usr/servers/odm/logs/state/plugin-cfg.xml.
[23/09/18 09:36:02:006 BST] 0000002f com.ibm.ws.session.WASSessionCore I SESN0176I: A new session context will be created for application key default_host/DecisionService
[23/09/18 09:36:02:035 BST] 0000002f com.ibm.ws.util I SESN0172I: The session manager is using the Java default SecureRandom implementation for session ID generation.
[23/09/18 09:36:02:287 BST] 0000002f com.ibm.ws.cache.CacheServiceImpl I DYNA1056I: Dynamic Cache (object cache) initialized successfully.
[23/09/18 09:36:02:356 BST] 0000002f com.ibm.rules.res.htds I The operating system is Linux amd64 3.10.0-862.11.6.el7.x86_64.
[23/09/18 09:36:02:357 BST] 0000002f com.ibm.rules.res.htds I The JVM is IBM Corporation IBM J9 VM 2.8.
[23/09/18 09:36:02:357 BST] 0000002f com.ibm.rules.res.htds I The class path is /home/wasadmin/wlp/bin/tools/ws-server.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar.
[23/09/18 09:36:02:357 BST] 0000002f com.ibm.rules.res.htds I Logging started. Decision service version: Decision Server 8.9.1.0 2017-10-11 14:45:02
[23/09/18 09:36:02:633 BST] 0000002f com.ibm.rules.res.execution I Logging started Decision Server XU - 8.9.1.0 - 2017-10-11 14:32:25.
[23/09/18 09:36:02:634 BST] 0000002f com.ibm.rules.res.execution I The JDK logging level is set to: INFO.
[23/09/18 09:36:02:634 BST] 0000002f com.ibm.rules.res.execution I The operating system is Linux amd64 3.10.0-862.11.6.el7.x86_64.
[23/09/18 09:36:02:634 BST] 0000002f com.ibm.rules.res.execution I The JVM is IBM Corporation IBM J9 VM 2.8.
[23/09/18 09:36:02:635 BST] 0000002f com.ibm.rules.res.execution I The class path is /home/wasadmin/wlp/bin/tools/ws-server.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar.
[23/09/18 09:36:02:733 BST] 0000002f com.ibm.rules.res.execution I Found user settings in file : ra.xml.
[23/09/18 09:36:02:733 BST] 0000002f com.ibm.rules.res.execution I Loading execution unit (XU) settings from the file descriptor.
[23/09/18 09:36:02:778 BST] 0000002f com.ibm.rules.res.execution I The XU logger uses JDK logging: true.
[23/09/18 09:36:02:779 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property rulesetCacheProperties to ruleset.cache.maintenance.period=300.
[23/09/18 09:36:02:779 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property persistenceType to datasource.
[23/09/18 09:36:02:780 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property caCacheProps to {}.
[23/09/18 09:36:02:780 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property defaultConnectionManagerProperties to {}.
[23/09/18 09:36:02:781 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property asynchronousRulesetParsing to true.
[23/09/18 09:36:02:781 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property rulesetUsageMonitorEnabled to true.
[23/09/18 09:36:02:785 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property profilingEnabled to true.
[23/09/18 09:36:02:788 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property persistenceProperties to {XOM_PERSISTENCE_JNDI_NAME=jdbc/resdatasource, XOM_PERSISTENCE_TYPE=datasource, JNDI_NAME=jdbc/resdatasource}.
[23/09/18 09:36:02:789 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property traceLevel to FINE.
[23/09/18 09:36:02:790 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property systemOutLoggingEnabled to false.
[23/09/18 09:36:02:790 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property memoryProfilerIncludedPackageNames to com.ibm.rules.,java.,ilog.,com.ibm.rules.org.objectweb.asm.,org.apache.bcel.,javax.xml.parsers.,javax.xml.namespace.,javax.xml.transform..
[23/09/18 09:36:02:791 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property traceAutoFlush to false.
[23/09/18 09:36:02:792 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property rulesetFactoryProperties to .
[23/09/18 09:36:02:794 BST] 0000002f com.ibm.rules.res.execution I Sets the XU configuration property plugins to {protocol=jmx,xuName=xuHTDS,pluginClass=Management},{pluginClass=HTDS}.
[23/09/18 09:36:02:795 BST] 0000002f com.ibm.rules.res.execution I Creates the XU plug-in with properties {protocol=jmx, xuName=xuHTDS, pluginClass=Management}.
[23/09/18 09:36:02:815 BST] 0000002f com.ibm.rules.res.execution I Creates the XU plug-in with properties {pluginClass=HTDS}.
[23/09/18 09:36:02:826 BST] 0000002f com.ibm.rules.res.execution I Starts the XU plug-in com.ibm.rules.res.xu.management.XUManagementPlugin@271bf2ea.
[23/09/18 09:36:02:829 BST] 0000002f com.ibm.rules.res.execution.xu.plugin.management I GBRXU4002I: Starts the MBean plug-in.
[23/09/18 09:36:02:879 BST] 0000002f com.ibm.rules.res.execution I Starts the XU plug-in com.ibm.rules.htds.plugin.cci.internal.DLGeneratorPlugin@abf668bc.
[23/09/18 09:36:02:942 BST] 0000002f com.ibm.ws.jca.cm.ConnectorService I J2CA8050I: An authentication alias should be used instead of defining a user name and password on dataSource[derbyEmbedded].
[23/09/18 09:36:03:136 BST] 0000002f com.ibm.ws.recoverylog.spi.RecoveryDirectorImpl I CWRLS0010I: Performing recovery processing for local WebSphere server (odm).
[23/09/18 09:36:03:182 BST] 00000034 com.ibm.ws.recoverylog.spi.LogHandle I CWRLS0007I: No existing recovery log files found in /home/wasadmin/wlp/usr/servers/odm/tranlog//tranlog. Cold starting the recovery log.
[23/09/18 09:36:03:183 BST] 00000034 com.ibm.ws.recoverylog.spi.LogFileHandle I CWRLS0006I: Creating new recovery log file /home/wasadmin/wlp/usr/servers/odm/tranlog//tranlog/log1.
[23/09/18 09:36:03:188 BST] 00000034 com.ibm.ws.recoverylog.spi.LogFileHandle I CWRLS0006I: Creating new recovery log file /home/wasadmin/wlp/usr/servers/odm/tranlog//tranlog/log2.
[23/09/18 09:36:03:333 BST] 00000034 com.ibm.ws.recoverylog.spi.LogHandle I CWRLS0007I: No existing recovery log files found in /home/wasadmin/wlp/usr/servers/odm/tranlog//partnerlog. Cold starting the recovery log.
[23/09/18 09:36:03:333 BST] 00000034 com.ibm.ws.recoverylog.spi.LogFileHandle I CWRLS0006I: Creating new recovery log file /home/wasadmin/wlp/usr/servers/odm/tranlog//partnerlog/log1.
[23/09/18 09:36:03:336 BST] 00000034 com.ibm.ws.recoverylog.spi.LogFileHandle I CWRLS0006I: Creating new recovery log file /home/wasadmin/wlp/usr/servers/odm/tranlog//partnerlog/log2.
[23/09/18 09:36:03:424 BST] 00000034 com.ibm.tx.jta.impl.RecoveryManager I WTRN0135I: Transaction service recovering no transactions.
[23/09/18 09:36:03:426 BST] 0000002f com.ibm.ws.recoverylog.spi.RecoveryDirectorImpl I CWRLS0012I: All persistent services have been directed to perform recovery processing for this WebSphere server (odm).
[23/09/18 09:36:03:863 BST] 0000002c com.ibm.ws.webcontainer.osgi.webapp.WebGroup I SRVE0169I: Loading Web Module: Rule Execution Server Console.
[23/09/18 09:36:03:863 BST] 0000002c com.ibm.ws.webcontainer I SRVE0250I: Web Module Rule Execution Server Console has been bound to default_host.
[23/09/18 09:36:03:863 BST] 0000002c com.ibm.ws.http.internal.VirtualHostImpl A CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/res/
[23/09/18 09:36:03:863 BST] 0000002c com.ibm.ws.app.manager.AppMessageHelper A CWWKZ0001I: Application res started in 3.248 seconds.
[23/09/18 09:36:03:867 BST] 00000023 com.ibm.ws.kernel.feature.internal.FeatureManager A CWWKF0012I: The server installed the following features: [jsp-2.3, concurrent-1.0, servlet-3.1, ssl-1.0, jndi-1.0, distributedMap-1.0, appSecurity-2.0, jdbc-4.1, el-3.0].
[23/09/18 09:36:03:868 BST] 00000023 com.ibm.ws.kernel.feature.internal.FeatureManager I CWWKF0008I: Feature update completed in 4.612 seconds.
[23/09/18 09:36:03:868 BST] 00000023 com.ibm.ws.kernel.feature.internal.FeatureManager A CWWKF0011I: The server odm is ready to run a smarter planet.
[23/09/18 09:36:03:880 BST] 00000027 com.ibm.ws.webcontainer.osgi.mbeans.PluginGenerator I SRVE9103I: A configuration file for a web server plugin was automatically generated for this server at /home/wasadmin/wlp/usr/servers/odm/logs/state/plugin-cfg.xml.
[23/09/18 09:36:04:509 BST] 0000002e com.ibm.ws.session.WASSessionCore I SESN0176I: A new session context will be created for application key default_host/res
[23/09/18 09:36:04:510 BST] 0000002e com.ibm.ws.util I SESN0172I: The session manager is using the Java default SecureRandom implementation for session ID generation.
[23/09/18 09:36:04:566 BST] 0000002f com.ibm.ws.rsadapter.impl.DatabaseHelper I DSRA8203I: Database product name : Apache Derby
[23/09/18 09:36:04:567 BST] 0000002f com.ibm.ws.rsadapter.impl.DatabaseHelper I DSRA8204I: Database product version : 10.10.2.0 - (1582446)
[23/09/18 09:36:04:567 BST] 0000002f com.ibm.ws.rsadapter.impl.DatabaseHelper I DSRA8205I: JDBC driver name : Apache Derby Embedded JDBC Driver
[23/09/18 09:36:04:567 BST] 0000002f com.ibm.ws.rsadapter.impl.DatabaseHelper I DSRA8206I: JDBC driver version : 10.10.2.0 - (1582446)
[23/09/18 09:36:05:289 BST] 0000002e com.ibm.rules.res.console I The operating system is Linux amd64 3.10.0-862.11.6.el7.x86_64.
[23/09/18 09:36:05:290 BST] 0000002e com.ibm.rules.res.console I The JVM is IBM Corporation IBM J9 VM 2.8.
[23/09/18 09:36:05:290 BST] 0000002e com.ibm.rules.res.console I The class path is /home/wasadmin/wlp/bin/tools/ws-server.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar.
[23/09/18 09:36:05:290 BST] 0000002e com.ibm.rules.res.console I Logging started. Rule Execution Server console version: Decision Server
[23/09/18 09:36:05:290 BST] 0000002e com.ibm.rules.res.console I Properties used for initialization:
allowIframe = true
autoCreateSchema = false
calendarType = gregorian
defaultDWConfiguration = factoryClassname=ilog.rules.res.persistence.impl.jdbc.IlrDatasourceTraceDAOFactory;JNDI_NAME=jdbc/resdatasource
distributed.mode = true
filePersistenceDirectory = res_data
fileXomPersistenceDirectory = res_xom
ilog.rules.res.HELP_CONTEXT = http://www.ibm.com/support/knowledgecenter/SSQP76_8.9.1
ilog.rules.res.HELP_INDEX = http://www.ibm.com/support/knowledgecenter/SSQP76_8.9.1/com.ibm.odm.dserver.rules.res.console/cshelp_resconsole.xml
ilog.rules.res.HELP_TOPIC = com.ibm.odm.dserver.rules.res.console
ilog.rules.res.HTDS_CONTEXT = /DecisionService
ilog.rules.res.XOM_IN_RULEAPP_ARCHIVE = false
ilog.rules.res.trace.DECISIONWAREHOUSE_CONFIGURATIONS = defaultDWConfiguration
javax.faces.STATE_SAVING_METHOD = server
management.protocol = jmx
management.tcpip.port = 1883
management.tcpip.timeout = 20
onDocker = false
org.apache.myfaces.ADD_RESOURCE_CLASS = org.apache.myfaces.renderkit.html.util.DefaultAddResource
org.apache.myfaces.ALLOW_JAVASCRIPT = true
org.apache.myfaces.AUTO_SCROLL = true
org.apache.myfaces.CHECK_EXTENSIONS_FILTER = false
org.apache.myfaces.COMPRESS_STATE_IN_SESSION = false
org.apache.myfaces.DETECT_JAVASCRIPT = false
org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION = 10
org.apache.myfaces.PRETTY_HTML = true
org.apache.myfaces.READONLY_AS_DISABLED_FOR_SELECTS = true
org.apache.myfaces.RESOURCE_VIRTUAL_PATH = /faces/myFacesExtensionResource
org.apache.myfaces.SERIALIZE_STATE_IN_SESSION = false
org.apache.myfaces.VALIDATE = false
org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL = true
persistenceType = datasource
resconsole-logging-config-filename = resconsole-logging.properties
server-info-max-length = 100
xomPersistenceType = datasource
[23/09/18 09:36:05:365 BST] 0000002e com.ibm.rules.res.persistence I XOM repository set in database persistence mode: Apache Derby 10.10.2.0 - (1582446)
[23/09/18 09:36:05:390 BST] 0000002e com.ibm.rules.res.console I Reading Decision Warehouse configurations from web.xml
[23/09/18 09:36:05:399 BST] 0000002e com.ibm.rules.res.console I The Decision Warehouse configuration defaultDWConfiguration was loaded.
[23/09/18 09:36:05:403 BST] 0000002e com.ibm.rules.res.console I The trace DAO factory was initialized: ilog.rules.res.persistence.impl.jdbc.IlrDatasourceTraceDAOFactory
[23/09/18 09:36:05:765 BST] 0000002e com.ibm.rules.res.console E Initialization failed
ilog.rules.res.console.IlrConsoleException: The persistence check failed. Diagnostic report:
DAO Class Name = ilog.rules.res.persistence.impl.jdbc.IlrGenericRepositoryDAO
Database Product Name = Apache Derby
Database Product Version = 10.10.2.0 - (1582446)
Driver Name = Apache Derby Embedded JDBC Driver
Driver Product Version = 10.10.2.0 - (1582446)
Ruleset enabled view test passed = False
RuleApp properties table test passed = False
RuleApps table test passed = False
Ruleset properties table test passed = False
Ruleset resources table test passed = False
Rulesets table test passed = False
Is Transaction Supported = True
JDBC URL = jdbc:derby:/home/wasadmin/wlp/usr/shared/config//derby/resdb
Username = resdbUser.
at ilog.rules.res.console.util.IlrModelManager.init(IlrModelManager.java:187)
at ilog.rules.res.console.util.IlrConsoleInitializer.consoleInitialized(IlrConsoleInitializer.java:126)
at ilog.rules.res.console.util.IlrConsoleInitializer.consoleInitialized(IlrConsoleInitializer.java:109)
at ilog.rules.res.console.IlrServletContextListener.contextInitialized(IlrServletContextListener.java:26)
at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:2384)
at com.ibm.ws.webcontainer31.osgi.webapp.WebApp31.notifyServletContextCreated(WebApp31.java:514)
at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:1012)
at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:6574)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApp(DynamicVirtualHost.java:467)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApplication(DynamicVirtualHost.java:462)
at com.ibm.ws.webcontainer.osgi.WebContainer.startWebApplication(WebContainer.java:1132)
at com.ibm.ws.webcontainer.osgi.WebContainer.access$000(WebContainer.java:108)
at com.ibm.ws.webcontainer.osgi.WebContainer$3.run(WebContainer.java:944)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:522)
at java.util.concurrent.FutureTask.run(FutureTask.java:277)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.lang.Thread.run(Thread.java:785)
[23/09/18 09:36:05:818 BST] 0000002e com.ibm.ws.webcontainer.servlet I SRVE0242I: [res] [/res] [FacesServlet]: Initialization successful.
...
Access RES
https://workflow.uk.ibm.com:10443/res/login.jsf
(1) Need to authenticate as resAdmin
(2) Need to run through "Installation Settings Wizard" to set up database
(3) Deploy Rule App e.g. HelloWorldRuleApp_19012016.jar
(4) Use HTDS to test Rule App via REST
(5) Monitor logs for output
cat /home/wasadmin/wlp/usr/servers/odm/logs/console.log
...
Hello Dave Hay!
...
cat /home/wasadmin/wlp/usr/servers/odm/logs/messages.log
...
[23/09/18 09:40:02:220 BST] 00000051 SystemOut O Hello Dave Hay!
...
URL for HTDS: -
https://workflow.uk.ibm.com:10443/DecisionService/run.jsp?path=/HelloWorldRuleApp/1.0/HelloWorld&trace=false&type=WADL&kind=native
Additional Sources of Info
https://www.ibm.com/support/knowledgecenter/en/SSQP76_8.9.2/com.ibm.odm.distrib.config.wlp/config_ds_res_liberty/tsk_wlp_deploy_mgmt_war.html
I'll update this once I get my hands on 8.9.2 ……