gpt4 book ai didi

java - 将 'application.errorChannel' 添加到 Spring Integration 的配置中

转载 作者:行者123 更新时间:2023-12-02 10:40:45 25 4
gpt4 key购买 nike

我编写了一个程序来从 Solace 队列读取消息。我收到以下错误。

你能帮忙吗?

enter image description here代码如下:

我的主要配置如下:

public class ReadFromQueueConfig {

@Autowired
private PrintMessageFromQueue printMessageFromQueue;

String queueName = "MY.SAMPLE.SOLACE.QUEUE";

@Bean
public CachingConnectionFactory jmsConnectionFactory() {
CachingConnectionFactory ccf = new CachingConnectionFactory();
try {
SolConnectionFactory scf = SolJmsUtility.createConnectionFactory();
scf.setHost("host");
scf.setUsername("username");
scf.setVPN("vpm");
scf.setPassword("password");
scf.setDirectTransport(false);

ccf.setTargetConnectionFactory(scf);

} catch (Exception e) {
logger.debug(e.getMessage());
}
return ccf;
}

@Bean
public IntegrationFlow handleJsmInput() {
return IntegrationFlows
.from(Jms.inboundAdapter(jmsConnectionFactory()).destination(queueName))
.handle(printMessageFromQueue)
.get();
}
}

PrintMessageFromQueue.java: enter image description here

更新:我的主要类(class):

@SpringBootApplication
@EnableIntegration
@IntegrationComponentScan
public class TestReadFromQueueApplication {
public static void main(String[] args) {
SpringApplication.run(TestReadFromQueueApplication.class, args);
}
}

最佳答案

创建 ApplicationContext 后,您可以在 main() 中执行类似的操作:

final Scanner scanner = new Scanner(System.in);
context.close();

因此,在控制台输入一些信息之前,您的应用程序不会退出。

您也可以等待消息被消耗,例如通过QueueChannel.receive()。Spring 集成示例中的 Apache Kafka 示例中完成了一些阻止 main 的示例:https://github.com/spring-projects/spring-integration-samples/blob/master/basic/kafka/src/main/java/org/springframework/integration/samples/kafka/Application.java

关于java - 将 'application.errorChannel' 添加到 Spring Integration 的配置中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52934082/

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