Question
GDIT
US
Last activity: 6 Aug 2019 15:40 EDT
Error running BIX PegaSample!Sample extractor
I'm running Pega 8.2 with BIX installed and am using the attached prbootstrap.properties, prconfig.xml, and bix.sh files (renamed to allow uploading; sanitized prior to upload). I am able to successfully connect to the PostgreSQL database using other Java apps and pgAdmin.
When I execute bix.sh I get the attached output (bix.log.txt). The classpath is:
./lib/jsr94-1.0.jar:./lib/prbootstrap-api.jar:./lib/prbootstrap.jar:./lib/prdbcp.jar:./extra-libs/postgresql-42.2.5.jar
The JDBC driver is present on the classpath, however, as you can see in bix.log.txt, there is still a problem connecting to the database ("Missing JDBC driver class setting"). Further down it appears prbootphase2.jar is expected to be loaded from ./lib/boot but that file isn't provided with the Pega Additional_Products.
Has anyone else encountered/overcome either of these?
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Accepted Solution
GDIT
US
Figured it out. The dbcpsource didn't follow the "<unique-identifier>.<dbtype>" naming convention.
Pegasystems Inc.
IN
Hi,
Could you please review your prbootstarp.properties file if the DB URL,username , password, rule schema name and data schema name are correct.
Also could you please provide the snapshot of the BIX configuration.
Thank You,
Pegasystems Inc.
GB
Try to include current directory in your classpath:
Try to include current directory in your classpath:
.:./lib/jsr94-1.0.jar:./lib/prbootstrap-api.jar:./lib/prbootstrap.jar:./lib/prdbcp.jar:./extra-libs/postgresql-42.2.5.jar
Regards
Simon
GDIT
US
Thanks for the responses. I verified the database URL, username, password, and schema. Found a typo on the schema (rulesset rather than ruleset). Otherwise, they are correct. Also added current directory to the classpath. I can successfully connect to the database and query rulesset.pr_operators in a stand-alone Java app. The following "BIX invocation" still apparently fails to connect to the database:
java -Xms512m -Xmx768m \
-Dpegarules.config=./config/prconfig.xml \
-Dcom.pega.pegarules.bootstrap.properties.url="file:///home/sdcavan/projects/BIX/config/prbootstrap.properties" \
-Dpegarules.logging.configuration=./config/prlog4j2.xml \
-Dcom.pega.pegarules.bootstrap.ignorejndi=true \
-cp ".:./lib/jsr94-1.0.jar:./lib/prbootstrap-api.jar:./lib/prbootstrap.jar:./lib/prdbcp.jar:./extra-libs/postgresql-42.2.5.jar" \
com.pega.pegarules.pub.PegaRULES com.pega.pegarules.data.internal.access.ExtractImpl \
-I PegaSample_Sample.xml
And I get the following results:
Thanks for the responses. I verified the database URL, username, password, and schema. Found a typo on the schema (rulesset rather than ruleset). Otherwise, they are correct. Also added current directory to the classpath. I can successfully connect to the database and query rulesset.pr_operators in a stand-alone Java app. The following "BIX invocation" still apparently fails to connect to the database:
java -Xms512m -Xmx768m \
-Dpegarules.config=./config/prconfig.xml \
-Dcom.pega.pegarules.bootstrap.properties.url="file:///home/sdcavan/projects/BIX/config/prbootstrap.properties" \
-Dpegarules.logging.configuration=./config/prlog4j2.xml \
-Dcom.pega.pegarules.bootstrap.ignorejndi=true \
-cp ".:./lib/jsr94-1.0.jar:./lib/prbootstrap-api.jar:./lib/prbootstrap.jar:./lib/prdbcp.jar:./extra-libs/postgresql-42.2.5.jar" \
com.pega.pegarules.pub.PegaRULES com.pega.pegarules.data.internal.access.ExtractImpl \
-I PegaSample_Sample.xml
And I get the following results:
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
1050: Loading bootstrap properties from file:///home/sdcavan/projects/BIX/config/prbootstrap.properties
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI
INFO: Could not find java:comp/env/prbootstrap/ in the local JNDI context, skipping prconfig setting lookup
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.SettingReaderJNDI
INFO: Could not find prbootstrap in the local JNDI context, skipping prconfig setting lookup
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
1050: Bootstrap datatables schema: rulesset
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
1050: Insufficient data supplied in prbootstrap.properties to create a datasource
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
1050: Missing JDBC driver class setting "null.jdbc.class"
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
1050: Unable to locate archive.properties properties, setting warVersion to -1
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.PRBootstrap
1050: Engine schema defined in allclasses: rulesset
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.PRBootstrap
1050: Engine classes schema: rulesset
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.PRBootstrap
1050: Assembled classes schema: rulesset
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.PRBootstrap
1050: prbootstrap.properties merged with prbootstrap entries in Data-Admin-System-Settings
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
1050: Insufficient data supplied in prbootstrap.properties to create a datasource
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
1050: Missing JDBC driver class setting "null.jdbc.class"
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.PRBootstrap
1050: PRBootstrap.calculateEngineCodeVersionFromDB() - unable to calculate codeset version from database: null
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.PRMiniLoader
1050: Will load phase 2 bootstrap from Pega-EngineCode:
/home/sdcavan/projects/BIX/lib/boot/prbootphase2.jar (No such file or directory)
Perhaps executing with a non-standard classpath (e.g. JUnit tests)?
Aug 05, 2019 9:46:34 AM com.pega.pegarules.internal.bootstrap.PRBootstrap
1050:
============ PegaRULES Bootstrap Configuration ============
Date: Mon Aug 05 09:46:34 EDT 2019
Java Version: Oracle Corporation 1.8.0_201
Configuration: file:/home/sdcavan/projects/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
Aug 05, 2019 9:46:34 AM 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:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.loadPhase2BootstrapClass(PRBootstrap.java:731)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.checkForStartup(PRBootstrap.java:673)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:419)
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)
Aug 05, 2019 9:46:34 AM 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.data.internal.access.ExtractImpl
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getImplementationOf(PRBootstrap.java:219)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getEntry(PRBootstrap.java:335)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getMethod(PRBootstrap.java:315)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:420)
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.data.internal.access.ExtractImpl
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getImplementationOf(PRBootstrap.java:219)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getEntry(PRBootstrap.java:335)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getMethod(PRBootstrap.java:315)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:420)
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
Pegasystems Inc.
IN
Hi,
Could please review the below lines in prbootstrap.properties.
com.pega.pegarules.bootstrap.allclasses.schema=ruleset (should be rule schema name) com.pega.pegarules.bootstrap.datatables.schema=ruleset (should be data schema name)
Also check the below command which is working fine for me.
java -classpath ".;./lib/prbootstrap-7.4.0-185.jar;./lib/prbootstrap-api-7.4.0-185.jar;./lib/prdbcp-7.4.0-185.jar;./lib/jsr94-1.0.jar;./lib/postgresql-42.2.2.jar;" -Dpegarules.config="/config/prconfig.xml" -Dcom.pega.pegarules.bootstrap.properties.url="file:///C:/Users/xxx/enablement_software/115943_Pega7.4/Additional_Products/BIX/config/prbootstrap.properties" -Dpega.prbootstrap.config="config\prbootstrap.properties" -Dcom.pega.pegarules.bootstrap.ignorejndi=true -Dpegarules.keyring="C:\Users\xxx\enablement_software\115943_Pega7.4\Additional_Products\BIX\config\pegarules.keyring" -Dpegarules.logging.configuration="config\prlogging.xml" com.pega.pegarules.pub.PegaRULES com.pega.pegarules.data.internal.access.ExtractImpl -a usernameforprpclogin -p passwordforprpclogin -i bixextractclassname!bixextractrulename
Thank You,
GDIT
US
I have the following for prbootstrap.properties:
com.pega.pegarules.bootstrap.ignorejndi=TRUE
com.pega.pegarules.bootstrap.allclasses.dbcpsource=bixpg
bixpg.url=jdbc:postgresql://__DBHOST__:5432/pegadb
bixpg.username=__DBUSER__
bixpg.password=__DBPASS__
postgresql.jdbc.class=org.postgresql.Driver
com.pega.pegarules.bootstrap.allclasses.schema=rulesset
com.pega.pegarules.bootstrap.datatables.schema=rulesset
The schema really is "rulesset" rather than "ruleset".
The error/output (see below) makes me think the jdbc class property isn't correctly named:
Aug 06, 2019 7:39:48 AM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
1050: Insufficient data supplied in prbootstrap.properties to create a datasource
Aug 06, 2019 7:39:48 AM com.pega.pegarules.internal.bootstrap.PRBootstrapDataSource
1050: Missing JDBC driver class setting "null.jdbc.class"
Accepted Solution
GDIT
US
Figured it out. The dbcpsource didn't follow the "<unique-identifier>.<dbtype>" naming convention.