The Java Real-Time Optimized (RTO) messaging API (also referred to as solclientj) is a low-latency Java Native Interface (JNI) wrapper for the C API. For "pure Java" Solace APIs, please check out JCSMP or PubSub+ Java API instead.
The "Getting Started" tutorials will get you up to speed and sending messages with Solace technology as quickly as possible. There are three ways you can get started:
- Follow these instructions to quickly spin up a cloud-based Solace messaging service for your applications.
- Follow these instructions to start the Solace VMR in leading Clouds, Container Platforms or Hypervisors. The tutorials outline where to download and how to install the Solace VMR.
- If your company has Solace message routers deployed, contact your middleware team to obtain the host name or IP address of a Solace message router to test against, a username and password to access it, and a VPN in which you can produce and consume messages.
This repository contains code and matching tutorial walk-through for five different basic Solace messaging patterns. For a nice introduction to the Solace API and associated tutorials, check out the tutorials home page.
See the individual tutorials for details:
- Publish/Subscribe: Learn how to set up pub/sub messaging on a Solace VMR.
- TODO - Persistence: Learn how to set up persistence for guaranteed delivery.
- TODO - Request/Reply: Learn how to set up request/reply messaging.
- TODO - Confirmed Delivery: Learn how to confirm that your messages are received by a Solace message router.
- TODO - Topic to Queue Mapping: Learn how to map existing topics to Solace queues.
To check out the project and build it, do the following:
git clone
this GitHub repositorycd solace-samples-javarto
./gradlew clean assemble
To try individual samples, build the project from source and then run samples like the following:
On Linux:
./build/staged/bin/TopicSubscriber <<HOST_ADDRESS>> <<VPN> <<client-username>>
On MacOS & Darwin:
./build/staged/bin/TopicSubscriber <<HOST_ADDRESS>> <<VPN> <<client-username>>
On Windows Command Prompt:
build\staged\bin\TopicSubscriber.bat <<HOST_ADDRESS>> <<VPN> <<client-username>>
Using a modern Java IDE provides cool productivity features like auto-completion, on-the-fly compilation, assisted re-factoring and debugging which can be useful when you're exploring the samples and even modifying the samples. Follow the steps below for your preferred IDE.
To generate Eclipse metadata (.classpath and .project files), do the following:
./gradlew eclipse
Once complete, you may then import the projects into Eclipse as usual:
File -> Import -> Existing projects into workspace
Browse to the 'solace-samples-javarto' root directory. All projects should import free of errors.
If your Eclipse has the Gradle plugin already installed, the instead of generating the Eclipse metadata files as above, simply import this tutorial as a Gradle project: File -> Import -> Gradle -> Gradle Project
To generate IDEA metadata (.iml and .ipr files), do the following:
./gradlew idea
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
This project is licensed under the Apache License, Version 2.0. - See the LICENSE file for details.
For more information try these resources:
- Tutorials
- The Solace Developer Portal website at: http://solace.dev
- Get a better understanding of Solace technology.
- Check out the Solace blog for other interesting discussions around Solace technology
- Ask the Solace community.