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]
