davsclaus opened a new pull request, #28097:
URL: https://github.com/apache/camel/pull/28097

   [CAMEL-25783](https://issues.apache.org/jira/browse/CAMEL-25783): the jms 
page did not show how to connect to a broker in application properties, YAML or 
Java. In a benchmark of Oct 18-19 2026, a local model building a JMS 
request-reply example on ActiveMQ Artemis failed that step in 8 of 8 runs: it 
asked `camel_catalog_doc jms` for connectionFactory, brokerUrl and broker, and 
`camel_catalog_find` for "artemis", and found nothing.
   
   ## What
   
   - **A new first section, "Connecting to a broker"**: the JMS component needs 
a `ConnectionFactory` from the broker's client library, created as a bean, set 
on the component, with a connection pool around it. Without a pool, the 
component opens a connection for every message it sends.
     - It shows ActiveMQ Artemis with the 
[pooled-jms](https://github.com/messaginghub/pooled-jms) pool, as `camel infra 
run artemis` starts it, in tabs: application properties, Java and Spring XML.
     - `camel run` downloads the client libraries for these classes (known 
third-party libraries of camel-kamelet-main). In a Maven project, add 
`org.apache.artemis:artemis-jakarta-client` and `org.messaginghub:pooled-jms`.
     - Other brokers work the same way. IBM MQ is named with its connection 
factory class and settings, and ActiveMQ Classic points to the activemq 
component.
     - It is the first section because `camel_catalog_doc` returns the start of 
a component page (1400 characters): the whole properties block is in that 
excerpt now.
   - **"Configuring different JMS providers"** said "in Spring XML as follows:" 
and showed no example. It now shows a component named `artemis` with its own 
connection factory, in application properties and Spring XML.
   - **The ActiveMQ tip** at the top says that for Artemis this component is 
the one to use.
   - **The AI tools**: `camel_catalog_find` and `camel_catalog_sample` answer 
"artemis", "activemq artemis", "ibm mq", "ibmmq" and "websphere mq" with the 
jms component, and a note that points to the new section. `camel_catalog_find` 
also uses the other intents of `camel_catalog_sample` now, such as "call 
service" for http.
   
   The setup follows the one of [Forage](https://github.com/KaotoIO/forage): 
the Artemis `ActiveMQConnectionFactory` wrapped by a pooled-jms 
`JmsPoolConnectionFactory`.
   
   ## Checks
   
   - The application properties of both sections were run with `camel run` 
against `camel infra run artemis`. Messages went through `jms:queue:...` with 
the pooled connection factory, and through `artemis:queue:...` with the named 
component.
   - The Java tab compiles against artemis-jakarta-client 2.57.0, pooled-jms 
3.2.5 and camel-jms. The Spring XML blocks are well-formed. 
DocExamplesXmlSchemaTest leaves Spring `<bean>` blocks out by design.
   - camel-jbang-core: new tests for the broker names in `camel_catalog_find` 
and `camel_catalog_sample`. CatalogDocsTest, CatalogSamplesTest, 
CatalogDocExamplesTest and CatalogDocJavaExamplesTest pass, the latter with the 
new page in the catalog. All camel-jbang-core tests pass (2307 and 237).
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   
   https://claude.ai/code/session_01STT6whBgK1AqsSsUKrnE8m
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to