My Gateway看起来像这样......
@MessagingGateway
public interface MyGateway {
@Gateway(requestChannel = "startChannel", replyTimeout = 1000L)
ListenableFuture<Boolean> myFlow();
}
我使用application.yml
文件来定义我在整个应用程序中使用的一些属性。其中一个是timeout
值。
我想MyGateway
的{{1}}参数可配置。
有人可以建议我怎么做吗?
请注意,replyTimeout
是一个界面,因此我无法使用MyGateway
或@PostConstruct
(据我所知)。
提前致谢!
答案 0 :(得分:1)
我们在这个问题上有一个开放的JIRA:https://jira.spring.io/browse/INT-3615。
但我有一个解决方法:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@MessagingGateway
public @interface MyMessagingGateway {
String defaultReplyTimeout() default "" + Long.MIN_VALUE;
}
并使用此注释,如:
@MyMessagingGateway(defaultReplyTimeout = "${reply.timeout}")
public interface MyGateway {
@Gateway(requestChannel = "startChannel")
ListenableFuture<Boolean> myFlow();
}