繁体   English   中英

使用Spring websocket时没有事务

[英]No transaction when using Spring websocket

我像往常一样用@MessageMapping注释配置了一个websocket。 它工作得很好,但当我调用@Transactional包围的某些方法时,我尝试在数据库上执行一些更新,我收到一个错误:

javax.persistence.TransactionRequiredException: Executing an update/delete query.

在这种情况下,事务管理器似乎不起作用。 但是,当从Rest控制器调用相同的方法时,一切顺利。 谁知道发生了什么?

谢谢

我替换了XML配置:

<bean class="org.springframework.orm.jpa.JpaTransactionManager" id="transactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>

使用JAVA配置:

@Configuration
@EnableTransactionManagement
public class AppConfig {
   @Autowired
   private EntityManagerFactory entityManagerFactory;

   @Bean
   public PlatformTransactionManager transactionManager() {
       return new JpaTransactionManager(entityManagerFactory);
   }
}

它的工作原理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM