Question
Areteans Technology Solutions
IN
Last activity: 4 Jul 2016 10:46 EDT
Use encrypted Oracle password in setupDatabase.properties and prpcUtils.properties
We need to use encrypted Oracle password in the setupDatabase.properties file and prpcUtils.properties file.
By default the Oracle schema and password are stored in setupDatabase.properties as plain text as given below:
pega.jdbc.username=opex_prpc
pega.jdbc.password=password
We need to use encrypted password in this file.
Please inform how can we encrypt the password and use that encrypted password.
Pega is running on Oracle 11g and WebSphere 8.5.5.
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Accepted Solution
Pegasystems Inc.
GB
I follow the below steps and managed to generate a keyring file:
To generate a pegarules.keyring the followings are required:
A) 5 jar files:
- prbootstrap.jar
- prbootstrap-api.jar
- prdbcp.jar
- jsr94-1.0.jar
- your_database_driver.jar
The first 4 jars can be found in \Additional_Products\BIX\lib directory of the PRPC72 installation media.
B) 3 configuration files:
- prbootstrap.properties
- prconfig.xml
- prlogging.xml
The prbootstrap.properties and prconfig.xml need to be updated with database access details.
For example, a sample simon_keyring_execute.bat script has been created under \Additional_Products\BIX directory.
All the configuration files are located in \Additional_Products\BIX\config directory
I follow the below steps and managed to generate a keyring file:
To generate a pegarules.keyring the followings are required:
A) 5 jar files:
- prbootstrap.jar
- prbootstrap-api.jar
- prdbcp.jar
- jsr94-1.0.jar
- your_database_driver.jar
The first 4 jars can be found in \Additional_Products\BIX\lib directory of the PRPC72 installation media.
B) 3 configuration files:
- prbootstrap.properties
- prconfig.xml
- prlogging.xml
The prbootstrap.properties and prconfig.xml need to be updated with database access details.
For example, a sample simon_keyring_execute.bat script has been created under \Additional_Products\BIX directory.
All the configuration files are located in \Additional_Products\BIX\config directory
The simon_keyring_execute.bat has been implemented as following:
set java_home="C:\Java\Sun\jdk1.7.0_80"
set CLASSPATH=".;G:\InstallationFiles\PRPC\PRPC\115041_Pega72\Additional_Products\BIX\lib\prbootstrap.jar;G:\InstallationFiles\PRPC\PRPC\115041_Pega72\Additional_Products\BIX\lib\prbootstrap-api.jar;G:\InstallationFiles\PRPC\PRPC\115041_Pega72\Additional_Products\BIX\lib\prdbcp.jar;F:\Apache\apache-tomcat-7.0.27\lib\ojdbc6.jar;G:\InstallationFiles\PRPC\PRPC\115041_Pega72\Additional_Products\BIX\lib\jsr94-1.0.jar"
"%JAVA_HOME%\bin\java" -classpath %CLASSPATH% -Xms512m -Xmx768m -Dcom.pega.pegarules.bootstrap.properties.url=.\config\prbootstrap.properties -Dpegarules.config=.\config\prconfig.xml -Dpegarules.logging.configuration=.\config\prlogging.xml -Dcom.pega.pegarules.bootstrap.ignorejndi=true com.pega.pegarules.pub.PegaRULES com.pega.pegarules.exec.internal.util.crypto.KeyringImpl .\config\pegarules.keyring .\config\prconfig.xml "G:\InstallationFiles\PRPC\PRPC\115041_Pega72\Additional_Products\BIX"
Note that the paths to configurations files are relative. (-Dcom.pega.pegarules.bootstrap.properties.url=.\config\prbootstrap.properties -Dpegarules.config=.\config\prconfig.xml -Dpegarules.logging.configuration=.\config\prlogging.xml )
Once the script is executed, the PegaRULES engine will initialize and the command shell will prompt for the passwords and generating the keyring file.
Regards
Simon
Pegasystems
IN
Please see the following PDN article on how to encrypt the passwords - https://pdn.pega.com/how-encrypt-passwords-properties-and-blobs
Areteans Technology Solutions
IN
What will be the content of pegarules.keyring file? Where it can be found?
Pegasystems Inc.
US
Hi Debraj,
In order to create the pegarules.keyring file you need call the Process Commander java class KeyringImpl inorder to generate it.
Kindly go through the below link to understand more about the process,
https://pdn.pega.com/how-encrypt-database-passwords-using-jce-keyring-file
Regards,
Mahesh
Areteans Technology Solutions
IN
I am running this command:
I am running this command:
java -Dpegarules.config=/app/localstorage/OurTempPega/WEB-INF/classes/prconfig.xml -Dpegarules.logging.configuration=/app/localstorage/OurTempPega/WEB-INF/classes/prlogging.xml -classpath /app/opexw/opexw_web_deploy/prpc/prweb.war:/app/localstorage/OurTempPega/WEB-INF/lib/pega/prprivcommon.jar:/app/localstorage/OurTempPega/WEB-INF/lib/pega/prenginext.jar:/app/localstorage/OurTempPega/WEB-INF/lib/pega/printegrint.jar:/app/localstorage/OurTempPega/WEB-INF/lib/pega/printegrext.jar:/app/localstorage/OurTempPega/WEB-INF/lib/pega/preventbus.jar:/app/localstorage/OurTempPega/WEB-INF/lib/pega/pmd-4.2.5.jar:/app/localstorage/OurTempPega/WEB-INF/lib/pega/prpmd-4.3.jar:/app/localstorage/OurTempPega/WEB-INF/lib/pega/prdirectstream.jar:/app/localstorage/OurTempPega/WEB-INF/lib/jsr94-1.0.jar:/app/localstorage/OurTempPega/WEB-INF/lib/prbootstrap.jar:/app/localstorage/OurTempPega/WEB-INF/lib/prdbcp.jar:/app/localstorage/OurTempPega/WEB-INF/lib/prbootstrap-api.jar:/app/localstorage/OurTempPega/WEB-INF/lib/prresources.jar:/app/localstorage/OurTempPega/WEB-INF/lib/ojdbc6.jar:/app/localstorage/OurTempPega/WEB-INF/lib/pega/prprivate.jar:/app/localstorage/OurTempPega/WEB-INF/lib/pega/prpublic.jar:/app/localstorage/OurTempPega/WEB-INF/lib/pega/prlogging-1.2.14.jar:/app/localstorage/OurTempPega/WEB-INF/lib/pega/prlucene-4.6.1.jar:/app/localstorage/OurTempPega/WEB-INF/lib/pega/prjsr166java6-3.0.jar:/app/localstorage/OurTempPega/WEB-INF/lib/pega/pricu2jdk.jar com.pega.pegarules.exec.internal.util.crypto.KeyringImpl /app/localstorage/OurTempPega/WEB-INF/classes/pegarules.keyring /app/localstorage/OurTempPega/WEB-INF/classes/prconfig.xml /app/localstorage/OurTempPega
I have set the entry in prconfig.xml as given below:
<env name="initialization/settingsource" value="merged" />
<env name="database/databases/PegaRULES/dataSource" value="java:comp/env/jdbc/PegaRULES"/>
<env name="database/databases/PegaDATA/dataSource" value="java:comp/env/jdbc/PegaRULES"/>
<env name="database/drivers" value="oracle.jdbc.OracleDriver" />
<env name="database/databases/PegaRULES/url" value="jdbc:oracle:thin:@//server.com:1521/DOP.DEV.GBL.CMP.NET" />
<env name="database/databases/PegaRULES/userName" value="dpen_rules" />
<env name="database/databases/PegaRULES/password" value="dpenora123456!" />
<env name="database/databases/PegaDATA/url" value="jdbc:oracle:thin:@//server.com:1521/DOP.DEV.GBL.CMP.NET" />
<env name="database/databases/PegaDATA/userName" value="dpen_data" />
<env name="database/databases/PegaDATA/password" value="dpenora123456!" />
</pegarules>
I made no change in prbootstrap.properties.
It is giving the below error:
Jun 16, 2016 5:14:38 PM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
19830421: Loading bootstrap properties from /prbootstrap.properties
Jun 16, 2016 5:14:38 PM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI
19830421: Could not find java:comp/env/prbootstrap/ in the local JNDI context, skipping prconfig setting lookup
Jun 16, 2016 5:14:38 PM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI
19830421: Could not find prbootstrap in the local JNDI context, skipping prconfig setting lookup
Jun 16, 2016 5:14:38 PM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI
19830421: Could not find java:comp/env/prconfig/ in the local JNDI context, skipping prconfig setting lookup
Jun 16, 2016 5:14:38 PM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI
19830421: Could not find prconfig in the local JNDI context, skipping prconfig setting lookup
Jun 16, 2016 5:14:38 PM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
19830421: Bootstrap datatables schema: null
Jun 16, 2016 5:14:38 PM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
19830421: Archive version [0]
Jun 16, 2016 5:14:38 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: Engine schema defined in allclasses: null
Jun 16, 2016 5:14:38 PM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI
19830421: Could not find java:comp/env/prconfig/ in the local JNDI context, skipping prconfig setting lookup
Jun 16, 2016 5:14:38 PM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI
19830421: Could not find prconfig in the local JNDI context, skipping prconfig setting lookup
Jun 16, 2016 5:14:38 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: Engine classes schema: null
Jun 16, 2016 5:14:38 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: Assembled classes schema: null
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /PegaBIX-2016-Jun-16.log (Permission denied)
Pegasystems Inc.
US
That looks like an issue with your prlogging.xml file.
java.io.FileNotFoundException: /PegaBIX-2016-Jun-16.log (Permission denied)
I expect you are using the OOB version and the {web.tmpdir} as the directory location to write the files. When running command line tools you need to update this property is not set and thus it tries to write the just /. Update the file to have a valid path, or just remove the directory and have it write to where you are running the script from.
<appender name="BIX" class="com.pega.pegarules.priv.util.DailySizeRollingFileAppenderPega">
<param name="FileNamePattern" value="'@{web.tmpdir}/PegaBIX-'yyyy-MMM-dd'.log'"/>
<param name="MaxFileSize" value="500MB" />
<layout class="com.pega.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%20.20t] [%20.20X{tenantid}] [%20.20X{app}] (%30.30c{3}) %-5p %X{stack} %X{userid} - %m%n"/>
</layout>
</appender>
TCS
IN
Another way is, just run command line tool with password in prpcutils.properties. Make sure its not deleting the files generated in the tmp directory. Upon completion, you can see prconfig.xml, prlogging.xml and prbootstrap.properties generated in the tmp path. Better copy those files and make slight changes as needed. Then run the CMD line with these files mentioned in prpcutils.properties and remeove the password field from prpcutils.properties. If this works then we can go for encryption.
Areteans Technology Solutions
IN
Thanks. I removed @{web.tmpdir}/ from prlogging.xml and the FileNotFoundException was resolved. Now I am getting the below error:
Found spec for PegaRULES logging configuration using System property: /app/localstorage/OurTempPega/WEB-INF/classes/prlogging.xml
Located PegaRULES logging configuration: file:/app/localstorage/OurTempPega/WEB-INF/classes/prlogging.xml
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.pega.pegarules.exec.internal.util.crypto.KeyringImpl.main(KeyringImpl.java:649)
Caused by: java.lang.RuntimeException: Unable to create provider Cluster
at com.pega.pegarules.common.PREngineProvider.<clinit>(PREngineProvider.java:157)
... 1 more
Caused by: java.lang.ClassNotFoundException: com.pega.pegarules.cluster.internal.PRClusterProviderImpl
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.pega.pegarules.common.PREngineProvider.<clinit>(PREngineProvider.java:138)
... 1 more
Pegasystems Inc.
US
You mentioned that you made no change to prbootstrap.properties file. Did you not create a prbootstrap file with your database connection information in it? You also have way more on your classpath than what is needed for generating a keyring file. Please look at the link that Rajiv posted for details on how to generate the keyring file.
Please see the following PDN article on how to encrypt the passwords - https://pdn.pega.com/how-encrypt-passwords-properties-and-blobs
Areteans Technology Solutions
IN
I ran the below command:
java -Xms512m -Xmx768m -classpath .:/app/opexw/opex_media/Additional_Products/BIX/lib/jsr94-1.0.jar:/app/opexw/opex_media/Additional_Products/BIX/lib/prbootstrap.jar:/app/opexw/opex_media/Additional_Products/BIX/lib/prdbcp.jar:/app/opexw/opex_media/Additional_Products/BIX/lib/prbootstrap-api.jar:/app/localstorage/OurTempPega/WEB-INF/lib/ojdbc6.jar -Dcom.pega.pegarules.bootstrap.properties.url=/app/opexw/opex_media/Additional_Products/BIX/config/prbootstrap.properties -Dpegarules.config=/app/opexw/opex_media/Additional_Products/BIX/config/prconfig.xml -Dpegarules.logging.configuration=/app/opexw/opex_media/Additional_Products/BIX/config/prlogging.xml -Dcom.pega.pegarules.bootstrap.ignorejndi=true com.pega.pegarules.pub.PegaRULES com.pega.pegarules.exec.internal.util.crypto.KeyringImpl /app/opexw/opex_media/Additional_Products/BIX/config/pegarules.keyring /app/opexw/opex_media/Additional_Products/BIX/config/prconfig.xml "/app/opexw/opex_media/Additional_Products/BIX"
The prbootstrap.properties files has the following lines uncommented:
I ran the below command:
java -Xms512m -Xmx768m -classpath .:/app/opexw/opex_media/Additional_Products/BIX/lib/jsr94-1.0.jar:/app/opexw/opex_media/Additional_Products/BIX/lib/prbootstrap.jar:/app/opexw/opex_media/Additional_Products/BIX/lib/prdbcp.jar:/app/opexw/opex_media/Additional_Products/BIX/lib/prbootstrap-api.jar:/app/localstorage/OurTempPega/WEB-INF/lib/ojdbc6.jar -Dcom.pega.pegarules.bootstrap.properties.url=/app/opexw/opex_media/Additional_Products/BIX/config/prbootstrap.properties -Dpegarules.config=/app/opexw/opex_media/Additional_Products/BIX/config/prconfig.xml -Dpegarules.logging.configuration=/app/opexw/opex_media/Additional_Products/BIX/config/prlogging.xml -Dcom.pega.pegarules.bootstrap.ignorejndi=true com.pega.pegarules.pub.PegaRULES com.pega.pegarules.exec.internal.util.crypto.KeyringImpl /app/opexw/opex_media/Additional_Products/BIX/config/pegarules.keyring /app/opexw/opex_media/Additional_Products/BIX/config/prconfig.xml "/app/opexw/opex_media/Additional_Products/BIX"
The prbootstrap.properties files has the following lines uncommented:
initialization.settingsource=merged
com.pega.pegarules.bootstrap.allclasses.datasource=java:comp/env/jdbc/PegaRULES
com.pega.pegarules.bootstrap.allclasses.dbcpsource=example.oracle
example.oracle.url=jdbc:oracle:thin:@//test-scan.ldn.swissbank.com:1521/DBORA.DEV.GBL.UBS.NET
example.oracle.username=opex_prpc
example.oracle.password=test239!
oracle.jdbc.class=oracle.jdbc.OracleDriver
com.pega.pegarules.bootstrap.allclasses.schema=opex_rules
com.pega.pegarules.bootstrap.datatables.schema=opex_data
maxActive=10
maxIdle=5
maxWait=-1
poolPreparedStatements=true
The prconfig.xml file has the following lines:
<?xml version="1.0" encoding="UTF-8"?>
<pegarules>
<env name="identification/systemName" value="pega" />
<env name="initialization/settingsource" value="merged" />
<env name="fua/conclusionQueryPerformance" value="false" />
<env name="initialization/minimalStartup" value="true" />
<env name="ruleresolution/useclassancestorjoin" value="false" />
<env name="ruleresolution/userulesetindexjoin" value="false" />
<env name="ruleresolution/usejoinsforallclasses" value="false" />
<env name="agent/enable" value="false" />
<env name="fua/enableAssemblyAvoidance" value="false" />
<env name="agent/masteragentenable" value="false" />
<env name="initialization/daemonenable" value="false" />
<env name="usage/usagetrackingenabled" value="false" />
<env name="asyncservices/enable" value="false" />
<env name="/compatibility/BIXUseOptimizedClipboardXML" value="true" />
<env name="/compatibility/BIXdisableForwardChaining" value="true" />
<env name="/compatibility/BIXdisableBackwardChaining" value="false" />
<env name="database/databases/PegaRULES/dataSource" value="java:comp/env/jdbc/PegaRULES"/>
<env name="database/databases/PegaDATA/dataSource" value="java:comp/env/jdbc/PegaRULES"/>
<env name="database/drivers" value="oracle.jdbc.OracleDriver" />
<env name="database/databases/PegaRULES/url" value="jdbc:oracle:thin:@//test-scan.ldn.swissbank.com:1521/DBORA.DEV.GBL.UBS.NET;SelectMethod=cursor;SendStringParametersAsUnicode=false" />
<env name="database/databases/PegaRULES/userName" value="opex_rules" />
<env name="database/databases/PegaRULES/password" value="test239!" />
<env name="database/databases/PegaDATA/url" value="jdbc:oracle:thin:@//test-scan.ldn.swissbank.com:1521/DBORA.DEV.GBL.UBS.NET;SelectMethod=cursor;SendStringParametersAsUnicode=false" />
<env name="database/databases/PegaDATA/userName" value="opex_data" />
<env name="database/databases/PegaDATA/password" value="test239!" />
</pegarules>
Now I am getting the below error:
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
SEVERE: Invalid bootstrap property URL "/app/opexw/opex_media/Additional_Products/BIX/config/prbootstrap.properties"
java.net.MalformedURLException: no protocol: /app/opexw/opex_media/Additional_Products/BIX/config/prbootstrap.properties
at java.net.URL.<init>(URL.java:586)
at java.net.URL.<init>(URL.java:483)
at java.net.URL.<init>(URL.java:432)
at com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource.getBootstrapPropertiesFromFile(PRBootstrapDataSource.java:755)
at com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource.getBootstrapProperties(PRBootstrapDataSource.java:617)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.<clinit>(PRBootstrap.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.checkForStartup(AppServerBridgeToPega.java:117)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:223)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:273)
at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85)
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
19830421: Unable to locate bootstrap properties, continuing with no property file
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI
19830421: Could not find java:comp/env/prbootstrap/ in the local JNDI context, skipping prconfig setting lookup
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI
19830421: Could not find prbootstrap in the local JNDI context, skipping prconfig setting lookup
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
19830421: Unable to locate archive.properties properties, setting warVersion to -1
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: Engine schema defined in allclasses: null
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: Engine classes schema: null
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: Assembled classes schema: null
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421:
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: *=================================================================*
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: prbootstrap.properties missing key for initialization.settingsource
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: NOTE: likely due to using a copy of prbootstrap.properties from a pre-6.1 SP2 install.
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: >> assuming "initialization.settingsource=file"; note that
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: this excludes use of entries in Data-Admin-System-Settings as prbootstrap settings
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: *=================================================================*
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421: PRBootstrap.calculateEngineCodeVersionFromDB() - unable to calculate codeset version from database: null
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRMiniLoader
19830421: Will load phase 2 bootstrap from Pega-EngineCode:
/app/opexw/opex_media/Additional_Products/BIX/lib/boot/prbootphase2.jar (No such file or directory)
Perhaps executing with a non-standard classpath (e.g. JUnit tests)?
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
19830421:
============ PegaRULES Bootstrap Configuration ============
Date: Mon Jun 27 17:10:17 BST 2016
Java Version: Oracle Corporation 1.8.0_66
Configuration: /app/opexw/opex_media/Additional_Products/BIX/config/prbootstrap.properties
Pega-EngineCode:
Ignored JNDI Options
Unable to locate classes on filesystem
=============== End Bootstrap Configuration ===============
Unable to load phase 2 bootstrap class: com.pega.pegarules.internal.bootstrap.phase2.PRBootstrapImpl
Jun 27, 2016 5:10:17 PM com.pega.pegarules.internal.bootstrap.PRBootstrap
SEVERE: Error initializing PRAppLoader
java.lang.ClassNotFoundException: com.pega.pegarules.internal.bootstrap.phase2.PRBootstrapImpl
at com.pega.pegarules.internal.bootstrap.PRMiniLoader.loadClass(PRMiniLoader.java:388)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.loadPhase2BootstrapClass(PRBootstrap.java:720)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.checkForStartup(PRBootstrap.java:662)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:408)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:273)
at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85)
Jun 27, 2016 5:10:17 PM com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega
SEVERE: Problem during method invocation (main)
java.lang.RuntimeException: PRAppLoader was not properly initialized, unable to load class com.pega.pegarules.exec.internal.util.crypto.KeyringImpl
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getImplementationOf(PRBootstrap.java:208)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getEntry(PRBootstrap.java:324)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getMethod(PRBootstrap.java:304)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:409)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:273)
at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85)
Exception in thread "main" java.lang.RuntimeException: Problem during method invocation (main)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:279)
at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85)
Caused by: java.lang.RuntimeException: PRAppLoader was not properly initialized, unable to load class com.pega.pegarules.exec.internal.util.crypto.KeyringImpl
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getImplementationOf(PRBootstrap.java:208)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getEntry(PRBootstrap.java:324)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getMethod(PRBootstrap.java:304)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:409)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:273)
... 1 more
Please inform if anything needs to be changed in prbootstrap.properties file or prconfig.xml file. No log file was generated
Areteans Technology Solutions
IN
The error of java.net.MalformedURLException occured because the paths to property/configuration files were in absolute format. The paths to all the property/configuration files need to be relative.
The modified command given below ran successfully and generated the pegarules.keyring file:
$ cd /app/opexw/opex_media/Additional_Products/BIX
$ pwd
/app/opexw/opex_media/Additional_Products/BIX
$ java -Xms512m -Xmx768m -classpath .:/app/opexw/opex_media/Additional_Products/BIX/lib/jsr94-1.0.jar:/app/opexw/opex_media/Additional_Products/BIX/lib/prbootstrap.jar:/app/opexw/opex_media/Additional_Products/BIX/lib/prdbcp.jar:/app/opexw/opex_media/Additional_Products/BIX/lib/prbootstrap-api.jar:/app/localstorage/OurTempPega/WEB-INF/lib/ojdbc6.jar -Dcom.pega.pegarules.bootstrap.properties.url=./config/prbootstrap.properties -Dpegarules.config=./config/prconfig.xml -Dpegarules.logging.configuration=./config/prlogging.xml -Dcom.pega.pegarules.bootstrap.ignorejndi=true com.pega.pegarules.pub.PegaRULES com.pega.pegarules.exec.internal.util.crypto.KeyringImpl ./config/pegarules.keyring ./config/prconfig.xml "/app/opexw/opex_media/Additional_Products/BIX"
In the PDN links it is nowhere written that relative paths must be used. Also the following arguments are not mentioned in the PDN links:
-Dcom.pega.pegarules.bootstrap.ignorejndi=true com.pega.pegarules.pub.PegaRULES
Pegasystems Inc.
US
To specify the system property for your bootstrap.properties file with a full path you would need to use this format.
-Dcom.pega.pegarules.bootstrap.properties.url=file:///<full path to file>
You are also correct that ignorejndi needs to be set to true. The com.pega.pegarules.pub.PegaRULES is mentioned in the article. In general the article was written to show you how to use the runPega script. There are several areas which could be clarified if you are running the java command directly instead of using the runPega script.
Accepted Solution
Pegasystems Inc.
GB
I follow the below steps and managed to generate a keyring file:
To generate a pegarules.keyring the followings are required:
A) 5 jar files:
- prbootstrap.jar
- prbootstrap-api.jar
- prdbcp.jar
- jsr94-1.0.jar
- your_database_driver.jar
The first 4 jars can be found in \Additional_Products\BIX\lib directory of the PRPC72 installation media.
B) 3 configuration files:
- prbootstrap.properties
- prconfig.xml
- prlogging.xml
The prbootstrap.properties and prconfig.xml need to be updated with database access details.
For example, a sample simon_keyring_execute.bat script has been created under \Additional_Products\BIX directory.
All the configuration files are located in \Additional_Products\BIX\config directory
I follow the below steps and managed to generate a keyring file:
To generate a pegarules.keyring the followings are required:
A) 5 jar files:
- prbootstrap.jar
- prbootstrap-api.jar
- prdbcp.jar
- jsr94-1.0.jar
- your_database_driver.jar
The first 4 jars can be found in \Additional_Products\BIX\lib directory of the PRPC72 installation media.
B) 3 configuration files:
- prbootstrap.properties
- prconfig.xml
- prlogging.xml
The prbootstrap.properties and prconfig.xml need to be updated with database access details.
For example, a sample simon_keyring_execute.bat script has been created under \Additional_Products\BIX directory.
All the configuration files are located in \Additional_Products\BIX\config directory
The simon_keyring_execute.bat has been implemented as following:
set java_home="C:\Java\Sun\jdk1.7.0_80"
set CLASSPATH=".;G:\InstallationFiles\PRPC\PRPC\115041_Pega72\Additional_Products\BIX\lib\prbootstrap.jar;G:\InstallationFiles\PRPC\PRPC\115041_Pega72\Additional_Products\BIX\lib\prbootstrap-api.jar;G:\InstallationFiles\PRPC\PRPC\115041_Pega72\Additional_Products\BIX\lib\prdbcp.jar;F:\Apache\apache-tomcat-7.0.27\lib\ojdbc6.jar;G:\InstallationFiles\PRPC\PRPC\115041_Pega72\Additional_Products\BIX\lib\jsr94-1.0.jar"
"%JAVA_HOME%\bin\java" -classpath %CLASSPATH% -Xms512m -Xmx768m -Dcom.pega.pegarules.bootstrap.properties.url=.\config\prbootstrap.properties -Dpegarules.config=.\config\prconfig.xml -Dpegarules.logging.configuration=.\config\prlogging.xml -Dcom.pega.pegarules.bootstrap.ignorejndi=true com.pega.pegarules.pub.PegaRULES com.pega.pegarules.exec.internal.util.crypto.KeyringImpl .\config\pegarules.keyring .\config\prconfig.xml "G:\InstallationFiles\PRPC\PRPC\115041_Pega72\Additional_Products\BIX"
Note that the paths to configurations files are relative. (-Dcom.pega.pegarules.bootstrap.properties.url=.\config\prbootstrap.properties -Dpegarules.config=.\config\prconfig.xml -Dpegarules.logging.configuration=.\config\prlogging.xml )
Once the script is executed, the PegaRULES engine will initialize and the command shell will prompt for the passwords and generating the keyring file.
Regards
Simon
-
Aravind chindanoor
Areteans Technology Solutions
IN
After the generation of pegarules.keyring file I did the following to use prpcUtils.properties without clear text password:
1) I placed pegarules.keyring file at /app/opexw/opex_media/Additional_Products/BIX/config.
2) In prconfig.xml I deleted the following lines with passwords:
<env name="database/databases/PegaRULES/password" value="test239!" />
<env name="database/databases/PegaDATA/password" value="test239!" />
3) In prbootstrap.properties I used the encrypted password generated with PassGen. Now the following un-commented lines are there in prbootstrap.properties file along with :
initialization.settingsource=merged
com.pega.pegarules.bootstrap.allclasses.datasource=java:comp/env/jdbc/PegaRULES
com.pega.pegarules.bootstrap.allclasses.dbcpsource=example.oracle
example.oracle.url=jdbc:oracle:thin:@//test-scan.ldn.swissbank.com:1521/DBORA.DEV.GBL.UBS.NET
example.oracle.username=opex_prpc
example.oracle.password=105c4d4a6266362e5af08e22efb4fa3554
oracle.jdbc.class=oracle.jdbc.OracleDriver
com.pega.pegarules.bootstrap.allclasses.schema=opex_rules
com.pega.pegarules.bootstrap.datatables.schema=opex_data
To generate this encrypted password I ran the below command:
After the generation of pegarules.keyring file I did the following to use prpcUtils.properties without clear text password:
1) I placed pegarules.keyring file at /app/opexw/opex_media/Additional_Products/BIX/config.
2) In prconfig.xml I deleted the following lines with passwords:
<env name="database/databases/PegaRULES/password" value="test239!" />
<env name="database/databases/PegaDATA/password" value="test239!" />
3) In prbootstrap.properties I used the encrypted password generated with PassGen. Now the following un-commented lines are there in prbootstrap.properties file along with :
initialization.settingsource=merged
com.pega.pegarules.bootstrap.allclasses.datasource=java:comp/env/jdbc/PegaRULES
com.pega.pegarules.bootstrap.allclasses.dbcpsource=example.oracle
example.oracle.url=jdbc:oracle:thin:@//test-scan.ldn.swissbank.com:1521/DBORA.DEV.GBL.UBS.NET
example.oracle.username=opex_prpc
example.oracle.password=105c4d4a6266362e5af08e22efb4fa3554
oracle.jdbc.class=oracle.jdbc.OracleDriver
com.pega.pegarules.bootstrap.allclasses.schema=opex_rules
com.pega.pegarules.bootstrap.datatables.schema=opex_data
To generate this encrypted password I ran the below command:
java -classpath /app/localstorage/OurTempPega/WEB-INF/lib/ojdbc6.jar:/app/opexw/opexw_web_deploy/prpc/prweb.war:/app/localstorage/OurTempPega/WEB-INF/classes:/app/localstorage/OurTempPega/WEB-INF/lib/jsr94-1.0.jar:/app/localstorage/OurTempPega/WEB-INF/lib/prbootstrap.jar:/app/localstorage/OurTempPega/WEB-INF/lib/prdbcp.jar:/app/localstorage/OurTempPega/WEB-INF/lib/prbootstrap-api.jar:/app/localstorage/OurTempPega/WEB-INF/lib/prresources.jar com.pega.pegarules.pub.PassGen test239!
4) In prpcUtils.properties I deleted the password and left “pega.jdbc.password=” property blank.
5) In prpcUtils.properties I specified the paths of prconfig.xml and prbootstrap.properties files:
pegarules.config=/app/opexw/opex_media/Additional_Products/BIX/config/prconfig.xml
prbootstrap.config=/app/opexw/opex_media/Additional_Products/BIX/config/prbootstrap.properties
6) In prpcUtils.xml I added the following element to prpc.base.path:
<pathelement location="/app/opexw/opex_media/Additional_Products/BIX/config/"/>
Reference URL:https://community.pega.com/support/support-articles/run-prpcutilsh-script-without-clear-case-password
7) In prpcUtils.xml I made the below changes:
1. Comment out pega:testconnectioninfo task around lines 409 to 418
2. Modify "Processing Configuration Files" task around line 421 to remove the depends='_findSystemName"
Reference URL:
Now I ran the below command:
./prpcUtils.sh import --archivePath /app/opexw/Releases/1.0.0.REL-SNAPSHOT/RAP/Prpc/P_Sprint6_20163006_V1.zip
I am getting the below error:
------------------------------------------
[java] Located PegaRULES logging configuration: file:/home/opexci/temp/PegaInstallTemp-04-July-2016-15.34.45/load/WEB-INF/classes/prlogging.xml | |||||||
[java] Found spec for PegaRULES (V5.x) configuration using System property: /app/opexw/opex_media/Additional_Products/BIX/config/prconfig.xml | |||||||
[java] Located PegaRULES (V5.x) configuration: file:/app/opexw/opex_media/Additional_Products/BIX/config/prconfig.xml | |||||||
[java] 2016-07-04 15:35:08,657 [ | main] [ | ] [ | ] ( | basic.config.SettingsImpl) INFO | - prconfig.xml merged with prconfig entries in Data-Admin-System-Settings | ||
[java] Jul 04, 2016 3:35:08 PM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI | |||||||
[java] 19830421: Could not find java:comp/env/prconfig/ in the local JNDI context, skipping prconfig setting lookup | |||||||
[java] Jul 04, 2016 3:35:08 PM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI | |||||||
[java] 19830421: Could not find prconfig in the local JNDI context, skipping prconfig setting lookup | |||||||
[java] 2016-07-04 15:35:08,741 [ | main] [ | ] [ | ] (able.DefaultVirtualTableConfig) INFO | - Using Hybrid Virtual Rules Table implementation | |||
[java] 2016-07-04 15:35:08,742 [ | main] [ | ] [ | ] (able.DefaultVirtualTableConfig) INFO | - VTable dispatches rules for 7 Aspects: 'Alias, Validate, Collection, Model, When, Action, Input'. | |||
[java] 2016-07-04 15:35:08,742 [ | main] [ | ] [ | ] (able.DefaultVirtualTableConfig) INFO | - ABA[AC] dispatches rules for 1 Aspect: 'Stream'. | |||
[java] 2016-07-04 15:35:08,743 [ | main] [ | ] [ | ] ( priv.context.JNDIEnvironment) INFO | - Enterprise-tier default Engine bean name is EngineBMT | |||
[java] 2016-07-04 15:35:08,752 [ | main] [ | ] [ | ] (r.context.EtierEnvironmentImpl) WARN | - Enterprise tier has no local JNDI context | |||
[java] reason: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial | |||||||
[java] 2016-07-04 15:35:08,875 [ | main] [ | ] [ | ] (ion.internal.PRGenProviderImpl) INFO | - invokeDynamic instrumentation for inlining is enabled | |||
[java] 2016-07-04 15:35:08,875 [ | main] [ | ] [ | ] (ion.internal.PRGenProviderImpl) INFO | - Assembly Version: -415794285 | |||
[java] 2016-07-04 15:35:09,300 [ | main] [ | ] [ | ] ( | internal.mgmt.EngineImpl) INFO | - PegaRULES Embedded Edition 7.20 (ML0) | ||
[java] 2016-07-04 15:35:09,300 [ | main] [ | ] [ | ] ( | internal.mgmt.EngineImpl) INFO | - coreAssemblyCached_72_868: 2016-02-03 21.31 EST | ||
[java] 2016-07-04 15:35:09,300 [ | main] [ | ] [ | ] ( | internal.mgmt.EngineImpl) INFO | - Now starting the PegaRULES Embedded Environment... | ||
[java] Located KeyringImpl keyring: file:/app/opexw/opex_media/Additional_Products/BIX/config/pegarules.keyring | |||||||
[java] 2016-07-04 15:35:09,533 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) INFO | - Base database information: | |||
[java] 2016-07-04 15:35:09,533 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) INFO | - | Database name: pegadata | ||
[java] 2016-07-04 15:35:09,533 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) INFO | - | Defined by: | JDBC URL | |
[java] 2016-07-04 15:35:09,533 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) INFO | - | JDBC URL: | jdbc:oracle:thin:@//dldno621d-scan.ldn.swissbank.com:1521/DOPEXW1B.DEV.GBL.UBS.NET | |
[java] 2016-07-04 15:35:09,533 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) INFO | - | Minimum connection count: | 0 | |
[java] 2016-07-04 15:35:09,533 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) INFO | - | Maximum connection count: | unlimited | |
[java] 2016-07-04 15:35:09,533 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) INFO | - | Failover database: | none | |
[java] 2016-07-04 15:35:09,533 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) INFO | - Base database information: | |||
[java] 2016-07-04 15:35:09,533 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) INFO | - | Database name: pegarules | ||
[java] 2016-07-04 15:35:09,533 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) INFO | - | Defined by: | JDBC URL | |
[java] 2016-07-04 15:35:09,533 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) INFO | - | JDBC URL: | jdbc:oracle:thin:@//dldno621d-scan.ldn.swissbank.com:1521/DOPEXW1B.DEV.GBL.UBS.NET | |
[java] 2016-07-04 15:35:09,533 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) INFO | - | Minimum connection count: | 0 | |
[java] 2016-07-04 15:35:09,533 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) INFO | - | Maximum connection count: | unlimited | |
[java] 2016-07-04 15:35:09,533 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) INFO | - | Failover database: | none | |
[java] 2016-07-04 15:35:09,652 [ | main] [ | ] [ | ] (l.access.ConnectionManagerImpl) ERROR - Exception while fetching Schema information for database : PegaRULES | ||||
[java] com.pega.pegarules.pub.database.DatabaseException: Database-General Problem encountered when getting connection for database pegarules | 1017 | 72000 ORA-01017: invalid username/password; logon denied | |||||
[java] | |||||||
[java] DatabaseException caused by prior exception: java.sql.SQLException: ORA-01017: invalid username/password; logon denied | |||||||
[java] | |||||||
[java] | SQL Code: 1017 | SQL State: 72000 | |||||||
[java] | |||||||
[java] From: (unknown) | |||||||
[java] Caused by SQL Problems. | |||||||
[java] Problem #1, SQLState 72000, Error code 1017: java.sql.SQLException: ORA-01017: invalid username/password; logon denied | |||||||
[java] | |||||||
[java] | at com.pega.pegarules.data.internal.access.ExceptionInformation.createExceptionDueToDBFailure(ExceptionInformation.java:262) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getConnectionFromDatabaseName(ConnectionManagerImpl.java:903) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:1214) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:1156) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:347) | ||||||
[java] | at com.pega.pegarules.data.internal.access.DatabaseInformationMapImpl.lookupDBInfo(DatabaseInformationMapImpl.java:326) | ||||||
[java] | at com.pega.pegarules.data.internal.access.DatabaseInformationMapImpl.get(DatabaseInformationMapImpl.java:269) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getDefaultSchema(ConnectionManagerImpl.java:2695) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getBaseTableSchema(ConnectionManagerImpl.java:2686) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getFullyQualifiedBaseTableName(ConnectionManagerImpl.java:2669) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.rebuildDBNameDefinitions(ConnectionManagerImpl.java:2905) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.<init>(ConnectionManagerImpl.java:662) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getInstance(ConnectionManagerImpl.java:1460) | ||||||
[java] | at com.pega.pegarules.data.internal.PRDataProviderImpl.isMultiTenantEnvironment(PRDataProviderImpl.java:1130) | ||||||
[java] | at com.pega.pegarules.deploy.internal.archive.ParUtilsImpl.setStageDirectory(ParUtilsImpl.java:213) | ||||||
[java] | at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(EngineStartup.java:513) | ||||||
[java] | at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._initEngine_privact(EngineImpl.java:172) | ||||||
[java] | at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.doStartup(EngineImpl.java:145) | ||||||
[java] | at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngineImpl(EngineImpl.java:246) | ||||||
[java] | at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngine(EngineImpl.java:125) | ||||||
[java] | at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngine(EngineImpl.java:111) | ||||||
[java] | at com.pega.pegarules.deploy.external.util.ImportUtility.main(ImportUtility.java:189) | ||||||
[java] | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | ||||||
[java] | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | ||||||
[java] | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | ||||||
[java] | at java.lang.reflect.Method.invoke(Method.java:497) | ||||||
[java] | at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370) | ||||||
[java] | at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:411) | ||||||
[java] | at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224) | ||||||
[java] | at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:273) | ||||||
[java] | at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85) | ||||||
[java] Caused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied | |||||||
[java] | |||||||
[java] | at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:382) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:600) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:445) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:380) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:760) | ||||||
[java] | at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:401) | ||||||
[java] | at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546) | ||||||
[java] | at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236) | ||||||
[java] | at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) | ||||||
[java] | at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521) | ||||||
[java] | at java.sql.DriverManager.getConnection(DriverManager.java:664) | ||||||
[java] | at java.sql.DriverManager.getConnection(DriverManager.java:247) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getConnectionFromDatabaseName(ConnectionManagerImpl.java:816) | ||||||
[java] | ... 29 more | ||||||
[java] 2016-07-04 15:35:09,831 [ | main] [ | ] [ | ] ( | internal.mgmt.EngineImpl) ERROR - Exception during startup processing | |||
[java] com.pega.pegarules.pub.PRRuntimeException: Error determining the mode of PRPC install from database. | |||||||
[java] | at com.pega.pegarules.data.internal.PRDataProviderImpl.isMultiTenantEnvironment(PRDataProviderImpl.java:1145) | ||||||
[java] | at com.pega.pegarules.deploy.internal.archive.ParUtilsImpl.setStageDirectory(ParUtilsImpl.java:213) | ||||||
[java] | at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(EngineStartup.java:513) | ||||||
[java] | at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._initEngine_privact(EngineImpl.java:172) | ||||||
[java] | at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.doStartup(EngineImpl.java:145) | ||||||
[java] | at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngineImpl(EngineImpl.java:246) | ||||||
[java] | at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngine(EngineImpl.java:125) | ||||||
[java] | at com.pega.pegarules.session.internal.mgmt.EngineImpl.startEngine(EngineImpl.java:111) | ||||||
[java] | at com.pega.pegarules.deploy.external.util.ImportUtility.main(ImportUtility.java:189) | ||||||
[java] | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | ||||||
[java] | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | ||||||
[java] | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | ||||||
[java] | at java.lang.reflect.Method.invoke(Method.java:497) | ||||||
[java] | at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370) | ||||||
[java] | at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:411) | ||||||
[java] | at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224) | ||||||
[java] | at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:273) | ||||||
[java] | at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85) | ||||||
[java] Caused by: com.pega.pegarules.pub.database.DatabaseException: Database-General | Problem encountered when getting connection for database pegarules | 1017 | 72000 ORA-01017: invalid username/password; logon denied | ||||
[java] | |||||||
[java] DatabaseException caused by prior exception: java.sql.SQLException: ORA-01017: invalid username/password; logon denied | |||||||
[java] | |||||||
[java] | SQL Code: 1017 | SQL State: 72000 | |||||||
[java] | |||||||
[java] From: (unknown) | |||||||
[java] Caused by SQL Problems. | |||||||
[java] Problem #1, SQLState 72000, Error code 1017: java.sql.SQLException: ORA-01017: invalid username/password; logon denied | |||||||
[java] | |||||||
[java] | at com.pega.pegarules.data.internal.access.ExceptionInformation.createExceptionDueToDBFailure(ExceptionInformation.java:262) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getConnectionFromDatabaseName(ConnectionManagerImpl.java:903) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:1214) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getConnection(ConnectionManagerImpl.java:1156) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.<init>(ConnectionManagerImpl.java:681) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getInstance(ConnectionManagerImpl.java:1460) | ||||||
[java] | at com.pega.pegarules.data.internal.PRDataProviderImpl.isMultiTenantEnvironment(PRDataProviderImpl.java:1130) | ||||||
[java] | ... 17 more | ||||||
[java] Caused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied | |||||||
[java] | |||||||
[java] | at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:382) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:600) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:445) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:380) | ||||||
[java] | at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:760) | ||||||
[java] | at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:401) | ||||||
[java] | at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546) | ||||||
[java] | at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236) | ||||||
[java] | at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) | ||||||
[java] | at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521) | ||||||
[java] | at java.sql.DriverManager.getConnection(DriverManager.java:664) | ||||||
[java] | at java.sql.DriverManager.getConnection(DriverManager.java:247) | ||||||
[java] | at com.pega.pegarules.data.internal.access.ConnectionManagerImpl.getConnectionFromDatabaseName(ConnectionManagerImpl.java:816) | ||||||
[java] | ... 22 more | ||||||
[java] 2016-07-04 15:35:09,833 [ | main] [ | ] [ | ] ( | internal.mgmt.EngineImpl) INFO | - Embedded Environment initialization failed. | ||
[java] 2016-07-04 15:35:09,833 [ | main] [ | ] [ | ] ( external.util.ImportUtility) ERROR - Unable to Start PegaRULES: | ||||
[java] 2016-07-04 15:35:09,833 [ | main] [ | ] [ | ] ( external.util.ImportUtility) ERROR - A problem occurred during import. | ||||
[java] com.pega.pegarules.pub.PRException: Unable to start engine. | |||||||
[java] From: (unknown) | |||||||
[java] | at com.pega.pegarules.deploy.external.util.ImportUtility.main(ImportUtility.java:198) | ||||||
[java] | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | ||||||
[java] | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | ||||||
[java] | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | ||||||
[java] | at java.lang.reflect.Method.invoke(Method.java:497) | ||||||
[java] | at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370) | ||||||
[java] | at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:411) | ||||||
[java] | at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224) | ||||||
[java] | at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:273) | ||||||
[java] | at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85) | ||||||
[java] Jul 04, 2016 3:35:09 PM com.pega.pegarules.internal.bootstrap.PRBootstrap | |||||||
[java] SEVERE: Problem during method invocation (main) | |||||||
[java] com.pega.pegarules.pub.PRException: A problem occurred | |||||||
[java] From: (unknown) | |||||||
[java] | at com.pega.pegarules.deploy.external.util.ImportUtility.main(ImportUtility.java:263) | ||||||
[java] | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | ||||||
[java] | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | ||||||
[java] | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | ||||||
[java] | at java.lang.reflect.Method.invoke(Method.java:497) | ||||||
[java] | at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370) | ||||||
[java] | at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:411) | ||||||
[java] | at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224) | ||||||
[java] | at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:273) | ||||||
[java] | at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85) | ||||||
[java] Caused by: com.pega.pegarules.pub.PRException: Unable to start engine. | |||||||
[java] From: (unknown) | |||||||
[java] | at com.pega.pegarules.deploy.external.util.ImportUtility.main(ImportUtility.java:198) | ||||||
[java] | ... 9 more | ||||||
[java] | |||||||
[java] Jul 04, 2016 3:35:09 PM com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega | |||||||
[java] SEVERE: Problem during method invocation (main) | |||||||
[java] com.pega.pegarules.pub.PRException: A problem occurred | |||||||
[java] From: (unknown) | |||||||
[java] | at com.pega.pegarules.deploy.external.util.ImportUtility.main(ImportUtility.java:263) | ||||||
[java] | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | ||||||
[java] | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | ||||||
[java] | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | ||||||
[java] | at java.lang.reflect.Method.invoke(Method.java:497) | ||||||
[java] | at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370) | ||||||
[java] | at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:411) | ||||||
[java] | at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224) | ||||||
[java] | at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:273) | ||||||
[java] | at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85) | ||||||
[java] Caused by: com.pega.pegarules.pub.PRException: Unable to start engine. | |||||||
[java] From: (unknown) | |||||||
[java] | at com.pega.pegarules.deploy.external.util.ImportUtility.main(ImportUtility.java:198) | ||||||
[java] | ... 9 more | ||||||
[java] | |||||||
[java] Exception in thread "main" java.lang.RuntimeException: Problem during method invocation (main) | |||||||
[java] | at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:279) | ||||||
[java] | at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85) | ||||||
[java] Caused by: com.pega.pegarules.pub.PRException: A problem occurred | |||||||
[java] From: (unknown) | |||||||
[java] | at com.pega.pegarules.deploy.external.util.ImportUtility.main(ImportUtility.java:263) | ||||||
[java] | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | ||||||
[java] | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | ||||||
[java] | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | ||||||
[java] | at java.lang.reflect.Method.invoke(Method.java:497) | ||||||
[java] | at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370) | ||||||
[java] | at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:411) | ||||||
[java] | at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224) | ||||||
[java] | at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:273) | ||||||
[java] | ... 1 more | ||||||
[java] Caused by: com.pega.pegarules.pub.PRException: Unable to start engine. | |||||||
[java] From: (unknown) | |||||||
[java] | at com.pega.pegarules.deploy.external.util.ImportUtility.main(ImportUtility.java:198) | ||||||
[java] | ... 9 more | ||||||
[echo] | |||||||
[echo] | |||||||
[echo] ************************************************************************************************************************ | |||||||
[echo] | |||||||
[echo] Performing 'import' on system using properties /app/opexw/opex_media/scripts/utils/prpcUtils.properties failed. | |||||||
[echo] Cause: | |||||||
[echo] The following error occurred while executing this line: | |||||||
[echo] /app/opexw/opex_media/scripts/utils/prpcUtils.xml:704: Java returned: 1 | |||||||
[echo] | |||||||
[echo] ************************************************************************************************************************ | |||||||
[echo] | |||||||
[echo] |
BUILD FAILED
/app/opexw/opex_media/scripts/utils/prpcUtilsWrapper.xml:117: PegaRULES Process Commander import failed