dubo使用註解,事務不生效

問題:在使用dubbo 2.5.3以前的版本@Service來發布服務時,當該服務中有@Transactional ,服務註冊不了html

@Component
@Service//這個service註解是dubbo的
@Transactional
public class UserServiceImpl implements UserService {
 
	@Autowired
	private UserMapper userMapper;
 
	@Override
	public Mapper<User> getMapper() {
		return userMapper;
	}
}

緣由:spring事務使用的時候 事務原理:https://www.cnblogs.com/williamw/p/dig-spring-transaction.html,使用了默認的cglib的方式爲service生成代理,而dubbo掃描註解的時候,這個被代理的userService並無dubbo的@service註解,能夠查看一下@servece註解,dubbo定義這個註解的時候不容許子類繼承父類的註解,高版本進行了修改spring

解決方式:api

1.升級dubbo的版本app

2.修改低版本的源碼,可是dubbo admin中會出現springProxy而不是須要的類,能夠修改,在@Service中指定interfaceName,指定發佈的服務的名稱,例:@Service(version = "1.0.0",interfaceName = "com.zl.dubbotest.api.HelloService")ide

 

引用:.net

https://www.jianshu.com/p/de5d2540748d代理

https://blog.csdn.net/verne_feng/article/details/53022088#code

歡迎關注做者公衆號交流htm

相關文章
相關標籤/搜索