-
Solace fail-over test - affected consuming of event
Hi, While doing Solace fail-over test, once the test was initiated, the SolaceHealthIndicator Status change in following chronological order : DOWN -> RECONNECTING -> UP We didn't observed and pod restart. However, the consumer was in stale state, where no events were being consumed. Note that the event consumer health was…
-
Weird chars at start of text payload!?
TL/DR: it's not a mistake or error… it's just a structured Text Message. Hi all! I'm making a definitive post about this because it's been asked countless times, and I still can't find a good "one-page" reference response. The issue: sometimes you'll see weird characters at the beginning of your text payload. For example,…
-
Topic dispatching with guaranteed delivery using JCSMP
Hi there, The article here explains how one can have custom callback to handle guaranteed messages received with matching topics thru flows bound to queues using Java RTO. Is there something similar for the JCSMP API, or another way that we can achieve something like that? On a related note, there's normally only be one…
-
Solace Java apps, shutdown hooks and deadlocks
I build a lot of JCSMP apps, and in my latest project (my PrettyDump console pretty-print message listener), I ran into an issue I thought was pretty interesting and thought I'd share here. It's a terminal app, and I wanted to use a shutdown hook so that it would capture Ctrl+C on the command line to initiate a graceful…
-
JCSMP - List all topic subscriptions for a queue
Hi there, The JCSMPSession has methods to add/remove topic subscriptions to a queue, but none to list the current subscriptions. How do I do this using JCSMP? TIA.
-
TestContainers for Solace PubSub+
I am excited to share an update on Testcontainers for Solace PubSub+ module. For those who have not worked with Testcontainers, let me help you with the introduction Testcontainers is an open source framework for providing throwaway, lightweight instances of databases, message brokers, web browsers, or just about anything…
-
OpenTelemetry Agent for Spring cloud binder
I would like to autoinstrument my scs based application. For trial I have added opentelemetry agent latest version and started my application- But traces are not generating. Is there any separate agent available for SCS to to auto-instrument ?
-
How to get a Map (java.util) of internal properties of a JCSMP message (in java)
When calling the `dump()` method on a message (BytesXMLMessage, with JCSMP API), there are two kind of information: 1. metadata, which are internal headers (replicationGroupMessageId, traceId, messageId, etc…) 2. message body in binary format I would like to know if it's possible to get the internal properties in a Map…
-
Will JCSMPInboundChannelAdapter have configurable shutdownInterruptThresholdInMillis?
Hello, we are experiencing an issue with graceful shutdown of an application. We are using spring cloud "com.solace.spring.cloud:spring-cloud-starter-stream-solace:4.1.0" There is no awaiting for the termination and messages finish in the error queue. Is there a better way to gracefully stop and resume? Will configuring…
-
How to get a specific message body from a queue using a unique ID
I want to know the best way to get the message Body of a specific message instance in a queue. The method I use is the following: My software is calling the SEMP API to get a list of messages metadata like this: {{solace-admin-url}}/SEMP/v2/monitor/msgVpns/my-vpn-name/queues/myqueuename/msgs and the json response looks…
-
How to make Queue browser to stop listening when no more message are in queue?
Context: I am using the Java API for browsing messages. I have my code looking like this: MessagingService messagingService = createMessagingService(clientUser, clientPass); Queue queue = Queue.durableExclusiveQueue(queueToBrowse); MessageQueueBrowser browser; if (selector == null || selector.isEmpty()) { browser =…
-
com.solacesystems.jcsmp.JCSMPErrorResponseException: 401: Certificate Error [Subcode:1]
Hi Team, I'm trying to publish on Solace queue with Client Certificate Authentication using self signed certificate. But getting below error: Remote addr: mr-connection-dcnuo3u5bkz.messaging.solace.cloud Remote port: 55443) - ) com.solacesystems.jcsmp.JCSMPErrorResponseException: 401: Certificate Error [Subcode:1] at…
-
Using selectors in exclusive queue
Hi I'm trying to use exclusive queue with many consumers with different selectors. For some reason after starting application and providing consumers only first one stays active. Used library is JCSMP. var flowProps = new ConsumerFlowProperties(); flowProps.setEndpoint(queue);…
-
How to set max-delivered-unacked-msgs-per-flow via JCSMP API
I see that .Net API has methods to set WindowSize and MaxUnackedMessages () But I do not see any such documentation for JCSMP API, can you please let me know how to set those? Regards, Karthik
-
Should the FlowReceiver be closed before recreating a new FlowReceiver?
I am following along with this solace tutorial. I am now testing and handling this portion of the tutorial where I handle REPLAY_START_TIME_NOT_AVAILABLE: . I have added a System.out.println(consumer.isClosed()); before I recreate a new FlowReceiver to replay from the beginning. This is printing out false.…
-
PERFORMANCE! Why you should use Message.reset() in Solace APIs..!
Hi Developers! Want to go fast? Faster, anyway? Read on... I'm just putting the finishing touches on a new bunch of Solace Java (JCSMP) samples, and have been doing a bit of performance testing with them. They are still meant to be fairly simple and straightforward, and don't try to maximize absolute throughput…
-
Reprocessing Messages
I have a scenario similar to the one mentioned in this post How can I get it to work in JCSMP with spring boot?
-
How can I replay from a specific message ID?
My main purpose is to be able to replay from a specific message. I want to be able to keep track of which was the last message that was successfully processed, so that I wont have to replay from the start or replay the whole day's worth of message. I think that in order to do this, I would need to be able to find out how…
-
Not able to update JWT using updateProperties()
Hi Solace Community, I am using the Java Api version 1.1 Currently I am experiencing a problem that I am unable to resolve where calling the "updateProperty()" function for the messaging service isn't logging, returning feedback or actually changing the JWT token that I am sending. The JWT I am generating is successfully…
-
JCSMP Ack mode
Hello. I'm creating a Jcsmp session based on this tutorial: solace-samples-java-jcsmp/QueueConsumer.java at master · SolaceSamples/solace-samples-java-jcsmp · GitHub. even if I'm setting the flow_prop.setAckMode(JCSMPProperties.SUPPORTED_MESSAGE_ACK_CLIENT); and passing the flow_prop to the session as in the tutorial. the…
-
Samples for JCSMP use deprecated classes
I just faced today when looking at JCSMP samples for publishing e.g. to topic that samples here: https://tutorials.solace.dev/jcsmp/publish-subscribe/ + https://github.com/SolaceSamples/solace-samples-java-jcsmp/blob/master/src/main/java/com/solace/samples/jcsmp/features/TopicPublisher.java to not get adapted to a latest…
-
Two or more consumers for different topics
Here in this question, I managed to solve the queue issue: Two or more consumers for different queues Now, the following question remains: In the same application, I need to process non-persistent messages, which are sent to different topics and have different formats: 1) update-certificate; 2) update-credentials; In this…
-
How to connect XASession of Solace JCSMP API with Weblogic Database XAConnection?
Hi team, I am looking for a way to connect solace XASession with database XA connection (my datasource is on weblogic server) so that if the query execution fails, solace transaction should rollback when db transaction.rollback is called; and same with commit statement. Or vice-versa - if solace transaction is rolled back,…
-
Solace SpringCloudStream PubSub model using durable topic endpoint
We have a requirement to stop listening to queue when any error occurred while processing. We are on Kubernates and we have many instances of an application which listening to the same queue, so if i try to stop listening to queue using the service name it stops only one instance others still listening to the queue. As in…
-
My Question is regarding Replay in Solace
Hi , I have following questions on Replay Want to know more about the replay Queues that gets created once we enable the replay on our VPN. One of the queues has name like Replay Log which stores all the persistant messages getting send to the VPN , what about the other queue having name like REPLAY_TOPICS what exactly is…
-
JCSMP get numbers of messages in QUEUE
Hi, is it possible to get actual number of messages in a queue with JCSMP API ? I want to monitor that number each 5 sec.
-
JCSMP Blocking Publisher Example: Timeout configurable
Hi Community, I have a question on the JCSMP BlockingSynchronousSendGuaranteed.java sample: What happens, if the broker doesn't respond with either an ACK or a NACK? Is this even possible or under which conditions could that occur? (I read something about disk full could be one potential situation.) Is there a timeout for…
-
Disable message redelivery in Solace container
Hello, Some integration tests fail randomly because the message is redelivered multiple times and we couldn't find why. We can see in Solace UI that the queue only received 10 messages but we can see that the message was redelivered 20 times even though we are acknowledging the message in the consumer. Is there a way to…
-
Integrating the Solace Kafka Sink Connector with Confluent Schema Registry
Avro is a common message format used for Kafka records. Large Kafka implementations leveraging Avro often use the Confluent Schema Registry to ensure uniform record schemas across publishers and subscribers. When using the Solace PubSub+ Kafka Connectors to publish Kafka records as Solace PubSub+ events, it may be…
-
Clarify Default Values for properties on setters in Solace API Libraries
Solace comes along with many settings and when using libraries the settings an be changed via setters. Let's take an example: DMQEligible In JCSMP: (good as mentioning default) https://docs.solace.com/API-Developer-Online-Ref-Documentation/java/index.html on Message Class it states clearly what is the default. "Set the…