Hi All,
We are facing issues while using ADF application deployed on JCS-SX environment.
The Application has Application Module exposed as service interface, The AM has a method which saves some data into DB tables using getDBTransaction().commit();
The DB used by the AM to save the data is the default schema provided with the JCS-SX environment.
The issue is the records are not getting saved to the DB, and the error returned by the service is as below when called from the Soap client or Browser
“JDBC driver does not support XA, hence cannot be a participant in two-phase commit. To force this participation, set the GlobalTransactionsProtocol attribute to LoggingLastResource (recommended) or EmulateTwoPhaseCommit for the Data Source = apex”
Since we are using the JCS-SX provided schema as service, there is no control to make the settings on the JDBC driver as per the error.
PS : The version of JCS-SX that we are using is Version #17.2.6 and the same code worked in earlier version of JCS-SX which is decommissioned
The code snippet for commtting transaction is below
if(reportParameters.hasNext()){
// Table already have the report name
if(_logger.isSevere()){
_logger.severe("Inside if HasNext");
}
Row row_reportParameters = reportParameters.next();
row_reportParameters.setAttribute("ReportDataFetchTime", systemTime);
}
else{
// Create a row in table with the report parameters
if(_logger.isSevere()){
_logger.severe("Inside else newdata");
}
Row row_reportParameters = reportParameters.createRow();
row_reportParameters.setAttribute("ErpCloudReportName", reportName);
row_reportParameters.setAttribute("ReportXdoLocation", reportAbsolutePath);
row_reportParameters.setAttribute("ReportDataFetchTime", systemTime);
reportParameters.insertRow(row_reportParameters);
}
this.getDBTransaction().commit();
if(_logger.isSevere()){
_logger.severe("After Commit");
}
Can you please suggest if there is any ways to resolve this issue.
Thanks,
Krishna