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);
}
}