🎄 Happy Holidays! 🥳

Most of Solace is closed December 24–January 1 so our employees can spend time with their families. We will re-open Thursday, January 2, 2024. Please expect slower response times during this period and open a support ticket for anything needing immediate assistance.

Happy Holidays!

Please note: most of Solace is closed December 25–January 2, and will re-open Tuesday, January 3, 2023.

Issue with Solace Consumers

Waleed Butt
Waleed Butt Member Posts: 2

Hy Folks, I have a scenario where my App has multiple consumers and Publishers, Publishing part is working fine but my consumers are behaving weirdly, It stops consuming messages after some time, when I check from portal it shows my Consumers are active and connected to the queue but messages sit in the queue and does not get consumed, If I restart the app, It starts working fine again and consumes the messages. The fun part is that logs are not helping at all and I am clueless about whats going on..
need expert suggestion.

Answers

  • Waleed Butt
    Waleed Butt Member Posts: 2
    edited July 1 #2

    Below is my reconnection logic with Solace
    
    return JCSMPFactory.onlyInstance().createSession(properties, null, new SessionEventHandler() {
    			@Override
    			public void handleEvent(SessionEventArgs event) { // could be reconnecting, connection lost, etc.
    				try {
    					log.info("Reconnecting to Solace ....");
    					String newToken = solaceProperties.getIdentityClientId() != null ? solaceTokenCache.getAuthToken() : solaceAccessToken.getNewAccessToken();
    					log.info("Solace: New token : {}", newToken);
    					session.setProperty(JCSMPProperties.OAUTH2_ACCESS_TOKEN, newToken);
    
    
    					log.info("Solace session event: {}. Reconnected with a new token", event);
    
    
    				} catch (Exception e) {
    					log.error("Exception occurred during session event handling: {}", event, e);
    				}
    			}
    

    I only get the logs uptil log.info("Solace: New token : {}", newToken);

    which means its generating the new token but after that log.info("Solace session event: {}. Reconnected with a new token", event);

    this log is not coming and it also doesnt go to the catch block,

    i hope this gives more context on the issue