In this codelab, I will be showing you how to use and configure the Solace connector on MuleSoft Anypoint Platform to send or receive events.
The MuleSoft Anypoint Platform is an integration platform and acts as a complete solution for API-led connectivity.
To learn more about Mulesoft Anypoint platform, checkout the following resources:
MuleSoft Videos - Anypoint Platform
MuleSoft Developer - Quick Start guide
Solace PubSub+ Connector - Mule 4, Documentation and Examples
So put your seatbelt on and tag along in the following steps!
To run this codelab all you need
Access to a Solace messaging service, Solace PubSub+, can be achieved in anyone of the three flavours
If you already have a Solace PubSub+ Cloud account, you can skip this step
This tutorial will walk you through setting up a Solace Cloud service instance. If you are interested in setting up a local broker running on Docker or a virtual machine check out the PubSub+ Event Broker: Software documentation
Navigate to the Create a New Account page and fill out the required information. No credit card required!
After you create your Solace Cloud account and sign in to the Solace Cloud Console, you'll be routed to the event mesh page.
Click on ‘Cluster Manager' and all the messaging services associated with your account will show up if you have any already created. To create a new service, click either button as depicted in the image below:
Fill out all the details for your messaging service, and then click "Create" at the bottom of the page.
Your service should be ready to use in a couple seconds! 🌪
If you already have a MuleSoft Anypoint account and Anypoint Studio, you can skip this step.
mvn installwhich installs the solace connector
Launch Solace PubSub+ console and select the Broker
Select the Broker and open the Connect tab
Open the Connect tab and make a note of the parameters
Now, we can configure Solace PubSub+ Connector in the Anypoint Studio.
In order to create a connection to Solace PubSub+ Broker, we need to create a new connector configuration. Select the "Global Configuration" in the flow and select "Solace PubSub+ Connector config" option
In the popup dialog, in the Connection tab enter values for Client Username, Password, Message VPN and Broker Host with the noted values from the previous step.
Click on "Test Connection" to ensure that the connection to Broker is successful.
Now that the connector is installed, go ahead and navigate to
src/main/mule and double click on the xml file. When you do so, you will see an empty Message Flow canvas
Observe in the Main Palette on the right-hand side the Solace Connector and all the different operations that you can use in the flow.
Let's go ahead and create a basic flow that publishes events to a predefined topic on the previously created solace broker.
Drag the publish Palette from the Solace directory into the Message Flow canvas
Ensure that the "Connector configuration" of "Publish" in the bottom pane is selected with the Solace PubSub+ Connection configuration "Solace_PubSub__Connector_Config" created in the previous step.
Now that you have a publisher object configured, let's test it out! In this step, we will configure a scheduler that will publish messages every second on a predefined topic
Schedulerunder the main palette catalogue on the left hand side of the IDE
Message Bodyas "This is the body of the message sent from a mule flow"
Before executing the flow, let's setup a subscriber on the broker to observe the messages flowing. To do so:
Connectand add a topic subscription
And that's it! You can check out demos on SolaceProducts/pubsubplus-connector-mule-docs github repo to see other functionalities with the broker.
Now that you have created a publisher flow and tested it, let's go ahead and create a
Direct Topic Subscriber object that will connect to the broker and subscribe to the topic we sent. To do so:
Direct Topic Subscriberobject into the canvas
Direct Topic Subscriberobject to configure it. Set
Subscriptionsas "solace/mule/>" and
Loggerfrom the pallette menu and drag it to the Topic Subscriber flow
%dw 2.0 output application/java --- payload
We successfully created a publisher to publish events on a topic to the PubSub+ Broker, and subscribe to the topic as well. This Mule-Solace interaction is enabled using the Solace PubSub+ MuleSoft Connector.
✅ We were able to show how to create a new Solace Cloud Account
✅ Install Anypoint Studio
✅ Install the Solace Connector
✅ Configure a publish object
✅ Use the Solace Cloud TryMe tab to test out our connection and configuration
✅ Configure a subscriber object
✅ Run the subscriber flow to receive the published events
Thanks for participating in this codelab! Let us know what you thought in the Solace Community Forum! If you found any issues along the way we'd appreciate it if you'd raise them by clicking the Report a mistake button at the bottom left of this codelab.