This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new d38d946 CAMEL-16889: camel-jms - Artemis streaming mode should be
supported on producer when using pooled CF.
d38d946 is described below
commit d38d946936f2e1fabf4a0d735999f90aa67c800a
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Aug 25 16:59:47 2021 +0200
CAMEL-16889: camel-jms - Artemis streaming mode should be supported on
producer when using pooled CF.
---
.../apache/camel/component/activemq/activemq.json | 4 +--
.../src/main/docs/activemq-component.adoc | 4 +--
.../org/apache/camel/component/amqp/amqp.json | 4 +--
.../camel-amqp/src/main/docs/amqp-component.adoc | 4 +--
.../org/apache/camel/component/jms/jms.json | 4 +--
.../camel-jms/src/main/docs/jms-component.adoc | 4 +--
.../org/apache/camel/component/jms/JmsBinding.java | 8 ++---
.../camel/component/jms/JmsConfiguration.java | 9 ++++--
.../camel/component/jms/JmsMessageHelper.java | 17 ----------
.../dsl/ActivemqComponentBuilderFactory.java | 6 ++--
.../component/dsl/AmqpComponentBuilderFactory.java | 6 ++--
.../component/dsl/JmsComponentBuilderFactory.java | 6 ++--
.../endpoint/dsl/AMQPEndpointBuilderFactory.java | 36 ++++++++++++++--------
.../dsl/ActiveMQEndpointBuilderFactory.java | 36 ++++++++++++++--------
.../endpoint/dsl/JmsEndpointBuilderFactory.java | 36 ++++++++++++++--------
.../modules/ROOT/pages/activemq-component.adoc | 4 +--
.../modules/ROOT/pages/amqp-component.adoc | 4 +--
.../modules/ROOT/pages/jms-component.adoc | 4 +--
.../ROOT/pages/camel-3x-upgrade-guide-3_12.adoc | 18 ++++++-----
19 files changed, 123 insertions(+), 91 deletions(-)
diff --git
a/components/camel-activemq/src/generated/resources/org/apache/camel/component/activemq/activemq.json
b/components/camel-activemq/src/generated/resources/org/apache/camel/component/activemq/activemq.json
index 9945872..2863d6c 100644
---
a/components/camel-activemq/src/generated/resources/org/apache/camel/component/activemq/activemq.json
+++
b/components/camel-activemq/src/generated/resources/org/apache/camel/component/activemq/activemq.json
@@ -82,7 +82,7 @@
"allowAutoWiredConnectionFactory": { "kind": "property", "displayName":
"Allow Auto Wired Connection Factory", "group": "advanced", "label":
"advanced", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true,
"description": "Whether to auto-discover ConnectionFactory from the registry,
if no connection factory has been configured. If only one instance of
ConnectionFactory is found then it will be use [...]
"allowAutoWiredDestinationResolver": { "kind": "property", "displayName":
"Allow Auto Wired Destination Resolver", "group": "advanced", "label":
"advanced", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true,
"description": "Whether to auto-discover DestinationResolver from the registry,
if no destination resolver has been configured. If only one instance of
DestinationResolver is found then it w [...]
"allowSerializedHeaders": { "kind": "property", "displayName": "Allow
Serialized Headers", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Controls whether or not
to include serialized headers. Applies only when transferExch [...]
- "artemisStreamingEnabled": { "kind": "property", "displayName": "Artemis
Streaming Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Whether optimizing for
Apache Artemis streaming mode." },
+ "artemisStreamingEnabled": { "kind": "property", "displayName": "Artemis
Streaming Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Whether optimizing for
Apache Artemis streaming mode. This can reduce memory overhe [...]
"asyncStartListener": { "kind": "property", "displayName": "Async Start
Listener", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. Fo [...]
"asyncStopListener": { "kind": "property", "displayName": "Async Stop
Listener", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route." },
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
@@ -186,7 +186,7 @@
"replyToDestinationSelectorName": { "kind": "parameter", "displayName":
"Reply To Destination Selector Name", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Sets the JMS Selector
using the fixed name to be used so you [...]
"streamMessageTypeEnabled": { "kind": "parameter", "displayName": "Stream
Message Type Enabled", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Sets whether StreamMessage type is enabled or
not. Message [...]
"allowSerializedHeaders": { "kind": "parameter", "displayName": "Allow
Serialized Headers", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Controls whether or not
to include serialized headers. Applies only when transferExc [...]
- "artemisStreamingEnabled": { "kind": "parameter", "displayName": "Artemis
Streaming Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Whether optimizing for
Apache Artemis streaming mode." },
+ "artemisStreamingEnabled": { "kind": "parameter", "displayName": "Artemis
Streaming Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Whether optimizing for
Apache Artemis streaming mode. This can reduce memory overh [...]
"asyncStartListener": { "kind": "parameter", "displayName": "Async Start
Listener", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. F [...]
"asyncStopListener": { "kind": "parameter", "displayName": "Async Stop
Listener", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route." },
"destinationResolver": { "kind": "parameter", "displayName": "Destination
Resolver", "group": "advanced", "label": "advanced", "required": false, "type":
"object", "javaType":
"org.springframework.jms.support.destination.DestinationResolver",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "A pluggable
org.springframework.jms.support.destination.Des [...]
diff --git a/components/camel-activemq/src/main/docs/activemq-component.adoc
b/components/camel-activemq/src/main/docs/activemq-component.adoc
index 57bd6b1..0fd1d17 100644
--- a/components/camel-activemq/src/main/docs/activemq-component.adoc
+++ b/components/camel-activemq/src/main/docs/activemq-component.adoc
@@ -155,7 +155,7 @@ The ActiveMQ component supports 102 options, which are
listed below.
| *allowAutoWiredConnection{zwsp}Factory* (advanced) | Whether to
auto-discover ConnectionFactory from the registry, if no connection factory has
been configured. If only one instance of ConnectionFactory is found then it
will be used. This is enabled by default. | true | boolean
| *allowAutoWiredDestination{zwsp}Resolver* (advanced) | Whether to
auto-discover DestinationResolver from the registry, if no destination resolver
has been configured. If only one instance of DestinationResolver is found then
it will be used. This is enabled by default. | true | boolean
| *allowSerializedHeaders* (advanced) | Controls whether or not to include
serialized headers. Applies only when transferExchange is true. This requires
that the objects are serializable. Camel will exclude any non-serializable
objects and log it at WARN level. | false | boolean
-| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. | true | boolean
+| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. This can reduce memory overhead when using Artemis with JMS
StreamMessage types. This option must only be enabled if Apache Artemis is
being used. | false | boolean
| *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. For example if a JmsConsumer
cannot get a connection to a remote JMS broker, then it may block while
retrying and/or failover. This will cause Camel to block while starting routes.
By setting this option to true, you will let routes startup, while the
JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous
mode. If this option is used, the [...]
| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route. | false | boolean
| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used
for automatic autowiring options (the option must be marked as autowired) by
looking up in the registry to find if there is a single instance of matching
type, which then gets configured on the component. This can be used for
automatic configuring JDBC data sources, JMS connection factories, AWS Clients,
etc. | true | boolean
@@ -286,7 +286,7 @@ with the following path and query parameters:
| *replyToDestinationSelectorName* (producer) | Sets the JMS Selector using
the fixed name to be used so you can filter out your own replies from the
others when using a shared queue (that is, if you are not using a temporary
reply queue). | | String
| *streamMessageTypeEnabled* (producer) | Sets whether StreamMessage type is
enabled or not. Message payloads of streaming kind such as files, InputStream,
etc will either by sent as BytesMessage or StreamMessage. This option controls
which kind will be used. By default BytesMessage is used which enforces the
entire message payload to be read into memory. By enabling this option the
message payload is read into memory in chunks and each chunk is then written to
the StreamMessage until no [...]
| *allowSerializedHeaders* (advanced) | Controls whether or not to include
serialized headers. Applies only when transferExchange is true. This requires
that the objects are serializable. Camel will exclude any non-serializable
objects and log it at WARN level. | false | boolean
-| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. | true | boolean
+| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. This can reduce memory overhead when using Artemis with JMS
StreamMessage types. This option must only be enabled if Apache Artemis is
being used. | false | boolean
| *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. For example if a JmsConsumer
cannot get a connection to a remote JMS broker, then it may block while
retrying and/or failover. This will cause Camel to block while starting routes.
By setting this option to true, you will let routes startup, while the
JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous
mode. If this option is used, the [...]
| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route. | false | boolean
| *destinationResolver* (advanced) | A pluggable
org.springframework.jms.support.destination.DestinationResolver that allows you
to use your own resolver (for example, to lookup the real destination in a JNDI
registry). | | DestinationResolver
diff --git
a/components/camel-amqp/src/generated/resources/org/apache/camel/component/amqp/amqp.json
b/components/camel-amqp/src/generated/resources/org/apache/camel/component/amqp/amqp.json
index 7e7036f..0c27fa8 100644
---
a/components/camel-amqp/src/generated/resources/org/apache/camel/component/amqp/amqp.json
+++
b/components/camel-amqp/src/generated/resources/org/apache/camel/component/amqp/amqp.json
@@ -80,7 +80,7 @@
"allowAutoWiredConnectionFactory": { "kind": "property", "displayName":
"Allow Auto Wired Connection Factory", "group": "advanced", "label":
"advanced", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true,
"description": "Whether to auto-discover ConnectionFactory from the registry,
if no connection factory has been configured. If only one instance of
ConnectionFactory is found then it will be use [...]
"allowAutoWiredDestinationResolver": { "kind": "property", "displayName":
"Allow Auto Wired Destination Resolver", "group": "advanced", "label":
"advanced", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true,
"description": "Whether to auto-discover DestinationResolver from the registry,
if no destination resolver has been configured. If only one instance of
DestinationResolver is found then it w [...]
"allowSerializedHeaders": { "kind": "property", "displayName": "Allow
Serialized Headers", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Controls whether or not
to include serialized headers. Applies only when transferExch [...]
- "artemisStreamingEnabled": { "kind": "property", "displayName": "Artemis
Streaming Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Whether optimizing for
Apache Artemis streaming mode." },
+ "artemisStreamingEnabled": { "kind": "property", "displayName": "Artemis
Streaming Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Whether optimizing for
Apache Artemis streaming mode. This can reduce memory overhe [...]
"asyncStartListener": { "kind": "property", "displayName": "Async Start
Listener", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. Fo [...]
"asyncStopListener": { "kind": "property", "displayName": "Async Stop
Listener", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route." },
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
@@ -182,7 +182,7 @@
"replyToDestinationSelectorName": { "kind": "parameter", "displayName":
"Reply To Destination Selector Name", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Sets the JMS Selector
using the fixed name to be used so you [...]
"streamMessageTypeEnabled": { "kind": "parameter", "displayName": "Stream
Message Type Enabled", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Sets whether StreamMessage type is enabled or
not. Message [...]
"allowSerializedHeaders": { "kind": "parameter", "displayName": "Allow
Serialized Headers", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Controls whether or not
to include serialized headers. Applies only when transferExc [...]
- "artemisStreamingEnabled": { "kind": "parameter", "displayName": "Artemis
Streaming Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Whether optimizing for
Apache Artemis streaming mode." },
+ "artemisStreamingEnabled": { "kind": "parameter", "displayName": "Artemis
Streaming Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Whether optimizing for
Apache Artemis streaming mode. This can reduce memory overh [...]
"asyncStartListener": { "kind": "parameter", "displayName": "Async Start
Listener", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. F [...]
"asyncStopListener": { "kind": "parameter", "displayName": "Async Stop
Listener", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route." },
"destinationResolver": { "kind": "parameter", "displayName": "Destination
Resolver", "group": "advanced", "label": "advanced", "required": false, "type":
"object", "javaType":
"org.springframework.jms.support.destination.DestinationResolver",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "A pluggable
org.springframework.jms.support.destination.Des [...]
diff --git a/components/camel-amqp/src/main/docs/amqp-component.adoc
b/components/camel-amqp/src/main/docs/amqp-component.adoc
index d8c254f..7cb2fef 100644
--- a/components/camel-amqp/src/main/docs/amqp-component.adoc
+++ b/components/camel-amqp/src/main/docs/amqp-component.adoc
@@ -140,7 +140,7 @@ The AMQP component supports 99 options, which are listed
below.
| *allowAutoWiredConnection{zwsp}Factory* (advanced) | Whether to
auto-discover ConnectionFactory from the registry, if no connection factory has
been configured. If only one instance of ConnectionFactory is found then it
will be used. This is enabled by default. | true | boolean
| *allowAutoWiredDestination{zwsp}Resolver* (advanced) | Whether to
auto-discover DestinationResolver from the registry, if no destination resolver
has been configured. If only one instance of DestinationResolver is found then
it will be used. This is enabled by default. | true | boolean
| *allowSerializedHeaders* (advanced) | Controls whether or not to include
serialized headers. Applies only when transferExchange is true. This requires
that the objects are serializable. Camel will exclude any non-serializable
objects and log it at WARN level. | false | boolean
-| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. | true | boolean
+| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. This can reduce memory overhead when using Artemis with JMS
StreamMessage types. This option must only be enabled if Apache Artemis is
being used. | false | boolean
| *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. For example if a JmsConsumer
cannot get a connection to a remote JMS broker, then it may block while
retrying and/or failover. This will cause Camel to block while starting routes.
By setting this option to true, you will let routes startup, while the
JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous
mode. If this option is used, the [...]
| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route. | false | boolean
| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used
for automatic autowiring options (the option must be marked as autowired) by
looking up in the registry to find if there is a single instance of matching
type, which then gets configured on the component. This can be used for
automatic configuring JDBC data sources, JMS connection factories, AWS Clients,
etc. | true | boolean
@@ -269,7 +269,7 @@ with the following path and query parameters:
| *replyToDestinationSelectorName* (producer) | Sets the JMS Selector using
the fixed name to be used so you can filter out your own replies from the
others when using a shared queue (that is, if you are not using a temporary
reply queue). | | String
| *streamMessageTypeEnabled* (producer) | Sets whether StreamMessage type is
enabled or not. Message payloads of streaming kind such as files, InputStream,
etc will either by sent as BytesMessage or StreamMessage. This option controls
which kind will be used. By default BytesMessage is used which enforces the
entire message payload to be read into memory. By enabling this option the
message payload is read into memory in chunks and each chunk is then written to
the StreamMessage until no [...]
| *allowSerializedHeaders* (advanced) | Controls whether or not to include
serialized headers. Applies only when transferExchange is true. This requires
that the objects are serializable. Camel will exclude any non-serializable
objects and log it at WARN level. | false | boolean
-| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. | true | boolean
+| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. This can reduce memory overhead when using Artemis with JMS
StreamMessage types. This option must only be enabled if Apache Artemis is
being used. | false | boolean
| *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. For example if a JmsConsumer
cannot get a connection to a remote JMS broker, then it may block while
retrying and/or failover. This will cause Camel to block while starting routes.
By setting this option to true, you will let routes startup, while the
JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous
mode. If this option is used, the [...]
| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route. | false | boolean
| *destinationResolver* (advanced) | A pluggable
org.springframework.jms.support.destination.DestinationResolver that allows you
to use your own resolver (for example, to lookup the real destination in a JNDI
registry). | | DestinationResolver
diff --git
a/components/camel-jms/src/generated/resources/org/apache/camel/component/jms/jms.json
b/components/camel-jms/src/generated/resources/org/apache/camel/component/jms/jms.json
index c3d4a89..673bbe3 100644
---
a/components/camel-jms/src/generated/resources/org/apache/camel/component/jms/jms.json
+++
b/components/camel-jms/src/generated/resources/org/apache/camel/component/jms/jms.json
@@ -80,7 +80,7 @@
"allowAutoWiredConnectionFactory": { "kind": "property", "displayName":
"Allow Auto Wired Connection Factory", "group": "advanced", "label":
"advanced", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true,
"description": "Whether to auto-discover ConnectionFactory from the registry,
if no connection factory has been configured. If only one instance of
ConnectionFactory is found then it will be use [...]
"allowAutoWiredDestinationResolver": { "kind": "property", "displayName":
"Allow Auto Wired Destination Resolver", "group": "advanced", "label":
"advanced", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true,
"description": "Whether to auto-discover DestinationResolver from the registry,
if no destination resolver has been configured. If only one instance of
DestinationResolver is found then it w [...]
"allowSerializedHeaders": { "kind": "property", "displayName": "Allow
Serialized Headers", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Controls whether or not
to include serialized headers. Applies only when transferExch [...]
- "artemisStreamingEnabled": { "kind": "property", "displayName": "Artemis
Streaming Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Whether optimizing for
Apache Artemis streaming mode." },
+ "artemisStreamingEnabled": { "kind": "property", "displayName": "Artemis
Streaming Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Whether optimizing for
Apache Artemis streaming mode. This can reduce memory overhe [...]
"asyncStartListener": { "kind": "property", "displayName": "Async Start
Listener", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. Fo [...]
"asyncStopListener": { "kind": "property", "displayName": "Async Stop
Listener", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route." },
"autowiredEnabled": { "kind": "property", "displayName": "Autowired
Enabled", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": true, "description": "Whether autowiring is
enabled. This is used for automatic autowiring options (the option must be
marked as autowired) by looking up in the registry to find if there is a single
instance of matching type, which t [...]
@@ -182,7 +182,7 @@
"replyToDestinationSelectorName": { "kind": "parameter", "displayName":
"Reply To Destination Selector Name", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "string", "javaType":
"java.lang.String", "deprecated": false, "autowired": false, "secret": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Sets the JMS Selector
using the fixed name to be used so you [...]
"streamMessageTypeEnabled": { "kind": "parameter", "displayName": "Stream
Message Type Enabled", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Sets whether StreamMessage type is enabled or
not. Message [...]
"allowSerializedHeaders": { "kind": "parameter", "displayName": "Allow
Serialized Headers", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Controls whether or not
to include serialized headers. Applies only when transferExc [...]
- "artemisStreamingEnabled": { "kind": "parameter", "displayName": "Artemis
Streaming Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Whether optimizing for
Apache Artemis streaming mode." },
+ "artemisStreamingEnabled": { "kind": "parameter", "displayName": "Artemis
Streaming Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.jms.JmsConfiguration",
"configurationField": "configuration", "description": "Whether optimizing for
Apache Artemis streaming mode. This can reduce memory overh [...]
"asyncStartListener": { "kind": "parameter", "displayName": "Async Start
Listener", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. F [...]
"asyncStopListener": { "kind": "parameter", "displayName": "Async Stop
Listener", "group": "advanced", "label": "advanced", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route." },
"destinationResolver": { "kind": "parameter", "displayName": "Destination
Resolver", "group": "advanced", "label": "advanced", "required": false, "type":
"object", "javaType":
"org.springframework.jms.support.destination.DestinationResolver",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.jms.JmsConfiguration", "configurationField":
"configuration", "description": "A pluggable
org.springframework.jms.support.destination.Des [...]
diff --git a/components/camel-jms/src/main/docs/jms-component.adoc
b/components/camel-jms/src/main/docs/jms-component.adoc
index a6c2244..dd17e34 100644
--- a/components/camel-jms/src/main/docs/jms-component.adoc
+++ b/components/camel-jms/src/main/docs/jms-component.adoc
@@ -279,7 +279,7 @@ The JMS component supports 98 options, which are listed
below.
| *allowAutoWiredConnection{zwsp}Factory* (advanced) | Whether to
auto-discover ConnectionFactory from the registry, if no connection factory has
been configured. If only one instance of ConnectionFactory is found then it
will be used. This is enabled by default. | true | boolean
| *allowAutoWiredDestination{zwsp}Resolver* (advanced) | Whether to
auto-discover DestinationResolver from the registry, if no destination resolver
has been configured. If only one instance of DestinationResolver is found then
it will be used. This is enabled by default. | true | boolean
| *allowSerializedHeaders* (advanced) | Controls whether or not to include
serialized headers. Applies only when transferExchange is true. This requires
that the objects are serializable. Camel will exclude any non-serializable
objects and log it at WARN level. | false | boolean
-| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. | true | boolean
+| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. This can reduce memory overhead when using Artemis with JMS
StreamMessage types. This option must only be enabled if Apache Artemis is
being used. | false | boolean
| *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. For example if a JmsConsumer
cannot get a connection to a remote JMS broker, then it may block while
retrying and/or failover. This will cause Camel to block while starting routes.
By setting this option to true, you will let routes startup, while the
JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous
mode. If this option is used, the [...]
| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route. | false | boolean
| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used
for automatic autowiring options (the option must be marked as autowired) by
looking up in the registry to find if there is a single instance of matching
type, which then gets configured on the component. This can be used for
automatic configuring JDBC data sources, JMS connection factories, AWS Clients,
etc. | true | boolean
@@ -408,7 +408,7 @@ with the following path and query parameters:
| *replyToDestinationSelectorName* (producer) | Sets the JMS Selector using
the fixed name to be used so you can filter out your own replies from the
others when using a shared queue (that is, if you are not using a temporary
reply queue). | | String
| *streamMessageTypeEnabled* (producer) | Sets whether StreamMessage type is
enabled or not. Message payloads of streaming kind such as files, InputStream,
etc will either by sent as BytesMessage or StreamMessage. This option controls
which kind will be used. By default BytesMessage is used which enforces the
entire message payload to be read into memory. By enabling this option the
message payload is read into memory in chunks and each chunk is then written to
the StreamMessage until no [...]
| *allowSerializedHeaders* (advanced) | Controls whether or not to include
serialized headers. Applies only when transferExchange is true. This requires
that the objects are serializable. Camel will exclude any non-serializable
objects and log it at WARN level. | false | boolean
-| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. | true | boolean
+| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. This can reduce memory overhead when using Artemis with JMS
StreamMessage types. This option must only be enabled if Apache Artemis is
being used. | false | boolean
| *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. For example if a JmsConsumer
cannot get a connection to a remote JMS broker, then it may block while
retrying and/or failover. This will cause Camel to block while starting routes.
By setting this option to true, you will let routes startup, while the
JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous
mode. If this option is used, the [...]
| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route. | false | boolean
| *destinationResolver* (advanced) | A pluggable
org.springframework.jms.support.destination.DestinationResolver that allows you
to use your own resolver (for example, to lookup the real destination in a JNDI
registry). | | DestinationResolver
diff --git
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
index 58bd203..53dc0f3 100644
---
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
+++
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java
@@ -67,7 +67,6 @@ import org.slf4j.LoggerFactory;
import static org.apache.camel.component.jms.JmsConstants.JMS_X_GROUP_ID;
import static
org.apache.camel.component.jms.JmsMessageHelper.getSafeLongProperty;
-import static org.apache.camel.component.jms.JmsMessageHelper.isVendor;
import static
org.apache.camel.component.jms.JmsMessageHelper.normalizeDestinationName;
import static org.apache.camel.component.jms.JmsMessageType.Bytes;
import static org.apache.camel.component.jms.JmsMessageType.Map;
@@ -619,9 +618,10 @@ public class JmsBinding {
}
if (type == Stream) {
- boolean artemis = endpoint.isArtemisStreamingEnabled() &&
isVendor(session, "Artemis");
+ boolean artemis = endpoint.isArtemisStreamingEnabled();
if (artemis) {
- // if running ActiveMQ Artemis then it has optimised streaming
mode using byte messages so enforce as bytes
+ // if running ActiveMQ Artemis then it has optimised streaming
mode
+ // that requires using byte messages instead of stream, so we
have to enforce as bytes
type = Bytes;
}
}
@@ -652,7 +652,7 @@ public class JmsBinding {
BytesMessage message = session.createBytesMessage();
if (body != null) {
try {
- if (endpoint.isArtemisStreamingEnabled() &&
isVendor(session, "Artemis")) {
+ if (endpoint.isArtemisStreamingEnabled()) {
LOG.trace("Optimised for Artemis: Streaming
payload in BytesMessage");
InputStream is =
context.getTypeConverter().mandatoryConvertTo(InputStream.class, exchange,
body);
message.setObjectProperty("JMS_AMQ_InputStream",
is);
diff --git
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
index cd5dbec..9677ced 100644
---
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
+++
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java
@@ -478,8 +478,10 @@ public class JmsConfiguration implements Cloneable {
@UriParam(label = "producer",
description = "Sets whether JMS date properties should be
formatted according to the ISO 8601 standard.")
private boolean formatDateHeadersToIso8601;
- @UriParam(label = "advanced", defaultValue = "true", description =
"Whether optimizing for Apache Artemis streaming mode.")
- private boolean artemisStreamingEnabled = true;
+ @UriParam(label = "advanced",
+ description = "Whether optimizing for Apache Artemis streaming
mode. This can reduce memory overhead when using Artemis with JMS StreamMessage
types."
+ + " This option must only be enabled if Apache
Artemis is being used.")
+ private boolean artemisStreamingEnabled;
@UriParam(label = "consumer", description = "Consumer priorities allow you
to ensure that high priority consumers"
+ " receive messages while
they are active. Normally, active consumers connected to a queue receive
messages"
+ " from it in a round-robin
fashion. When consumer priorities are in use, messages are delivered
round-robin"
@@ -2285,7 +2287,8 @@ public class JmsConfiguration implements Cloneable {
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can reduce
memory overhead when using Artemis with JMS
+ * StreamMessage types. This option must only be enabled if Apache Artemis
is being used.
*/
public void setArtemisStreamingEnabled(boolean artemisStreamingEnabled) {
this.artemisStreamingEnabled = artemisStreamingEnabled;
diff --git
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessageHelper.java
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessageHelper.java
index e642875..0b80783 100644
---
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessageHelper.java
+++
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessageHelper.java
@@ -25,7 +25,6 @@ import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
-import javax.jms.Session;
import org.apache.camel.Exchange;
import org.apache.camel.support.ExchangeHelper;
@@ -137,22 +136,6 @@ public final class JmsMessageHelper {
}
/**
- * Is the JMS session from a given vendor
- *
- * @param session the JMS session
- * @param vendor the vendor, such as <tt>ActiveMQ</tt>, or
<tt>Artemis</tt>
- * @return <tt>true</tt> if from the vendor, <tt>false</tt> if not
or not possible to determine
- */
- public static boolean isVendor(Session session, String vendor) {
- if ("Artemis".equals(vendor)) {
- return
session.getClass().getName().startsWith("org.apache.activemq.artemis");
- } else if ("ActiveMQ".equals(vendor)) {
- return !isVendor(session, "Artemis") &&
session.getClass().getName().startsWith("org.apache.activemq");
- }
- return false;
- }
-
- /**
* Sets the property on the given JMS message.
*
* @param jmsMessage the JMS message
diff --git
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ActivemqComponentBuilderFactory.java
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ActivemqComponentBuilderFactory.java
index 44ab050..b5860f7 100644
---
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ActivemqComponentBuilderFactory.java
+++
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/ActivemqComponentBuilderFactory.java
@@ -1226,11 +1226,13 @@ public interface ActivemqComponentBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option is a: <code>boolean</code> type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
diff --git
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AmqpComponentBuilderFactory.java
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AmqpComponentBuilderFactory.java
index 2acf396..e2e942f 100644
---
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AmqpComponentBuilderFactory.java
+++
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AmqpComponentBuilderFactory.java
@@ -1177,11 +1177,13 @@ public interface AmqpComponentBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option is a: <code>boolean</code> type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
diff --git
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/JmsComponentBuilderFactory.java
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/JmsComponentBuilderFactory.java
index 4b83eff..b1c9207 100644
---
a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/JmsComponentBuilderFactory.java
+++
b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/JmsComponentBuilderFactory.java
@@ -1158,11 +1158,13 @@ public interface JmsComponentBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option is a: <code>boolean</code> type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
diff --git
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AMQPEndpointBuilderFactory.java
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AMQPEndpointBuilderFactory.java
index 8ce899f..bd6fe38 100644
---
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AMQPEndpointBuilderFactory.java
+++
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AMQPEndpointBuilderFactory.java
@@ -1380,11 +1380,13 @@ public interface AMQPEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option is a: <code>boolean</code> type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -1396,12 +1398,14 @@ public interface AMQPEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option will be converted to a <code>boolean</code>
* type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -3866,11 +3870,13 @@ public interface AMQPEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option is a: <code>boolean</code> type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -3882,12 +3888,14 @@ public interface AMQPEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option will be converted to a <code>boolean</code>
* type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -5470,11 +5478,13 @@ public interface AMQPEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option is a: <code>boolean</code> type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -5486,12 +5496,14 @@ public interface AMQPEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option will be converted to a <code>boolean</code>
* type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
diff --git
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/ActiveMQEndpointBuilderFactory.java
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/ActiveMQEndpointBuilderFactory.java
index 396f043..2b31238 100644
---
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/ActiveMQEndpointBuilderFactory.java
+++
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/ActiveMQEndpointBuilderFactory.java
@@ -1435,11 +1435,13 @@ public interface ActiveMQEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option is a: <code>boolean</code> type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -1451,12 +1453,14 @@ public interface ActiveMQEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option will be converted to a <code>boolean</code>
* type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -3928,11 +3932,13 @@ public interface ActiveMQEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option is a: <code>boolean</code> type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -3944,12 +3950,14 @@ public interface ActiveMQEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option will be converted to a <code>boolean</code>
* type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -5535,11 +5543,13 @@ public interface ActiveMQEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option is a: <code>boolean</code> type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -5551,12 +5561,14 @@ public interface ActiveMQEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option will be converted to a <code>boolean</code>
* type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
diff --git
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JmsEndpointBuilderFactory.java
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JmsEndpointBuilderFactory.java
index 5ca2ffc..2480551 100644
---
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JmsEndpointBuilderFactory.java
+++
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JmsEndpointBuilderFactory.java
@@ -1379,11 +1379,13 @@ public interface JmsEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option is a: <code>boolean</code> type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -1395,12 +1397,14 @@ public interface JmsEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option will be converted to a <code>boolean</code>
* type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -3864,11 +3868,13 @@ public interface JmsEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option is a: <code>boolean</code> type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -3880,12 +3886,14 @@ public interface JmsEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option will be converted to a <code>boolean</code>
* type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -5468,11 +5476,13 @@ public interface JmsEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option is a: <code>boolean</code> type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
@@ -5484,12 +5494,14 @@ public interface JmsEndpointBuilderFactory {
return this;
}
/**
- * Whether optimizing for Apache Artemis streaming mode.
+ * Whether optimizing for Apache Artemis streaming mode. This can
reduce
+ * memory overhead when using Artemis with JMS StreamMessage types.
This
+ * option must only be enabled if Apache Artemis is being used.
*
* The option will be converted to a <code>boolean</code>
* type.
*
- * Default: true
+ * Default: false
* Group: advanced
*
* @param artemisStreamingEnabled the value to set
diff --git a/docs/components/modules/ROOT/pages/activemq-component.adoc
b/docs/components/modules/ROOT/pages/activemq-component.adoc
index 3f92fc9..eb6071c 100644
--- a/docs/components/modules/ROOT/pages/activemq-component.adoc
+++ b/docs/components/modules/ROOT/pages/activemq-component.adoc
@@ -157,7 +157,7 @@ The ActiveMQ component supports 102 options, which are
listed below.
| *allowAutoWiredConnection{zwsp}Factory* (advanced) | Whether to
auto-discover ConnectionFactory from the registry, if no connection factory has
been configured. If only one instance of ConnectionFactory is found then it
will be used. This is enabled by default. | true | boolean
| *allowAutoWiredDestination{zwsp}Resolver* (advanced) | Whether to
auto-discover DestinationResolver from the registry, if no destination resolver
has been configured. If only one instance of DestinationResolver is found then
it will be used. This is enabled by default. | true | boolean
| *allowSerializedHeaders* (advanced) | Controls whether or not to include
serialized headers. Applies only when transferExchange is true. This requires
that the objects are serializable. Camel will exclude any non-serializable
objects and log it at WARN level. | false | boolean
-| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. | true | boolean
+| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. This can reduce memory overhead when using Artemis with JMS
StreamMessage types. This option must only be enabled if Apache Artemis is
being used. | false | boolean
| *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. For example if a JmsConsumer
cannot get a connection to a remote JMS broker, then it may block while
retrying and/or failover. This will cause Camel to block while starting routes.
By setting this option to true, you will let routes startup, while the
JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous
mode. If this option is used, the [...]
| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route. | false | boolean
| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used
for automatic autowiring options (the option must be marked as autowired) by
looking up in the registry to find if there is a single instance of matching
type, which then gets configured on the component. This can be used for
automatic configuring JDBC data sources, JMS connection factories, AWS Clients,
etc. | true | boolean
@@ -288,7 +288,7 @@ with the following path and query parameters:
| *replyToDestinationSelectorName* (producer) | Sets the JMS Selector using
the fixed name to be used so you can filter out your own replies from the
others when using a shared queue (that is, if you are not using a temporary
reply queue). | | String
| *streamMessageTypeEnabled* (producer) | Sets whether StreamMessage type is
enabled or not. Message payloads of streaming kind such as files, InputStream,
etc will either by sent as BytesMessage or StreamMessage. This option controls
which kind will be used. By default BytesMessage is used which enforces the
entire message payload to be read into memory. By enabling this option the
message payload is read into memory in chunks and each chunk is then written to
the StreamMessage until no [...]
| *allowSerializedHeaders* (advanced) | Controls whether or not to include
serialized headers. Applies only when transferExchange is true. This requires
that the objects are serializable. Camel will exclude any non-serializable
objects and log it at WARN level. | false | boolean
-| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. | true | boolean
+| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. This can reduce memory overhead when using Artemis with JMS
StreamMessage types. This option must only be enabled if Apache Artemis is
being used. | false | boolean
| *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. For example if a JmsConsumer
cannot get a connection to a remote JMS broker, then it may block while
retrying and/or failover. This will cause Camel to block while starting routes.
By setting this option to true, you will let routes startup, while the
JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous
mode. If this option is used, the [...]
| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route. | false | boolean
| *destinationResolver* (advanced) | A pluggable
org.springframework.jms.support.destination.DestinationResolver that allows you
to use your own resolver (for example, to lookup the real destination in a JNDI
registry). | | DestinationResolver
diff --git a/docs/components/modules/ROOT/pages/amqp-component.adoc
b/docs/components/modules/ROOT/pages/amqp-component.adoc
index 9f3d8f0..ca570e9 100644
--- a/docs/components/modules/ROOT/pages/amqp-component.adoc
+++ b/docs/components/modules/ROOT/pages/amqp-component.adoc
@@ -142,7 +142,7 @@ The AMQP component supports 99 options, which are listed
below.
| *allowAutoWiredConnection{zwsp}Factory* (advanced) | Whether to
auto-discover ConnectionFactory from the registry, if no connection factory has
been configured. If only one instance of ConnectionFactory is found then it
will be used. This is enabled by default. | true | boolean
| *allowAutoWiredDestination{zwsp}Resolver* (advanced) | Whether to
auto-discover DestinationResolver from the registry, if no destination resolver
has been configured. If only one instance of DestinationResolver is found then
it will be used. This is enabled by default. | true | boolean
| *allowSerializedHeaders* (advanced) | Controls whether or not to include
serialized headers. Applies only when transferExchange is true. This requires
that the objects are serializable. Camel will exclude any non-serializable
objects and log it at WARN level. | false | boolean
-| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. | true | boolean
+| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. This can reduce memory overhead when using Artemis with JMS
StreamMessage types. This option must only be enabled if Apache Artemis is
being used. | false | boolean
| *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. For example if a JmsConsumer
cannot get a connection to a remote JMS broker, then it may block while
retrying and/or failover. This will cause Camel to block while starting routes.
By setting this option to true, you will let routes startup, while the
JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous
mode. If this option is used, the [...]
| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route. | false | boolean
| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used
for automatic autowiring options (the option must be marked as autowired) by
looking up in the registry to find if there is a single instance of matching
type, which then gets configured on the component. This can be used for
automatic configuring JDBC data sources, JMS connection factories, AWS Clients,
etc. | true | boolean
@@ -271,7 +271,7 @@ with the following path and query parameters:
| *replyToDestinationSelectorName* (producer) | Sets the JMS Selector using
the fixed name to be used so you can filter out your own replies from the
others when using a shared queue (that is, if you are not using a temporary
reply queue). | | String
| *streamMessageTypeEnabled* (producer) | Sets whether StreamMessage type is
enabled or not. Message payloads of streaming kind such as files, InputStream,
etc will either by sent as BytesMessage or StreamMessage. This option controls
which kind will be used. By default BytesMessage is used which enforces the
entire message payload to be read into memory. By enabling this option the
message payload is read into memory in chunks and each chunk is then written to
the StreamMessage until no [...]
| *allowSerializedHeaders* (advanced) | Controls whether or not to include
serialized headers. Applies only when transferExchange is true. This requires
that the objects are serializable. Camel will exclude any non-serializable
objects and log it at WARN level. | false | boolean
-| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. | true | boolean
+| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. This can reduce memory overhead when using Artemis with JMS
StreamMessage types. This option must only be enabled if Apache Artemis is
being used. | false | boolean
| *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. For example if a JmsConsumer
cannot get a connection to a remote JMS broker, then it may block while
retrying and/or failover. This will cause Camel to block while starting routes.
By setting this option to true, you will let routes startup, while the
JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous
mode. If this option is used, the [...]
| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route. | false | boolean
| *destinationResolver* (advanced) | A pluggable
org.springframework.jms.support.destination.DestinationResolver that allows you
to use your own resolver (for example, to lookup the real destination in a JNDI
registry). | | DestinationResolver
diff --git a/docs/components/modules/ROOT/pages/jms-component.adoc
b/docs/components/modules/ROOT/pages/jms-component.adoc
index 4c74af3..a7a807d 100644
--- a/docs/components/modules/ROOT/pages/jms-component.adoc
+++ b/docs/components/modules/ROOT/pages/jms-component.adoc
@@ -281,7 +281,7 @@ The JMS component supports 98 options, which are listed
below.
| *allowAutoWiredConnection{zwsp}Factory* (advanced) | Whether to
auto-discover ConnectionFactory from the registry, if no connection factory has
been configured. If only one instance of ConnectionFactory is found then it
will be used. This is enabled by default. | true | boolean
| *allowAutoWiredDestination{zwsp}Resolver* (advanced) | Whether to
auto-discover DestinationResolver from the registry, if no destination resolver
has been configured. If only one instance of DestinationResolver is found then
it will be used. This is enabled by default. | true | boolean
| *allowSerializedHeaders* (advanced) | Controls whether or not to include
serialized headers. Applies only when transferExchange is true. This requires
that the objects are serializable. Camel will exclude any non-serializable
objects and log it at WARN level. | false | boolean
-| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. | true | boolean
+| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. This can reduce memory overhead when using Artemis with JMS
StreamMessage types. This option must only be enabled if Apache Artemis is
being used. | false | boolean
| *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. For example if a JmsConsumer
cannot get a connection to a remote JMS broker, then it may block while
retrying and/or failover. This will cause Camel to block while starting routes.
By setting this option to true, you will let routes startup, while the
JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous
mode. If this option is used, the [...]
| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route. | false | boolean
| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used
for automatic autowiring options (the option must be marked as autowired) by
looking up in the registry to find if there is a single instance of matching
type, which then gets configured on the component. This can be used for
automatic configuring JDBC data sources, JMS connection factories, AWS Clients,
etc. | true | boolean
@@ -410,7 +410,7 @@ with the following path and query parameters:
| *replyToDestinationSelectorName* (producer) | Sets the JMS Selector using
the fixed name to be used so you can filter out your own replies from the
others when using a shared queue (that is, if you are not using a temporary
reply queue). | | String
| *streamMessageTypeEnabled* (producer) | Sets whether StreamMessage type is
enabled or not. Message payloads of streaming kind such as files, InputStream,
etc will either by sent as BytesMessage or StreamMessage. This option controls
which kind will be used. By default BytesMessage is used which enforces the
entire message payload to be read into memory. By enabling this option the
message payload is read into memory in chunks and each chunk is then written to
the StreamMessage until no [...]
| *allowSerializedHeaders* (advanced) | Controls whether or not to include
serialized headers. Applies only when transferExchange is true. This requires
that the objects are serializable. Camel will exclude any non-serializable
objects and log it at WARN level. | false | boolean
-| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. | true | boolean
+| *artemisStreamingEnabled* (advanced) | Whether optimizing for Apache Artemis
streaming mode. This can reduce memory overhead when using Artemis with JMS
StreamMessage types. This option must only be enabled if Apache Artemis is
being used. | false | boolean
| *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message
listener asynchronously, when starting a route. For example if a JmsConsumer
cannot get a connection to a remote JMS broker, then it may block while
retrying and/or failover. This will cause Camel to block while starting routes.
By setting this option to true, you will let routes startup, while the
JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous
mode. If this option is used, the [...]
| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message
listener asynchronously, when stopping a route. | false | boolean
| *destinationResolver* (advanced) | A pluggable
org.springframework.jms.support.destination.DestinationResolver that allows you
to use your own resolver (for example, to lookup the real destination in a JNDI
registry). | | DestinationResolver
diff --git
a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_12.adoc
b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_12.adoc
index 0099d14..6f1e243 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_12.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_12.adoc
@@ -32,19 +32,23 @@ The `camel-protobuf` data format has renamed the option
`jsonViewTypeName` to `j
The `camel-protobuf` data format has renamed the option `unmarshalTypeName` to
`unmarshalType`.
The `camel-yaml` data format has renamed the option `unmarshalTypeName` to
`unmarshalType`.
-=== camel-spark
+=== camel-catalog
-The `camel-spark` component has been upgraded from Spark 2.x to 3.x.
+Remove the APIs to return the website documentation in ascii doc and html
format, it is the methods
+with naming pattern `...AsciiDoc` and `...HtmlDoc`.
+
+=== camel-jms
+
+The `camel-jms` component now better support Apache Artemis in streaming mode
for large messages support,
+when Artemis is using a pooled connection pool (previously pooled was not
supported). Now the option `artemisStreamingEnabled`
+must explicit be set to `true` to enable support for Artemis streaming mode.
Previously Camel tried to auto-detect this.
=== camel-kamelet / route templates
Kamelet parameters that are named such as `host`, `port` are now always used
with their configured value.
Before the value in use may be from an ENV variable with the same name.
-=== camel-catalog
-
-Remove the APIs to return the website documentation in ascii doc and html
format, it is the methods
-with naming pattern `...AsciiDoc` and `...HtmlDoc`.
-
+=== camel-spark
+The `camel-spark` component has been upgraded from Spark 2.x to 3.x.