-
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,…
-
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…
-
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 =…
-
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…
-
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.
-
How to test TLS connection and server certificate
If you use TLS to secure your connections (and you should use TLS as often as possible), you sometime have issues connecting to your TLS ports. Here, I will describe a way to debug that. Try to connect to a port You're not sure, if your service / port is enabled or (most probably) if all your firewall rules are in place ?…
-
What happens to demoted messages in an MNR network?
Multi-Node Routing (MNR) allows multi-broker distributing of direct messages, but what happens when you publish a persistent (guaranteed) message that matches a direct consumer locally or somewhere in the MNR network? The message will be demoted to direct for the local consumers to receive, but a published persistent…
-
Tip: Git repository search
I am sure, many of you are Git gurus 🙏 Just wanted to share what I found - if you are looking for repositories set to topics with keywords like X, Y and Z, you can simply type topic:X topic: Y topi: Z in the search text (unlike Google's X + Y + Z). For example, if you want to locate a repository of AsynAapi spring cloud…
-
TRB is not showing up after a SolOS upgrade (to 9.10) of 3530 appliances in an HA pair
After a SolOS upgrade (to 9.10) of your 3530 appliances in an HA pair, you may notice that the TRB is no longer detected. The broker is up but when you try to analyze the TRB in the Fabric 1 menu in SolAdmin, the TRB is not showing up. This is expected behavior. As of version 9.5, the Network Acceleration Blades (NAB)…
-
Using Spring Boot Actuator with Spring Cloud Stream
I figured I'd share a quick post on how to use Spring Boot Actuator with Spring Cloud Stream microservices as it might be useful for others (And me when I want to set this up again in a month! 😝). This allows you to make simple GET requests to see config, state, and stats about your bindings and channels for monitoring or…
-
How can I clear the statistics on the broker for my SolCache instance?
This can be done through a clear command (clear cache-instance) at the enable level of the CLI, one level down from the config level. You can see information about it by running " clear cache-instance ? "
-
Do you use TypeScript?
There were several discussions in the community about using typescript definitions with our JavaScript API. We have just updated our Samples repo to include the type definition file. Check it out in more details here! https://github.com/SolaceSamples/solace-samples-javascript…
-
Linux Commands Every Architect/Developer Should Know
Linux Commands Every Architect/Developer Should Know #1 – Process Monitoring * top – To view CPU & memory usage information. _General guidance is Load Average should be similar to the number of cores for the system not under stress._You can also use newer version htop command for more interactivity. Usage Example: top -u…
-
How can I use JMS Priority on a message? The priority isn’t applied by message.setJMSPriority().
Referring to JMS documentation here, you can see that client applications cannot use this method. To set the priority of the message to be published, you can either configure a default priority value for the Producer: producer.setPriority(priorityLevel), or with producer.send(message, deliveryMode, priorityLevel) to set it…
-
SolAdmin worked fine for years but after an upgrade I’m getting the error “cannot find javaw”.
As of version 8.17, SolAdmin no longer comes bundled with a Java Runtime Environment. Please ensure Java 8 (1.8) or later is installed on the platform where SolAdmin will run. The specific error indicates that "javaw.exe" is not in the system PATH environment variable. Please follow below steps to add the path to java to…
-
Why are all of my message-VPNs appearing as down on the backup appliance after an upgrade?
Starting in SolOS 9.1, a Message VPN state will appear as Down with the reason Not Active if the broker is not in the Redundancy Local Active state. Previously, the VPN would show as Up regardless of the redundancy state. This will apply to all VPNs on the standby broker. After a failover the VPNs will transition to Up.
-
Quick-and-dirty REST server for RDP testing
Hi there! I thought I'd share a (possibly!) useful snippet of code that you can use to receive REST requests, and respond with a canned body. It's in Node. I don't know Node, so apologies if it's not glamourous code. I was inspired by the "Simple REST Consumer" on this tutorial:…
-
Disable session timeout on CLI & PubSub+ Manager
Hi Solace Community, For obvious security reason the session timeout for the CLI & PubSub+ Manager is set to 5 minutes for CLI & 15 min for Manager. And this can be annoying to have to reconnect all the time on non production environment or if you have a lot to do in production, for a "go live" for example. CLI Session…
-
How to get SDTMap properties in Spring Cloud Stream
We are using SDTMap to set custom application properties in one service which produce message..which uses normal springboot service. We access solace message api and create SDTMap. In Consumer we use spring cloud stream to receive and process. How to get SDTMap properties in Spring Cloud Stream?
-
Docker port 55555 not available on Windows
The Solace Messaging Format (SMF) protocol uses port 55555 as default (and 55003 for compressed, and 55443 for TLS). I occasionally run into a situation where Docker Desktop for Windows won't start my Solace container in WSL2 because of some blocked port. I get this: $ docker start solace99Error response from daemon: Ports…
-
Why won’t my Solace Enterprise application reconnect after an HA failover?
Make sure that your reconnect retry value is not set too low or too high. It is recommended that you have your application attempt to reconnect for at least 5 minutes as follows: * connect retries: 1 * reconnect retries: 20 * reconnect retry wait: 3,000 ms * connect retries per host: 5 Be careful with JMS! These settings…