使用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>

with JAVA config:

@Configuration
@EnableTransactionManagement
public class AppConfig {
   @Autowired
   private EntityManagerFactory entityManagerFactory;
   @Bean
   public PlatformTransactionManager transactionManager() {
       return new JpaTransactionManager(entityManagerFactory);
   }
}

最新更新