我想使用 Jersey 和 Spring 编写一个 java 类,它既是 web 服务服务器端类,又是 spring-tx 事务(这样每个 web 服务请求要么完全完成它在数据库中的工作,要么完全回滚它的在数据库中工作)。
但是,当我这样做时......
package com.test.rest
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@Component
@Transactional
public class TestRestService implements TestRestServiceInterface {
...
}
TestRestService 类没有被 Spring 注册为 Web 服务类。
我<context:component-scan base-package="com.test.rest"/>
在我的 spring 配置文件中使用在 com.test.rest 包中注册 Web 服务类(示例中的包名称已更改)。
如果我删除 @Transactional 或让 TestRestService 未实现接口,则 Spring 将类注册为 Web 服务类并且代码有效。
有没有办法让我两者兼得?
我目前正在使用 sprint-tx、spring-jersey 和 spring-context 3.0.7 和 jersey 1.0.3.1