private String modifyCacheJtaXml(String jtaConfig, String newDB) {
    String begin = "<jndi-binding type=\"XAPooledDataSource\"";
    String end = "</jndi-binding>";
    String jndiBinding =
        "<jndi-binding type=\"XAPooledDataSource\" " +
            "jndi-name=\"XAPooledDataSource\" " +
            "jdbc-driver-class=\"org.apache.derby.jdbc.EmbeddedDriver\" " +
            "init-pool-size=\"" + DATA_SOURCE_POOL_SIZE + "\" " +
            "max-pool-size=\"" + DATA_SOURCE_POOL_SIZE + "\" " +
            "idle-timeout-seconds=\"" + IDLE_TIMEOUT_SECONDS + "\" " +
            "blocking-timeout-seconds=\"" + BLOCKING_TIMEOUT_SECONDS + "\" " +
            "login-timeout-seconds=\"" + LOGIN_TIMEOUT_SECONDS + "\" " +
            "conn-pooled-datasource-class=\"org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource\" "
            +
            "xa-datasource-class=\"org.apache.derby.jdbc.EmbeddedXADataSource\" " +
            "user-name=\"mitul\" " +
            "password=\"83f0069202c571faf1ae6c42b4ad46030e4e31c17409e19a\" " +
            "connection-url=\"jdbc:derby:" + newDB + ";create=true\" >";
    String configProperty =
        "<config-property>" +
            "<config-property-name>description</config-property-name>" +
            "<config-property-type>java.lang.String</config-property-type>" +
            "<config-property-value>hi</config-property-value>" +
            "</config-property>" +
            "<config-property>" +
            "<config-property-name>user</config-property-name>" +
            "<config-property-type>java.lang.String</config-property-type>" +
            "<config-property-value>jeeves</config-property-value>" +
            "</config-property>" +
            "<config-property>" +
            "<config-property-name>password</config-property-name>" +
            "<config-property-type>java.lang.String</config-property-type>" +
            "<config-property-value>" +
            "83f0069202c571faf1ae6c42b4ad46030e4e31c17409e19a" +
            "</config-property-value>" +
            "</config-property>" +
            "<config-property>" +
            "<config-property-name>databaseName</config-property-name>" +
            "<config-property-type>java.lang.String</config-property-type>" +
            "<config-property-value>" + newDB + "</config-property-value>" +
            "</config-property>" +
            System.lineSeparator();

    String modifiedConfig = jndiBinding + configProperty;

    int indexOfBegin = jtaConfig.indexOf(begin);
    int indexOfEnd = jtaConfig.indexOf(end, indexOfBegin);

    return new StringBuilder(jtaConfig).replace(indexOfBegin, indexOfEnd, modifiedConfig)
        .toString();
  }
Fixed up (best as possible) and re-enabled JTA tests from ExceptionsDUnitTest. Treat these as
characterization tests because I think some of this behavior is not strictly correct.
geode-core/src/integrationTest/java/org/apache/geode/internal/jta/TransactionTimeoutExceptionIntegrationTest.java