diff --git a/pom.xml b/pom.xml index fdc28e5..5e46a3d 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ com.solace.swim swim-feed-handler - 2.0.1 + 2.0.2 swim-feed-handler SWIM Feed Handler Spring Boot Application diff --git a/src/main/java/com/solace/swim/service/publish/SolacePublishingService.java b/src/main/java/com/solace/swim/service/publish/SolacePublishingService.java index 41f272f..5072038 100644 --- a/src/main/java/com/solace/swim/service/publish/SolacePublishingService.java +++ b/src/main/java/com/solace/swim/service/publish/SolacePublishingService.java @@ -163,7 +163,16 @@ public void invoke(Message message) { properties = null; logger.info("Published message id {} to topic {}.", message.getHeaders().get("jms_messageId"), topic.getName()); - } catch (Exception ex) { + } catch (IllegalStateException ex) { + logger.error("Error in state of publisher. Trying to recover..."); + if (!messagePublisher.isTerminated()) { + messagePublisher.terminate(100); + } + messagingService.disconnect(); + init(); + invoke(message); + } + catch (Exception ex) { logger.error("Unable to send message", ex); } }