-
Solace now supports Payload Compression!
Hi team, just wanted to put a note out there about a new feature Solace is rolling out across all our APIs. And that's the option of being able to automatically compress/decompress message payloads within the API. As of this moment, it's supported in JCSMP, C, JS/Node, and Python, with more APIs coming soon (check here).…
-
Spring Cloud Stream exception: "doesn't support message NACK" after upgrading Solace Binder to v5.x
Are you seeing this exception from your Spring Cloud Stream application? Caused by: org.springframework.messaging.MessagingException: The Solace PubSub+ Broker doesn't support message NACK capability, <inbound adapter c46eed03-a058-4b1d-9e8c-c402518f736c> at…
-
SdkPerf, but Pretty for JSON and XML!
Hi everyone, Just thought I'd make a post here to let people know I made a little Solace utility, and it's now public on GitHub: Often times when developing/debugging a Solace app, I just want to dump / echo messages that are going over the broker so I can see them. For this, SdkPerf with -md "message dump" flag is…
-
Solace PubSub+ TryMe VSCode Extension 🧑💻👩💻
Hey everyone! I'm happy to announce we have a new Solace PubSub+ TryMe VSCode Extension that you can install for free from the VSCode Marketplace. Check more details here Do you often use the Solace TryMe tab from the Solace Cloud or Broker manager menu? Happy to hear how others are planning to use this or if they find it…
-
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,…
-
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…
-
Need help as how to change default solace logging directory
when i am trying to bring the container , it fails by throwing "The file: /usr/sw/jail/logs/debug.log is not writable." is there a way i can change the logging directory to ay /opt i beleive if i keep logging_debug_output=none , still debug.log will try to get created but due to permission issue it will not work for me, so…
-
I need help as Solace Pub Sub container is not coming as healthy if i use ENTRYPOINT or CMD
my docker file FROM solace/solace-pubsub-standard:latest EXPOSE 8080 55555 ADD configure_queue.sh /usr/local/bin/ ADD start.sh /usr/local/bin/ USER root RUN chmod +x /usr/local/bin/configure_queue.sh RUN chmod +x /usr/local/bin/start.sh ENTRYPOINT ["/usr/local/bin/start.sh"] start.sh #!/bin/bash /configure_queue.sh &…
-
Why the messages remain in the QUEUE after the subscriber consume the message
Hello, I have a Java Apache Camel consumer that consumes and acknowledge messages from a topic a/b/c/t1 . I have a Queue subscribed to the same topic (a/b/c/>) . when I push a message (persistent or non-persistent) to the topic , I m able to consume the message in my java application but the message remain in the queue .…
-
Solace Docker Container Startup Time
Hey guys, Im currently working on a project with many microservices which communicate via solace. Therefore we startet writing integration tests using testcontainers. All other testcontainers start nearly instant (in like 1-2 seconds) only solace takes atleast 30 seconds to start - which reduces our performance in these…
-
health-check for solace
Hi Team, I want to create a health-check for solace which will check it can make connection to topic or not. This check will be called from a MuleSoft API. Only connection check is required. Publish/Consume is not needed. Please let me know how I can implement this use-case.
-
Visualizing of data inside Solace topic/Queue
Hi, We have a requirement to see what field values are specified in the given record sent to Solace. Is anyone aware of any tool/utility that provides data visualization? Thanks. Regards Sameer
-
SEMPv2 API : parameter in __private_monitor__ not in the public monitor
By checking the Solace console I found that the private_monitor__ contains a (query) parameter which is not present (or documented) in the url. Exemple for queue listing filtered by owner:…
-
Easy aliases for CLI and shell with Docker!
Are you tired of typing docker exec -it solaceXYZ cli every time you log into CLI? I know I am! Try adding these aliases to your .bash_alias (or whatever) file: alias cli='docker ps | grep solace-pubsub | head -1 | cut -c1-8 | xargs -I id -o docker exec -it id cli' alias shell='docker ps | grep solace-pubsub | head -1 |…
-
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…
-
How to see information on each message in a queue
Problem You want to check the messages you are sending for error checking or validation but don’t know how to do that. Prerequisite Download Solace Java or .NET APIs Download SDKPerf Solution You can do that in two ways: * Option 1: Use a queue browser with either the Solace Java or .NET API or SDKPerf * Option 2: Use…
-
solace websocket connection interrupted - Messages sometimes doesn´t reach the end client
solace websocket connection interrupted - Messages sometimes doesn´t reach the end client We seeing some issues, that the websocket was not disconnected and died, but that it was the same, with the same solclient id before and after, when it happened. Like there was a hitch just in communication. " with the websocket…
-
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…
-
BytesXMLMessage data safety
I saw in the documentation the recommendation not to cache BytesXMLMessage objects, because they may be reused. I am usually extracting the data from it using getBytes() method, and pass it down to the next layer of my processing. Question: is it safe to pass that data array as is? Do I need to make a copy of it?
-
Message redelivery for New Java API - if an exception or un-acknowledgement happened
I am exploring new Java API for solace integration. I have noticed that message redelivery is not happening if an exception happened in consumer thread. In JCMP api we were able close/ unbind and bind consumer. Spring cloud stream binder also doing same way. But new Java API I those apis's were not exposed. Please let me…
-
Is there a topic that captures ACL logs or is there a way to forward them to an external system?
I'm working on a logging strategy document, and I'm trying to determine if there's a way to capture ACL logs from a Solace Cloud environment and forward them to an external system. I'm open to using any method REST Delivery Point, syslog forwarding, etc. I'm aware that system, client and vpn logs are sent to a topic #LOG,…
-
Acknowledge message using ID
I usually acknowledge messages explicitly using BytesXMLMessage.ackMessage() method. This is pretty convenient, because I don't need to worry about how it is done in the implementation. However, there is one essential problem: I need to have the message object around when I want to call the ackMessage(). In my specific…
-
How do i enable tls on aws eks?
I have been working on to enable tls. I have tried creating the certificate from awspca.cert-manager.io and updated the changes while installing the helm chart. Like the secret name which has this tls.key and tls.cert Apart from these two changes do i need to do anything else to get tls/ssl at level level 7 not on level 4.…
-
How to return 'show current-config all' using SEMP API
Trying to construct an API request for the 'show current-config all' CLI command but not sure if this is possible for the SEMP API. Does anyone know if this is possible? Here is what I have tried with python. ``` requestBody = "<rpc><show><current-config><all/></current-config></show></rpc>" requestResponseObject =…
-
When I initiate a replay on my queue, why do I only see 1000 messages get replayed?
When you initiate a replay on your queue, you may notice that only 1000 messages get replayed. You know that you have way more than 1000 messages matching your queue subscription that you should see. This is actually expected if you have no clients bound to the queue at the time of the replay. When clients bind, and as…
-
Interact with Solace PubSub+ Event Portal using Typescript
Vision The Solace PubSub+ Platform was built with developers and architects in mind. One of the visions we had for the platform is an API first strategy to enable integration and programatic interaction with the platform. This includes interactions with the Solace PubSub+ platform using APIs, cli tools, or libraries to be…
-
Interceptors with Solace JMS
I just wanted to highlight a new feature that was added to Solace JMS v10.14.0. The API now allows for "pre-send" and "pre-receive" interceptors (AKA hooks). This allows a developer to implement common logic in one place and add it into the sending/receiving of multiple apps. A common use case for this would be for logging…
-
How to retrieve the SolOS version
If you have PubSub+ version 10.1.0+ and use SEMP v2, you can retrieve the SolOS version with curl -X GET -u mgmt_username:password 192.168.XXX.XX:PORT/SEMP/v2/monitor. You’ll see the version under data.version.
-
NonDurable TopicEndpoint Creation with Connection Factory for JMS API
Hi All, JMS Connection Factories can be created for each msg-VPN in Solace. This can be used to maintain/configure JMS connection properties administratively instead of API code. JMS applications can listen to Solace topic directly for both guaranteed and for non-guaranteed message delivery. When a JMS connection subscribe…
-
Delete All the Messages on a Queue Using Legacy SEMP
For deleting all the messages on a queue you can use the following legacy SEMP command: admin message-spool message-vpn <vpn-name> delete-messages queue <queue-name>SEMP Request:<rpc semp-version="soltr/9_6VMR"> <admin> <message-spool> <vpn-name>vpn-name</vpn-name> <delete-messages> <queue-name>queue-name</queue-name>…
-
SDKPerf command "-he"
If you prefer to learn by example, this SDKPerf command is for you. It enables you to get some basic examples that show you how to use SDKPerf.