[ https://issues.apache.org/jira/browse/CAMEL-15117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-15117. --------------------------------- Resolution: Fixed > camel-salesforce - Consuming a subscribed message during shutdown causes NPE > ---------------------------------------------------------------------------- > > Key: CAMEL-15117 > URL: https://issues.apache.org/jira/browse/CAMEL-15117 > Project: Camel > Issue Type: Bug > Components: camel-salesforce > Reporter: Otavio Rodolfo Piske > Priority: Major > Fix For: 3.4.0 > > > It seems that, sporadically, the code may throw an NPE. > > I am speculating*because I cannot confirm entirely due to the sporadic nature > of the issue, but by looking at the logs and the behavior, it seems that the > onMessage handler for subscriptions can still be called during the shutdown. > > {quote}2020-05-27 09:19:21,017 [orceConnector-0] INFO > org.apache.camel.impl.engine.DefaultShutdownStrategy - Graceful shutdown of 1 > routes completed in 0 seconds > 2020-05-27 09:19:21,018 [orceConnector-0] DEBUG > org.cometd.client.BayeuxClient.67a9cb3f - State updated: CONNECTED -> > DISCONNECTING > 2020-05-27 09:19:21,018 [orceConnector-0] DEBUG > org.cometd.client.BayeuxClient.67a9cb3f - Sending messages > [\{clientId=hr1cjxz3pqn37al6x32wuz369e0, channel=/meta/disconnect, id=19}] > 2020-05-27 09:19:21,018 [orceConnector-0] DEBUG > org.cometd.client.BayeuxClient.67a9cb3f - Sent disconnect > \{clientId=hr1cjxz3pqn37al6x32wuz369e0, channel=/meta/disconnect, id=19} > 2020-05-27 09:19:21,018 [orceConnector-0] DEBUG > org.cometd.client.BayeuxClient.67a9cb3f - Notifying threads in waitFor() > 2020-05-27 09:19:21,018 [orceConnector-0] DEBUG > org.cometd.client.BayeuxClient.67a9cb3f - Waiting 60000ms for [DISCONNECTED] > 2020-05-27 09:19:21,147 [nt@4ae82baa-204] DEBUG > org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 > - Received messages [\{clientId=hr1cjxz3pqn37al6x32wuz369e0, > channel=/meta/disconnect, id=19, successful=true}]09:19:21,147 > [nt@4ae82baa-204] DEBUG org.cometd.client.BayeuxClient.67a9cb3f - Processing > \{clientId=hr1cjxz3pqn37al6x32wuz369e0, channel=/meta/disconnect, id=19, > successful=true} > 2020-05-27 09:19:21,147 [nt@4ae82baa-204] DEBUG > org.cometd.client.BayeuxClient.67a9cb3f - State updated: DISCONNECTING -> > TERMINATING > 2020-05-27 09:19:21,147 [nt@4ae82baa-203] DEBUG > org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 > - Received messages [\{clientId=hr1cjxz3pqn37al6x32wuz369e0, > channel=/meta/connect, id=17, successful=true}]27 09:19:21,147 > [nt@4ae82baa-203] DEBUG org.cometd.client.BayeuxClient.67a9cb3f - Processing > \{clientId=hr1cjxz3pqn37al6x32wuz369e0, channel=/meta/connect, id=17, > successful=true} > 2020-05-27 09:19:21,148 [nt@4ae82baa-204] DEBUG > org.cometd.client.BayeuxClient.67a9cb3f - State updated: TERMINATING -> > DISCONNECTED > 2020-05-27 09:19:21,148 [nt@4ae82baa-204] DEBUG > org.cometd.client.BayeuxClient.67a9cb3f - Notifying threads in waitFor() > 2020-05-27 09:19:21,148 [orceConnector-0] DEBUG > org.cometd.client.BayeuxClient.67a9cb3f - Waited 129/60000ms for > [DISCONNECTED], state is DISCONNECTED > 2020-05-27 09:19:21,148 [nt@4ae82baa-203] DEBUG > org.cometd.client.BayeuxClient.67a9cb3f - State not updated: DISCONNECTED -> > CONNECTED > 2020-05-27 09:19:21,148 [nt@4ae82baa-203] DEBUG > org.cometd.client.BayeuxClient.67a9cb3f - Notifying threads in waitFor() > 2020-05-27 09:19:21,169 [nt@4ae82baa-209] DEBUG > org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$5 > - Received messages [\{clientId=hr1cjxz3pqn37al6x32wuz369e0, > channel=/meta/subscribe, id=18, subscription=/topic/CamelKafkaConnectorTopic, > successful=true}]td.client.BayeuxClient.67a9cb3f - Processing > \{clientId=hr1cjxz3pqn37al6x32wuz369e0, channel=/meta/subscribe, id=18, > subscription=/topic/CamelKafkaConnectorTopic, successful=true}7 09:19:21,169 > [nt@4ae82baa-209] DEBUG > org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper - > [CHANNEL:META_SUBSCRIBE]: \{clientId=hr1cjxz3pqn37al6x32wuz369e0, > channel=/meta/subscribe, id=18, subscription=/topic/CamelKafkaConnectorTopic, > successful=true}mel.component.salesforce.internal.streaming.SubscriptionHelper > - Subscribed to channel /topic/CamelKafkaConnectorTopic > 2020-05-27 09:19:21,169 [nt@4ae82baa-209] INFO > org.cometd.bayeux.client.ClientSession - Exception while invoking listener > org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$7@62e79206 > java.lang.NullPointerException: null > at > org.apache.camel.component.salesforce.internal.streaming.SubscriptionHelper$7.onMessage(SubscriptionHelper.java:458) > ~[camel-salesforce-3.3.0.jar:3.3.0] > at > org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyOnMessage(AbstractClientSession.java:583) > ~[cometd-java-common-4.0.4.jar:4.0.4] > at > org.cometd.common.AbstractClientSession$AbstractSessionChannel.notifyMessageListeners(AbstractClientSession.java:568) > ~[cometd-java-common-4.0.4.jar:4.0.4] > at > org.cometd.common.AbstractClientSession.notifyListeners(AbstractClientSession.java:308) > ~[cometd-java-common-4.0.4.jar:4.0.4] > at > org.cometd.common.AbstractClientSession.lambda$receive$4(AbstractClientSession.java:269) > ~[cometd-java-common-4.0.4.jar:4.0.4] > at org.cometd.bayeux.Promise$2.succeed(Promise.java:103) > [bayeux-api-4.0.4.jar:4.0.4] > ... > {quote} -- This message was sent by Atlassian Jira (v8.3.4#803005)