gpt4 book ai didi

java - 如何使用 Lambda 关闭所有 MessageListenerContainer

转载 作者:行者123 更新时间:2023-11-30 06:26:28 25 4
gpt4 key购买 nike

简而言之,我尝试用 lambda 语法编写此内容:

bean = context.getBean(JmsListenerEndpointRegistry.class);
for (MessageListenerContainer listenerContainer : bean.getListenerContainers()) {
DefaultMessageListenerContainer container = (DefaultMessageListenerContainer) listenerContainer;
container.shutdown();
}

这是我的尝试,这段 Lambda 代码有什么问题吗?

context.getBean(JmsListenerEndpointRegistry.class).getListenerContainers()
.forEach(DefaultMessageListenerContainer::shutdown());

最佳答案

您已经很接近了,但您需要首先利用 map 将所有项目转换为 DefaultMessageListenerContainer 类型,然后您可以迭代 steam 的每个元素并调用其关闭方法。

bean = context.getBean(JmsListenerEndpointRegistry.class);
bean.getListenerContainers().stream().map(e -> (DefaultMessageListenerContainer)e)
.forEach(DefaultMessageListenerContainer::shutdown);

此外,使用方法引用时,不能在方法名称后使用括号 ()

关于java - 如何使用 Lambda 关闭所有 MessageListenerContainer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47104667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com