请问调用Feign的接口也是自动生成的吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用Spring Cloud框架时,Feign客户端接口并非直接自动生成,而是需要开发者根据业务需求手动定义。您需要按照参与方的Try、Cancel、Confirm逻辑来设计这些接口。具体实现上,比如定义一个AccountTccAction
接口来代表账户服务的TCC操作,其中包含尝试减款的prepareDecreaseMoney
方法,以及确认提交的commit
方法和取消操作的cancel
方法。这些方法通过FeignClient声明并映射到参与方的服务地址。
功能实现步骤简述: 1. 定义FeignClient接口:手动创建一个接口类,如AccountTccAction
,并使用@FeignClient
注解指定服务名。 2. 标注TCC行为:在尝试方法(如prepareDecreaseMoney
)上添加@TwoPhaseBusinessAction
注解来标记这是一个两阶段提交的业务操作,并可选地指定应用名和其他属性。 3. 实现业务逻辑:在该接口中定义Try、Confirm、Cancel三个方法,分别对应业务操作的尝试、确认与取消逻辑。
引用与参考: -
综上所述,虽然Feign接口本身不是自动生成的,但通过合理设计与Spring Cloud及Alibaba Cloud的TCC支持结合,可以高效地实现微服务间的可靠交互。