Question
US
Last activity: 21 Dec 2015 10:59 EST
Understanding JBoss EAP 6.x Settings
Hi All,
We are currently installing PRPC 7.1.9 on JBoss EAP 6.4.4 with an Oracle 11g database. I had questions on some of the settings and installation steps outlined in the PRPC Installation guide, as we would like to know WHY Pega has identified various settings.
1: Why is use-ccm set to false on the datasource configuration:
Example from install guide: <datasource jta="false" jndi-name="java:/jdbc/PegaRULES" poolname="PegaRULES" enabled="true" use-ccm="false">
CCM is set to TRUE by default. It is my understanding that this feature can prevent leaked datasource connections. Why would we want to disable this feature?
2: Prepared statement sharing: Pega Performance engineering has recommended the use of prepared statements. Why is share-prepared-statements set to false in the instructions?
Example from datasource configuration:
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
For improved performance, Pega Performance Engineering has reccomended using a prepared statement cache. We implement with the following configuration:
<statement>
<prepared-statement-cache-size>100</prepared-statement-cache-size>
<share-prepared-statements>true</share-prepared-statements>
Hi All,
We are currently installing PRPC 7.1.9 on JBoss EAP 6.4.4 with an Oracle 11g database. I had questions on some of the settings and installation steps outlined in the PRPC Installation guide, as we would like to know WHY Pega has identified various settings.
1: Why is use-ccm set to false on the datasource configuration:
Example from install guide: <datasource jta="false" jndi-name="java:/jdbc/PegaRULES" poolname="PegaRULES" enabled="true" use-ccm="false">
CCM is set to TRUE by default. It is my understanding that this feature can prevent leaked datasource connections. Why would we want to disable this feature?
2: Prepared statement sharing: Pega Performance engineering has recommended the use of prepared statements. Why is share-prepared-statements set to false in the instructions?
Example from datasource configuration:
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
For improved performance, Pega Performance Engineering has reccomended using a prepared statement cache. We implement with the following configuration:
<statement>
<prepared-statement-cache-size>100</prepared-statement-cache-size>
<share-prepared-statements>true</share-prepared-statements>
</statement>
Will sharing prepared statements cause any problems with PRPC? If not, why is this indicated in the install guide.
3: Is datasource driver class necessary?
We installed the Oracle JDBC driver using the default driver installation tools as a part of the JBOSS installation. This configured the datasources with just a <driver>oracle</driver> entry, and did not include a <driver-class> entry. Is there any reason to include the driver-class entry?
4: Differences with Standard oracle driver installation vs. Pega instructed driver installation:
When installing the oracle driver using the jboss default driver installation methods, we noticed the following differences between the defaults and instructions in the pega install documentation:
- Driver module path: Default installation path is: $JBOSS_HOME/modules/oracle/jdbc/main, Pega instructed path is: $JBOSS_HOME/modules/system/layers/base/com/oracle/main. Is there a specific reason for using this path?
- Differences in module.xml file: Pega documentation instructs to add the following properties in the module.xml file: <property name="jboss.api" value="unsupported"/>, <module name="javax.servlet.api" optional="true"/> What do these changes support? If we do not include these properties will there be any impact on the application?
- Driver Configuration: The default driver installation produces the following configuration:
<driver name="oracle" module="oracle.jdbc">
<xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>
This differs from the pega instructed driver configuration of:
<driver name="oracle" module="com.oracle">
<driver-class>oracle.jdbc.OracleDriver</driver-class>
5:
In step 6 of the Setting Red Hat JBoss application deployment parameters section, the JNDI value listed does NOT match the JNDI values specified in the datasource section earlier in the document. My working config looks like this:
<simple name="java:/prconfig/database/databases/PegaRULES/dataSourceAdmin" value="java:/jdbc/AdminPegaRULES"/>
<simple name="java:/prconfig/database/databases/PegaDATA/dataSourceAdmin" value="java:/jdbc/AdminPegaRULES"/>
<simple name="java:/prconfig/database/databases/PegaRULESdbAdmin" value="java:/jdbc/AdminPegaRULES"/>
Note the value is different from the listed: java:comp/env/jdbc/AdminPegaRULES that is in the installation document. This section should be updated to the correct value of: java:/jdbc/AdminPegaRULES
Please note, my current working configuration is using the default driver installation methods provided by the jboss installer, and not the methods identified in the install document. I have not seen any issues so far because of this, however I would like to vet this configuration before moving it to upper environments.
For Reference, here is the installation guide I am following: https://docs.pega.com/pega-719-platform-installation-guide-oracle-jboss-red-hat-eap
Looking forward to input on this.
Thank you,
-Jon