1

假设我有这个类:

public class MyClass {
    public String myMethod() {
         //...
    }
}

我想要的是当我的应用程序启动时,将myMethod()返回的结果发送到 Spring Integration 中的某个通道。我试过的:

<bean id="myClass" class="myPackage.MyClass"/>

<int:inbound-channel-adapter channel="channelINeedToSendTo" ref="myClass" method="myMethod">
    <int:poller cron=""/>  <!-- poller configuration -->
</int:inbound-channel-adapter>

现在我可以在 poller 中配置的是myMethod()在某个时间调用,在某个调度上定期调用,但我希望在应用程序启动后准确运行(类似于@PostConstruct)。有没有一种简单的方法来实现这一点,而不需要复杂的 AOP 技术?

4

1 回答 1

2

您可以添加一个事件入站通道适配器来捕获ContextRefreshedEvent应用程序事件;然后将该适配器连接到<service-activator/>调用myMethod(); 结果将在output-channel.

于 2013-08-19T15:58:19.020 回答