我想使用Spring SubscribableChannel
實現單個生產者..多個消費者問題。我無法解決這個問題。使用Spring集成實現消費者和生產者系統
例如我有一個用戶作爲製片人和他的朋友作爲消費者。所以當製作人用戶做了一些事情之後,就必須發佈給他的朋友。
真正的問題是生產者和消費者之間的關係是動態的,因爲在任何時候我都可以對用戶不友好,這意味着它不應該再聽我的活動。所以我想要一些java配置,我可以訂閱和取消訂閱生產者的消費者還必須有東西,可以從生產者分離消費者,以防生產者不再存在...
我在設計該頻道因爲會有number of channel equal to number of users.
另外我不確定如何設計Spring Integration附帶的MessageHandler。
有沒有一些例子指向這個方向。
我做了迄今爲止現在是我有一個配置豆
@Configuration
public class ChannelConfig {
@Bean
public SubscribableChannel subscribeChannel() {
PublishSubscribeChannel channel = new PublishSubscribeChannel(getAsyncExecutor());
return channel;
}
public Executor getAsyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(2);
executor.setMaxPoolSize(50);
executor.setQueueCapacity(10000);
executor.setThreadNamePrefix("ChannelExecutor-");
executor.initialize();
return executor;
}
}
,我會注入,但比這將是唯一的唯一通道。我想爲每個用戶提供一個頻道。
您可能想考慮共享一個任務執行程序,而不是爲每個通道創建一個新任務。 –
已更新。這將是好的權利@加里 –
哦不,不會......沒關係..將很快更新與正確的.. –