仅接收器应用程序停止 - 通道关闭(smfclient 2)没有错误

阿什什

我们正在开发一个使用 spring cloud stream solace binders 的原型。当我的应用程序定义源和接收器并定期发布消息并且接收器以大写形式打印消息时 - 一切都按预期工作。但是当我们尝试仅使用接收器配置运行应用程序时,应用程序在成功连接到代理后停止。下面提供了日志。

spring:
  cloud:
    stream:
     bindings:
        fjp-greetings-in:
          destination: <TOPIC_NAME_HERE>
          group: <QUEUE_NAME_HERE>
solace:
  java:
    host: tcp://<HOST_NAME_HERE>:<PORT_HERE>
    msgVpn: <VPN_NAME_HERE>
    clientUsername: <USERNAME_HERE>
    clientPassword: <PWD_HERE>
    connectRetries: -1
    reconnectRetries: -1

public interface GreetingsStreams {
    String INPUT = "greetings-in";
    @Input(INPUT)
    SubscribableChannel inboundGreetings();

@SpringBootApplication
@EnableBinding(GreetingsStreams.class)
@Slf4j
public class PocSpringcloudstreamApplication {

    public static void main(String[] args) {
        SpringApplication.run(PocSpringcloudstreamApplication.class, args);
    }

    @StreamListener(GreetingsStreams.INPUT)
    public void handle(String msg) {
        log.info("Received Message: " + msg.toUpperCase());
    }

以下是尝试从 STS 中的 Spring Boot 仪表板运行应用程序时来自控制台的日志-

2019-08-23 12:11:24.906 DEBUG 8956 --- [1_ReactorThread] c.s.jcsmp.impl.flow.FlowHandleImpl       : Flow 76: Starting sub ad timer: scheduled new timer in 1000
2019-08-23 12:11:24.920 DEBUG 8956 --- [1_ReactorThread] c.s.jcsmp.impl.flow.FlowHandleImpl       : Flow 76: Enqueue to delivery: msg=1, dest=<TOPIC_NAME_HERE>
2019-08-23 12:11:24.928 DEBUG 8956 --- [1_ReactorThread] c.s.jcsmp.impl.ReconnectFreqManager      : Timer expiry: checking reconnect counter.
2019-08-23 12:11:24.928 DEBUG 8956 --- [1_ReactorThread] c.s.jcsmp.impl.ReconnectFreqManager      : Reconnect frequency OK: count=1
2019-08-23 12:11:24.929 DEBUG 8956 --- [1_ReactorThread] c.s.j.impl.client.ClientRequestResponse  : Stopping request timer (SMP-SmpRequest)
2019-08-23 12:11:24.929 DEBUG 8956 --- [           main] c.s.j.protocol.impl.TcpClientChannel     : Error Response (400) - Subscription Already Exists - Queue '<QUEUE_NAME_HERE>' - Topic '<TOPIC_NAME_HERE>'
2019-08-23 12:11:24.930  WARN 8956 --- [           main] c.s.s.c.s.b.p.SolaceQueueProvisioner     : Queue <QUEUE_NAME_HERE> is already subscribed to topic <TOPIC_NAME_HERE>, SUBSCRIPTION_ALREADY_PRESENT error will be ignored...
2019-08-23 12:11:24.930  INFO 8956 --- [           main] c.s.s.c.s.b.i.JCSMPInboundChannelAdapter : started com.solace.spring.cloud.stream.binder.inbound.JCSMPInboundChannelAdapter@746b18fd
2019-08-23 12:11:24.958  INFO 8956 --- [           main] f.p.s.PocSpringcloudstreamApplication : Started PocSpringcloudstreamApplication in 37.017 seconds (JVM running for 40.443)
2019-08-23 12:11:24.966 DEBUG 8956 --- [       Thread-6] c.s.jcsmp.impl.flow.SubFlowManagerImpl   : SubFlowManagerImpl closing... close 1 flows
2019-08-23 12:11:24.967 DEBUG 8956 --- [       Thread-6] c.s.jcsmp.impl.flow.FlowHandleImpl       : Flow 76: pauseFlowInternally=false
2019-08-23 12:11:24.967 DEBUG 8956 --- [       Thread-6] c.s.jcsmp.impl.flow.FlowHandleImpl       : Flow 76: _startState=STOPPED
2019-08-23 12:11:24.967 DEBUG 8956 --- [       Thread-6] c.s.jcsmp.impl.flow.FlowHandleImpl       : Flow 76: Clear AD timer
2019-08-23 12:11:24.985 DEBUG 8956 --- [       Thread-6] c.s.jcsmp.impl.flow.FlowHandleImpl       : Flow 76: Clear AD timer
2019-08-23 12:11:24.985 DEBUG 8956 --- [       Thread-6] c.s.jcsmp.impl.flow.FlowHandleImpl       : Flow 76: window size 0 due to startState=STOPPED
2019-08-23 12:11:24.985 DEBUG 8956 --- [       Thread-6] c.s.jcsmp.impl.flow.FlowHandleImpl       : Flow 76: getWindowSize()=0
2019-08-23 12:11:24.985 DEBUG 8956 --- [       Thread-6] c.s.jcsmp.impl.flow.FlowSmfUtil          : tpCreateAck: flow_d: 76, TpMsgId: 1, windowSz: 0
2019-08-23 12:11:24.985 DEBUG 8956 --- [       Thread-6] c.s.jcsmp.impl.flow.FlowHandleImpl       : tpCreateAck: flow_d: 76, tt_lastInOrderTpMsg: 1, tt_windowSz: 0
2019-08-23 12:11:24.985 DEBUG 8956 --- [       Thread-6] c.s.j.impl.queues.UnackedMessageList2    : UNACKLIST-ack>>> reason=flow-closing flow=76
2019-08-23 12:11:24.985 DEBUG 8956 --- [       Thread-6] c.s.j.protocol.impl.TcpClientChannel     : Client channel (smfclient 2) stopping KA timer
2019-08-23 12:11:24.985 DEBUG 8956 --- [       Thread-6] c.s.jcsmp.protocol.impl.TcpChannel       : Canceled KA timer
2019-08-23 12:11:24.986  INFO 8956 --- [       Thread-6] c.s.j.protocol.impl.TcpClientChannel     : Channel Closed (smfclient 2)
2019-08-23 12:11:24.986 DEBUG 8956 --- [       Thread-6] c.s.jcsmp.protocol.smf.SimpleSmfClient   : Local addr: xxxx   Remote addr: xxxx(smfclient 2) Closing socket
2019-08-23 12:11:24.987 DEBUG 8956 --- [       Thread-6] c.s.jcsmp.impl.JCSMPBasicSession         : JCSMPSession[xxxx@tcp://xxxx] (0001)closed
2019-08-23 12:11:24.988  INFO 8956 --- [       Thread-6] c.s.s.c.s.b.i.JCSMPInboundChannelAdapter : Stopping consumer flow from queue <QUEUE_NAME_HERE> <inbound adapter ID: 8def919b-8367-4922-8451-34e0865c5d0c>
2019-08-23 12:11:24.989 DEBUG 8956 --- [       Thread-6] c.s.jcsmp.impl.JCSMPBasicSession         : waiting for session reconnect done, sessionID= JCSMPSession[xxxx@xxxx:xxxx] (0001), called from close
2019-08-23 12:11:24.989  INFO 8956 --- [       Thread-6] c.s.s.c.s.b.i.JCSMPInboundChannelAdapter : stopped com.solace.spring.cloud.stream.binder.inbound.JCSMPInboundChannelAdapter@746b18fd
2019-08-23 12:11:24.989  INFO 8956 --- [       Thread-6] o.s.c.stream.binder.BinderErrorChannel   : Channel 'application.<QUEUE_NAME_HERE>.errors' has 1 subscriber(s).
2019-08-23 12:11:24.989  INFO 8956 --- [       Thread-6] o.s.c.stream.binder.BinderErrorChannel   : Channel 'application.<QUEUE_NAME_HERE>.errors' has 0 subscriber(s).
2019-08-23 12:11:24.990  INFO 8956 --- [       Thread-6] o.s.i.endpoint.EventDrivenConsumer       : Removing {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel
2019-08-23 12:11:24.990  INFO 8956 --- [       Thread-6] o.s.i.channel.PublishSubscribeChannel    : Channel 'application.errorChannel' has 0 subscriber(s).
2019-08-23 12:11:24.990  INFO 8956 --- [       Thread-6] o.s.i.endpoint.EventDrivenConsumer       : stopped _org.springframework.integration.errorLogger
2019-08-23 12:11:24.991  INFO 8956 --- [       Thread-6] o.s.s.c.ThreadPoolTaskScheduler          : Shutting down ExecutorService 'taskScheduler'
2019-08-23 12:11:24.999  INFO 8956 --- [       Thread-6] o.s.i.monitor.IntegrationMBeanExporter   : Summary on shutdown: <QUEUE_NAME_HERE>.errors
2019-08-23 12:11:24.999  INFO 8956 --- [       Thread-6] o.s.i.monitor.IntegrationMBeanExporter   : Summary on shutdown: greetings-in
2019-08-23 12:11:24.999  INFO 8956 --- [       Thread-6] o.s.i.monitor.IntegrationMBeanExporter   : Summary on shutdown: nullChannel
2019-08-23 12:11:24.999  INFO 8956 --- [       Thread-6] o.s.i.monitor.IntegrationMBeanExporter   : Summary on shutdown: errorChannel
2019-08-23 12:11:24.999  INFO 8956 --- [       Thread-6] o.s.i.monitor.IntegrationMBeanExporter   : Summary on shutdown: _org.springframework.integration.errorLogger.handler

Mrc0113

您可以尝试将 spring-boot-starter-web 依赖项添加到您的 pom 中,看看是否能解决您的问题?

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

春季启动应用程序关闭而没有错误

我没有错误,但我的应用程序保持关闭

cx_Freeze应用程序立即关闭,没有错误

仅当在Android Pie中关闭应用程序时,广播接收器才起作用

Springboot 2 RSocket应用程序启动,然后立即停止,没有错误消息

为什么没有错误的接收器被阻塞?

具有多个.cpp文件的程序立即关闭,没有错误

Spring Boot 立即在远程服务器上关闭(真的)没有错误

关闭应用程序后,保持广播接收器运行

Xamarin.Forms:应用程序关闭时,广播接收器不起作用

关闭应用程序后,保持连接广播接收器运行

带有 Retrofit2 的 Android 应用程序崩溃而没有错误消息

为什么即使应用程序关闭也想接收广播时取消注册广播接收器?

错误:包含广播接收器的应用程序的“未找到默认活动”

对应用程序中的所有活动使用广播接收器

应用程序无法运行,但编译没有错误

应用程序无法打开,但没有错误..!

为什么我的 tkinter 应用程序仅在第二次运行更新命令时关闭而没有错误消息?

我的 angular 应用程序中有一个 http 错误接收器。我正在从后端捕获所有错误。如何显示所有错误?

Android Studio:“应用程序不断停止”,没有错误消息

应用程序停止工作,没有错误和混合版本问题

Xamarin - android 空白应用程序在启动时停止,没有错误或警告

没有错误,但应用程序在 android studio Java 中一直停止

不幸的是,该应用程序已停止 Android Studio 并且没有错误

在没有活动的情况下启动应用程序,我的广播接收器无法正常工作

代码没有错误,logcat 什么都没有,但不幸的是应用程序停止了错误

Spring Boot JMS:当JMS接收器发生内部应用程序错误时,如何不丢失jms消息

现有使用广播接收器的应用程序存在后,是否有办法使重复警报正常工作?

Pygame程序停止响应,没有错误