我像往常一样使用@MessageMapping注释配置了websocket。它工作得很好但是当我调用@Transactional包围的某些方法时,我尝试在数据库上执行一些更新,我得到一个错误:
dta[ !(dta$id == 'B13639J2' & (dta$epnum == dta$max)) , ]
在这种情况下,事务管理器似乎不起作用。但是,当从Rest控制器调用相同的方法时,一切顺利。谁知道发生了什么?
谢谢
答案 0 :(得分:0)
我替换了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);
}
}
它有效。