小编Old*_*txo的帖子

Spring事务无效+ JAX WS + JDBC

我对这个问题有点恼怒.让我们检查是否有人实现了类似的东西.

我有一个带有8个WS的java 8 Web应用程序.一些这样的WS,通过JDBCTemplate进行插入和更新(由于性能需要,Hibernate不是一个选择),如果执行因异常而崩溃,我需要它们回滚.

我在spring app上下文文件中有以下数据源和事务管理器配置(Tomcat的server.xml/context.xml中的jndi资源):

  <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="java:comp/env/jdbc/source" />
  </bean>
  <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
  </bean>

  <tx:annotation-driven transaction-manager="transactionManager" />
Run Code Online (Sandbox Code Playgroud)

另一方面,我有一个dataBase DBcontroller.class的唯一访问点,它有一个插入,删除和更新的通用方法:

private NamedParameterJdbcTemplate jdbcTemplate;
private DataSource datasource;

@Autowired
public void setDataSource(DataSource dataSource) {
    this.datasource = dataSource;
    this.jdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
}
@Override
public boolean queryForModifying(String query, SqlParameterSource parameters) {

  int modifiedRows= 0;
  try {
      modifiedRows= this.jdbcTemplate.update(query, parameters);
  } catch (Exception e) {
      e.printStackTrace();
      numRegistrosAfectados = 0;
  }
  return (modifiedRows> 0) ? true : false; …
Run Code Online (Sandbox Code Playgroud)

java spring jax-ws jdbctemplate spring-transactions

6
推荐指数
1
解决办法
279
查看次数

标签 统计

java ×1

jax-ws ×1

jdbctemplate ×1

spring ×1

spring-transactions ×1