我想使用 spring 集成开发控制总线示例。
我决定做同样的事情,但使用 java DSL。
现在我有以下源代码:
@Configuration
@EnableIntegration
@IntegrationComponentScan
public class Config {
@Bean
public IntegrationFlow controlBusFlow() {
return IntegrationFlows.from("operationChannel")
.controlBus()
.get();
}
@Bean
@InboundChannelAdapter(channel = "adapterOutputChanel", autoStartup = "false", poller = @Poller(fixedDelay = "1000"))
public MessageSource<String> inboundAdapter() {
return new MessageSource<String>() {
@Override
public Message receive() {
return new Message() {
@Override
public String getPayload() {
return "some_output_message";
}
@Override
public MessageHeaders getHeaders() {
return null;
}
};
}
};
}
@Bean
public AbstractMessageChannel adapterOutputChanel() {
return new QueueChannel();
}
}
和应用:
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
ConfigurableApplicationContext ctx = new SpringApplication(MyApplication.class).run(args);
MessageChannel controlChannel = ctx.getBean("operationChannel", MessageChannel.class);
PollableChannel adapterOutputChanel = ctx.getBean("adapterOutputChanel", PollableChannel.class);
controlChannel.send(new GenericMessage<String>("@inboundAdapter.start()"));
adapterOutputChanel.receive(1000);
}
}
我有什么错吗?
红颜莎娜
相关分类