Add solace event integration content#507
Conversation
📝 WalkthroughWalkthroughThis documentation update restructures the Solace integration guide with nested authentication tabs (Basic/Kerberos/OAuth2), separate queue/topic configuration, expanded Ballerina code explanations for listener definition and constructor configuration, updated listener field tables with improved formatting, and refreshed event handler descriptions. ChangesSolace Integration Documentation Restructure
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@en/docs/develop/integration-artifacts/event/solace.md`:
- Around line 43-56: Update the TabItem value and label strings to correct
typos: change the TabItem with value "kerbos-authentication" and label "Kerbos"
to value "kerberos-authentication" and label "Kerberos", and change the TabItem
label "Oauth2" to "OAuth2" so the TabItem components (value/label attributes)
use consistent spelling across the document.
- Around line 226-227: The Connect Timeout and Read Timeout defaults are
inconsistent between the two tables; update the first table entries for "Connect
Timeout" and "Read Timeout" (currently `0.0`) so they match the later table's
defaults (`30.0` and `10.0` respectively) used by the implementation/UI, or vice
versa if the later table is wrong—ensure both table rows with labels "Connect
Timeout" and "Read Timeout" contain the same default values across the document
so the UI and code documentation are consistent.
- Around line 70-91: The two sibling TabItem components (TabItem value="uiQueue"
and TabItem value="uiTopic") both include the default prop; remove the duplicate
by keeping the default only on the primary TabItem (e.g., TabItem
value="uiQueue") and deleting the default prop from the other TabItem (TabItem
value="uiTopic") so only one TabItem has default in the Tabs group.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: fcc4c61c-2708-4cfd-b58e-9e5b6a1a2de3
⛔ Files ignored due to path filters (4)
en/static/img/develop/integration-artifacts/event/solace/adding-event-handler.pngis excluded by!**/*.pngen/static/img/develop/integration-artifacts/event/solace/step-creation-form.pngis excluded by!**/*.pngen/static/img/develop/integration-artifacts/event/solace/step-service-config.pngis excluded by!**/*.pngen/static/img/develop/integration-artifacts/event/solace/step-service-designer.pngis excluded by!**/*.png
📒 Files selected for processing (1)
en/docs/develop/integration-artifacts/event/solace.md
| <TabItem value="kerbos-authentication" label="Kerbos"> | ||
| **Kerberos Authentication fields:** | ||
|
|
||
| | Field | Description | Default | | ||
| |---|---|---| | ||
| | **Service Name** | Kerberos service name. | `solace` | | ||
| | **JAAS Login Context** | JAAS login context name. | `SolaceGSS` | | ||
| | **Mutual Authentication** | Enable Kerberos mutual authentication. | Enabled | | ||
| | **JAAS Config Reload** | Enable automatic JAAS configuration reload. | — | | ||
| | **Secure Socket** | SSL/TLS configuration for a secure connection. | — | | ||
| | **JAAS Config Reload** | Enable automatic JAAS configuration reload. | - | | ||
| | **Secure Socket** | SSL/TLS configuration for a secure connection. | - | | ||
|
|
||
| </TabItem> | ||
|
|
||
| <TabItem value="oauth2-authentication" label="Oauth2"> |
There was a problem hiding this comment.
Fix authentication label/value typos for consistency.
Line 43 uses kerbos-authentication and Kerbos, and Line 56 uses Oauth2. Please standardize to kerberos-authentication, Kerberos, and OAuth2 to match terminology used elsewhere in the page.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@en/docs/develop/integration-artifacts/event/solace.md` around lines 43 - 56,
Update the TabItem value and label strings to correct typos: change the TabItem
with value "kerbos-authentication" and label "Kerbos" to value
"kerberos-authentication" and label "Kerberos", and change the TabItem label
"Oauth2" to "OAuth2" so the TabItem components (value/label attributes) use
consistent spelling across the document.
| <Tabs> | ||
| <TabItem value="uiQueue" label="Queue" default> | ||
| **When Destination is Queue:** | ||
|
|
||
| | Field | Description | Default | | ||
| |---|---|---| | ||
| | **Queue Name** | Queue to listen for incoming messages. | `test-queue` | | ||
| | **Session Acknowledgment Mode** | How received messages are acknowledged. Options: `AUTO_ACKNOWLEDGE`, `CLIENT_ACKNOWLEDGE`, `DUPS_OK_ACKNOWLEDGE`, `SESSION_TRANSACTED`. | `AUTO_ACKNOWLEDGE` | | ||
|
|
||
| </TabItem> | ||
| <TabItem value="uiTopic" label="Topic" default> | ||
| **When Destination is Topic:** | ||
|
|
||
| | Field | Description | Default | | ||
| |---|---|---| | ||
| | **Topic Name** | Topic to listen for incoming messages. | `test/topic` | | ||
| | **Subscriber Name** | Name to use for the subscription. | `default` | | ||
| | **Durable Subscriber** | When enabled, persists the subscription when the client disconnects. | - | | ||
| | **Session Acknowledgment Mode** | How received messages are acknowledged. Options: `AUTO_ACKNOWLEDGE`, `CLIENT_ACKNOWLEDGE`, `DUPS_OK_ACKNOWLEDGE`, `SESSION_TRANSACTED`. | `AUTO_ACKNOWLEDGE` | | ||
|
|
||
| </TabItem> | ||
| </Tabs> |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
In Docusaurus Tabs/TabItem (MDX), what happens if multiple sibling <TabItem> elements are marked with the default prop? Is only one allowed?
💡 Result:
If multiple sibling elements are marked with the default prop, Docusaurus does not specify that only one is allowed; instead it picks the first tab marked default (and otherwise falls back to the first tab). In the Tabs theme logic, the initial selected tab is computed by searching tab values for the first one with default and using tabValues.find((tabValue) => tabValue.default) ?? tabValues[0]—so when more than one TabItem has default, the earliest one in the rendered children order wins, and the others are ignored for the initial selection [1]. The docs also describe the mechanism as “adding default to one of the tab items” to override the “first tab displayed by default” behavior, which aligns with the “first default wins” implementation [2]. Answer: Yes, only one will effectively be chosen for the initial render—specifically the first sibling TabItem with default—but Docusaurus does not document/enforce an error for multiple defaults; they’re just resolved by “first default wins” [1].
Citations:
- 1: https://github.com/facebook/docusaurus/blob/6192b6a9/packages/docusaurus-theme-common/src/utils/tabsUtils.tsx
- 2: https://docusaurus.io/docs/next/markdown-features/tabs
Remove the duplicate default prop from sibling <TabItem>
Docusaurus “first default wins” for initial tab selection, so multiple defaults won’t cause runtime ambiguity—but having two is redundant and confusing; keep only one <TabItem ... default> in the <Tabs> group.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@en/docs/develop/integration-artifacts/event/solace.md` around lines 70 - 91,
The two sibling TabItem components (TabItem value="uiQueue" and TabItem
value="uiTopic") both include the default prop; remove the duplicate by keeping
the default only on the primary TabItem (e.g., TabItem value="uiQueue") and
deleting the default prop from the other TabItem (TabItem value="uiTopic") so
only one TabItem has default in the Tabs group.
| | **Connect Timeout** | Maximum time in seconds permitted for a JNDI connection attempt. Set to `0` to wait indefinitely. | `0.0` | | ||
| | **Read Timeout** | Maximum time in seconds permitted for reading a JNDI lookup reply from the host. | `0.0` | |
There was a problem hiding this comment.
Resolve conflicting timeout defaults between UI and code tables.
Line 226-227 says Connect Timeout/Read Timeout default to 0.0, while Line 272-273 lists 30.0/10.0. These defaults should match in both sections to prevent incorrect configuration expectations.
Also applies to: 272-273
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@en/docs/develop/integration-artifacts/event/solace.md` around lines 226 -
227, The Connect Timeout and Read Timeout defaults are inconsistent between the
two tables; update the first table entries for "Connect Timeout" and "Read
Timeout" (currently `0.0`) so they match the later table's defaults (`30.0` and
`10.0` respectively) used by the implementation/UI, or vice versa if the later
table is wrong—ensure both table rows with labels "Connect Timeout" and "Read
Timeout" contain the same default values across the document so the UI and code
documentation are consistent.
Purpose
This PR add the content for the solace event integration.
Goals
Approach
User stories
Release note
Documentation
Training
Certification
Marketing
Automation tests
Security checks
Samples
Related PRs
Migrations (if applicable)
Test environment
Learning
Summary by CodeRabbit