org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'springNonTxDataSource': java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback(). [See nested exception: java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().]

Spring JIRA | Mathias Bogaert | 1 decade ago
  1. 0

    Quartz requires a non managed TX datasource to be set (nonManagedTXDataSource) when using JobStoreCMT. Spring uses the same datasource for the managed and non-managed transactional datasources. This causes Quartz to fail upon init using strict XADataSource drivers (WebLogic/WebSphere). Exception: org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'springNonTxDataSource': java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback(). [See nested exception: java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().] at org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:1402) at org.quartz.impl.jdbcjobstore.JobStoreCMT.cleanVolatileTriggerAndJobs(JobStoreCMT.java:216) at org.quartz.impl.jdbcjobstore.JobStoreSupport.initialize(JobStoreSupport.java:501) at org.quartz.impl.jdbcjobstore.JobStoreCMT.initialize(JobStoreCMT.java:150) at org.springframework.scheduling.quartz.LocalDataSourceJobStore.initialize(LocalDataSourceJobStore.java:118) at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:915) at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1047) at org.springframework.scheduling.quartz.SchedulerFactoryBean.createScheduler(SchedulerFactoryBean.java:543) at org.springframework.scheduling.quartz.SchedulerFactoryBean.afterPropertiesSet(SchedulerFactoryBean.java:494) More info, see: http://wiki.opensymphony.com/display/QRTZ1/ConfigJobStoreCMT

    Spring JIRA | 1 decade ago | Mathias Bogaert
    org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'springNonTxDataSource': java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback(). [See nested exception: java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().]
  2. 0

    Quartz requires a non managed TX datasource to be set (nonManagedTXDataSource) when using JobStoreCMT. Spring uses the same datasource for the managed and non-managed transactional datasources. This causes Quartz to fail upon init using strict XADataSource drivers (WebLogic/WebSphere). Exception: org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'springNonTxDataSource': java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback(). [See nested exception: java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().] at org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:1402) at org.quartz.impl.jdbcjobstore.JobStoreCMT.cleanVolatileTriggerAndJobs(JobStoreCMT.java:216) at org.quartz.impl.jdbcjobstore.JobStoreSupport.initialize(JobStoreSupport.java:501) at org.quartz.impl.jdbcjobstore.JobStoreCMT.initialize(JobStoreCMT.java:150) at org.springframework.scheduling.quartz.LocalDataSourceJobStore.initialize(LocalDataSourceJobStore.java:118) at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:915) at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1047) at org.springframework.scheduling.quartz.SchedulerFactoryBean.createScheduler(SchedulerFactoryBean.java:543) at org.springframework.scheduling.quartz.SchedulerFactoryBean.afterPropertiesSet(SchedulerFactoryBean.java:494) More info, see: http://wiki.opensymphony.com/display/QRTZ1/ConfigJobStoreCMT

    Spring JIRA | 1 decade ago | Mathias Bogaert
    org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'springNonTxDataSource': java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback(). [See nested exception: java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().]
  3. 0

    [SPR-821] LocalDataSourceJobStore setting a TX datasource for nonManagedTXDataSource - Spring JIRA

    spring.io | 12 months ago
    org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'springNonTxDataSource': java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    [SPR-821] LocalDataSourceJobStore setting a TX datasource for nonManagedTXDataSource - Spring JIRA

    spring.io | 8 months ago
    org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'springNonTxDataSource': java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().
  6. 0

    Problem in initializing quartz [Archive] - Pentaho Community Forums

    pentaho.com | 3 months ago
    org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'myDS': java.sql.SQLException: Could not retrieve datasource via JNDI url 'java:comp/env/jdbc/Quartz' org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null' [See nested exception: java.sql.SQLException: Could not retrieve datasource via JNDI url 'java:comp/env/jdbc/Quartz' org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null']

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. org.quartz.JobPersistenceException

      Failed to obtain DB connection from data source 'springNonTxDataSource': java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback(). [See nested exception: java.sql.SQLException: SQL operations are not allowed with no global transaction by default for XA drivers. If the XA driver supports performing SQL operations with no global transaction, explicitly allow it by setting "SupportsLocalTransaction" JDBC connection pool property to true. In this case, also remember to complete the local transaction before using the connection again for global transaction, else a XAER_OUTSIDE XAException may result. To complete a local transaction, you can either set auto commit to true or call Connection.commit() or Connection.rollback().]

      at org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection()
    2. quartz
      JobStoreCMT.initialize
      1. org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:1402)
      2. org.quartz.impl.jdbcjobstore.JobStoreCMT.cleanVolatileTriggerAndJobs(JobStoreCMT.java:216)
      3. org.quartz.impl.jdbcjobstore.JobStoreSupport.initialize(JobStoreSupport.java:501)
      4. org.quartz.impl.jdbcjobstore.JobStoreCMT.initialize(JobStoreCMT.java:150)
      4 frames
    3. Spring Context Support
      LocalDataSourceJobStore.initialize
      1. org.springframework.scheduling.quartz.LocalDataSourceJobStore.initialize(LocalDataSourceJobStore.java:118)
      1 frame
    4. quartz
      StdSchedulerFactory.getScheduler
      1. org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:915)
      2. org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1047)
      2 frames
    5. Spring Context Support
      SchedulerFactoryBean.afterPropertiesSet
      1. org.springframework.scheduling.quartz.SchedulerFactoryBean.createScheduler(SchedulerFactoryBean.java:543)
      2. org.springframework.scheduling.quartz.SchedulerFactoryBean.afterPropertiesSet(SchedulerFactoryBean.java:494)
      2 frames