在jboss 7中,我有以下配置
<datasource jndi-name="java:jboss/env/esilicon/vms/OracleDBPoolNonXA" pool-name="ExampleDS">
<connection-url>jdbc:oracle:thin:@erptstdb.sc.kaka.com:14100:ERPTST</connection-url>
<driver>XAOracleJDBCDriver</driver>
<pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>apps</user-name>
<password>apps</password>
</security>
</datasource>
<drivers>
<driver name="XAOracleJDBCDriver" module="oracle.jdbc">
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
</driver>
</drivers>
在其他课程中,我获得了获取数据源连接的方法
public static Connection getNonXAConnection() {
try {
InitialContext context = new InitialContext();
DataSource dataSource = (DataSource)context.lookup(JNDILookup.PURE_CONNECTION_JNDI);
return dataSource.getConnection();
} catch (Exception e) {
e.printStackTrace();
logger.fatal(e.getMessage(), e.getCause());
}
return null;
}
提交此连接时发生错误
java.sql.SQLException: You cannot commit during a managed transaction!
at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.jdbcCommit(BaseWrapperManagedConnection.java:981)
at org.jboss.jca.adapters.jdbc.WrappedConnection.commit(WrappedConnection.java:757)
我只想获得连接并执行一些存储过程,并最终提交此连接。请帮帮我
答案 0 :(得分:1)
使用这样的anotation:
@TransactionAttribute(TransactionAttributeType.SUPPORTS)
public class SchedulerBean {
我遇到了与Quartz相同的问题,并且能够以这种方式解决。
答案 1 :(得分:0)
在standalone.xml文件中指定了错误的远程处理地址时出现此错误。该值通常应为:
<socket-binding name="remoting" port="4447"/>
此值应设置为端口地址 在启动脚本中使用 -Djboss.socket.binding.port-offset = xxx选项应用的任何偏移量。