This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.4.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.4.x by this push:
new 7151ffd82e4 upgrade to mina 2.2.4 (#16655)
7151ffd82e4 is described below
commit 7151ffd82e405ccdfa466e6d4daa98500b6ee552
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Dec 27 09:57:29 2024 +0100
upgrade to mina 2.2.4 (#16655)
* CAMEL-21571: camel-mina - Upgrade to 2.2.4 and add option to configure
codec allow pattern for object serialization.
---
.../org/apache/camel/catalog/components/mina.json | 20 +++++++++++---------
.../component/mina/MinaComponentConfigurer.java | 6 ++++++
.../camel/component/mina/MinaEndpointConfigurer.java | 6 ++++++
.../camel/component/mina/MinaEndpointUriFactory.java | 3 ++-
.../org/apache/camel/component/mina/mina.json | 20 +++++++++++---------
.../camel/component/mina/MinaConfiguration.java | 18 +++++++++++++++++-
.../apache/camel/component/mina/MinaConsumer.java | 4 ++++
.../apache/camel/component/mina/MinaProducer.java | 4 ++++
.../component/mina/MinaProducerConcurrentTest.java | 2 +-
.../mina/MinaTransferExchangeOptionTest.java | 6 ++++--
.../mina/MinaVMTransferExchangeOptionTest.java | 5 +++--
.../org/apache/camel/kotlin/components/MinaUriDsl.kt | 4 ++++
parent/pom.xml | 2 +-
13 files changed, 74 insertions(+), 26 deletions(-)
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mina.json
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mina.json
index dd06cd8c81e..861bdc1c99a 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mina.json
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/mina.json
@@ -39,17 +39,18 @@
"disconnectOnNoReply": { "index": 13, "kind": "property", "displayName":
"Disconnect On No Reply", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "If sync is enabled then
this option dictates MinaConsumer if it should disco [...]
"maximumPoolSize": { "index": 14, "kind": "property", "displayName":
"Maximum Pool Size", "group": "advanced", "label": "advanced", "required":
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": 16, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Number of worker threads in the worker pool
for TCP and UDP" },
"orderedThreadPoolExecutor": { "index": 15, "kind": "property",
"displayName": "Ordered Thread Pool Executor", "group": "advanced", "label":
"advanced", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "Whether to use ordered
thread pool, to ensure events are process [...]
- "transferExchange": { "index": 16, "kind": "property", "displayName":
"Transfer Exchange", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "Only used for TCP. You
can transfer the exchange over the wire instead of just the [...]
+ "transferExchange": { "index": 16, "kind": "property", "displayName":
"Transfer Exchange", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": true,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "Only used for TCP. You
can transfer the exchange over the wire instead of just the b [...]
"allowDefaultCodec": { "index": 17, "kind": "property", "displayName":
"Allow Default Codec", "group": "codec", "label": "codec", "required": false,
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": true, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "The mina component installs a default codec if
both, codec is null and textline is fals [...]
"codec": { "index": 18, "kind": "property", "displayName": "Codec",
"group": "codec", "label": "codec", "required": false, "type": "object",
"javaType": "org.apache.mina.filter.codec.ProtocolCodecFactory", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To use a custom minda codec implementation." },
"decoderMaxLineLength": { "index": 19, "kind": "property", "displayName":
"Decoder Max Line Length", "group": "codec", "label": "codec", "required":
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": 1024, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To set the textline protocol decoder max line
length. By default the default value o [...]
"encoderMaxLineLength": { "index": 20, "kind": "property", "displayName":
"Encoder Max Line Length", "group": "codec", "label": "codec", "required":
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": -1, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To set the textline protocol encoder max line
length. By default the default value of [...]
"encoding": { "index": 21, "kind": "property", "displayName": "Encoding",
"group": "codec", "label": "codec", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "You can configure the encoding (a charset
name) to use for the TCP textline codec and the UDP protocol. If not provided,
[...]
"filters": { "index": 22, "kind": "property", "displayName": "Filters",
"group": "codec", "label": "codec", "required": false, "type": "array",
"javaType": "java.util.List<org.apache.mina.core.filterchain.IoFilter>",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "You can set a list of Mina IoFilters to use."
},
- "textline": { "index": 23, "kind": "property", "displayName": "Textline",
"group": "codec", "label": "codec", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only used for TCP. If no codec is specified,
you can use this flag to indicate a text line based codec; if [...]
- "textlineDelimiter": { "index": 24, "kind": "property", "displayName":
"Textline Delimiter", "group": "codec", "label": "codec", "required": false,
"type": "object", "javaType":
"org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT",
"AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only use [...]
- "sslContextParameters": { "index": 25, "kind": "property", "displayName":
"Ssl Context Parameters", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To configure SSL security." },
- "useGlobalSslContextParameters": { "index": 26, "kind": "property",
"displayName": "Use Global Ssl Context Parameters", "group": "security",
"label": "security", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Enable usage of global SSL context
parameters." }
+ "objectCodecPattern": { "index": 23, "kind": "property", "displayName":
"Object Codec Pattern", "group": "codec", "label": "codec", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Accept the wildcard specified classes for
Object deserialization, unless they are otherwise rejecte [...]
+ "textline": { "index": 24, "kind": "property", "displayName": "Textline",
"group": "codec", "label": "codec", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only used for TCP. If no codec is specified,
you can use this flag to indicate a text line based codec; if [...]
+ "textlineDelimiter": { "index": 25, "kind": "property", "displayName":
"Textline Delimiter", "group": "codec", "label": "codec", "required": false,
"type": "object", "javaType":
"org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT",
"AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only use [...]
+ "sslContextParameters": { "index": 26, "kind": "property", "displayName":
"Ssl Context Parameters", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To configure SSL security." },
+ "useGlobalSslContextParameters": { "index": 27, "kind": "property",
"displayName": "Use Global Ssl Context Parameters", "group": "security",
"label": "security", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Enable usage of global SSL context
parameters." }
},
"headers": {
"CamelMinaCloseSessionWhenComplete": { "index": 0, "kind": "header",
"displayName": "", "group": "common", "label": "", "required": false,
"javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "Indicates whether the session should be
closed after complete", "constantName":
"org.apache.camel.component.mina.MinaConstants#MINA_CLOSE_SESSION_WHEN_COMPLETE"
},
@@ -77,15 +78,16 @@
"disconnectOnNoReply": { "index": 16, "kind": "parameter", "displayName":
"Disconnect On No Reply", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "If sync is enabled then
this option dictates MinaConsumer if it should disc [...]
"maximumPoolSize": { "index": 17, "kind": "parameter", "displayName":
"Maximum Pool Size", "group": "advanced", "label": "advanced", "required":
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": 16, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Number of worker threads in the worker pool
for TCP and UDP" },
"orderedThreadPoolExecutor": { "index": 18, "kind": "parameter",
"displayName": "Ordered Thread Pool Executor", "group": "advanced", "label":
"advanced", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "Whether to use ordered
thread pool, to ensure events are proces [...]
- "transferExchange": { "index": 19, "kind": "parameter", "displayName":
"Transfer Exchange", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "Only used for TCP. You
can transfer the exchange over the wire instead of just the [...]
+ "transferExchange": { "index": 19, "kind": "parameter", "displayName":
"Transfer Exchange", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": true,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "Only used for TCP. You
can transfer the exchange over the wire instead of just the [...]
"allowDefaultCodec": { "index": 20, "kind": "parameter", "displayName":
"Allow Default Codec", "group": "codec", "label": "codec", "required": false,
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": true, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "The mina component installs a default codec if
both, codec is null and textline is fal [...]
"codec": { "index": 21, "kind": "parameter", "displayName": "Codec",
"group": "codec", "label": "codec", "required": false, "type": "object",
"javaType": "org.apache.mina.filter.codec.ProtocolCodecFactory", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To use a custom minda codec implementation." },
"decoderMaxLineLength": { "index": 22, "kind": "parameter", "displayName":
"Decoder Max Line Length", "group": "codec", "label": "codec", "required":
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": 1024, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To set the textline protocol decoder max line
length. By default the default value [...]
"encoderMaxLineLength": { "index": 23, "kind": "parameter", "displayName":
"Encoder Max Line Length", "group": "codec", "label": "codec", "required":
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": -1, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To set the textline protocol encoder max line
length. By default the default value of [...]
"encoding": { "index": 24, "kind": "parameter", "displayName": "Encoding",
"group": "codec", "label": "codec", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "You can configure the encoding (a charset
name) to use for the TCP textline codec and the UDP protocol. If not provided,
[...]
"filters": { "index": 25, "kind": "parameter", "displayName": "Filters",
"group": "codec", "label": "codec", "required": false, "type": "array",
"javaType": "java.util.List<org.apache.mina.core.filterchain.IoFilter>",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "You can set a list of Mina IoFilters to use."
},
- "textline": { "index": 26, "kind": "parameter", "displayName": "Textline",
"group": "codec", "label": "codec", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only used for TCP. If no codec is specified,
you can use this flag to indicate a text line based codec; i [...]
- "textlineDelimiter": { "index": 27, "kind": "parameter", "displayName":
"Textline Delimiter", "group": "codec", "label": "codec", "required": false,
"type": "object", "javaType":
"org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT",
"AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only us [...]
- "sslContextParameters": { "index": 28, "kind": "parameter", "displayName":
"Ssl Context Parameters", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To configure SSL security." }
+ "objectCodecPattern": { "index": 26, "kind": "parameter", "displayName":
"Object Codec Pattern", "group": "codec", "label": "codec", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Accept the wildcard specified classes for
Object deserialization, unless they are otherwise reject [...]
+ "textline": { "index": 27, "kind": "parameter", "displayName": "Textline",
"group": "codec", "label": "codec", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only used for TCP. If no codec is specified,
you can use this flag to indicate a text line based codec; i [...]
+ "textlineDelimiter": { "index": 28, "kind": "parameter", "displayName":
"Textline Delimiter", "group": "codec", "label": "codec", "required": false,
"type": "object", "javaType":
"org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT",
"AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only us [...]
+ "sslContextParameters": { "index": 29, "kind": "parameter", "displayName":
"Ssl Context Parameters", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To configure SSL security." }
}
}
diff --git
a/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaComponentConfigurer.java
b/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaComponentConfigurer.java
index 00388839b7a..1c32e5bfecc 100644
---
a/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaComponentConfigurer.java
+++
b/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaComponentConfigurer.java
@@ -59,6 +59,8 @@ public class MinaComponentConfigurer extends
PropertyConfigurerSupport implement
case "minaLogger":
getOrCreateConfiguration(target).setMinaLogger(property(camelContext,
boolean.class, value)); return true;
case "noreplyloglevel":
case "noReplyLogLevel":
getOrCreateConfiguration(target).setNoReplyLogLevel(property(camelContext,
org.apache.camel.LoggingLevel.class, value)); return true;
+ case "objectcodecpattern":
+ case "objectCodecPattern":
getOrCreateConfiguration(target).setObjectCodecPattern(property(camelContext,
java.lang.String.class, value)); return true;
case "orderedthreadpoolexecutor":
case "orderedThreadPoolExecutor":
getOrCreateConfiguration(target).setOrderedThreadPoolExecutor(property(camelContext,
boolean.class, value)); return true;
case "sslcontextparameters":
@@ -112,6 +114,8 @@ public class MinaComponentConfigurer extends
PropertyConfigurerSupport implement
case "minaLogger": return boolean.class;
case "noreplyloglevel":
case "noReplyLogLevel": return org.apache.camel.LoggingLevel.class;
+ case "objectcodecpattern":
+ case "objectCodecPattern": return java.lang.String.class;
case "orderedthreadpoolexecutor":
case "orderedThreadPoolExecutor": return boolean.class;
case "sslcontextparameters":
@@ -166,6 +170,8 @@ public class MinaComponentConfigurer extends
PropertyConfigurerSupport implement
case "minaLogger": return
getOrCreateConfiguration(target).isMinaLogger();
case "noreplyloglevel":
case "noReplyLogLevel": return
getOrCreateConfiguration(target).getNoReplyLogLevel();
+ case "objectcodecpattern":
+ case "objectCodecPattern": return
getOrCreateConfiguration(target).getObjectCodecPattern();
case "orderedthreadpoolexecutor":
case "orderedThreadPoolExecutor": return
getOrCreateConfiguration(target).isOrderedThreadPoolExecutor();
case "sslcontextparameters":
diff --git
a/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointConfigurer.java
b/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointConfigurer.java
index b49140aa5b1..eeadafc1c4d 100644
---
a/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointConfigurer.java
+++
b/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointConfigurer.java
@@ -53,6 +53,8 @@ public class MinaEndpointConfigurer extends
PropertyConfigurerSupport implements
case "minaLogger":
target.getConfiguration().setMinaLogger(property(camelContext, boolean.class,
value)); return true;
case "noreplyloglevel":
case "noReplyLogLevel":
target.getConfiguration().setNoReplyLogLevel(property(camelContext,
org.apache.camel.LoggingLevel.class, value)); return true;
+ case "objectcodecpattern":
+ case "objectCodecPattern":
target.getConfiguration().setObjectCodecPattern(property(camelContext,
java.lang.String.class, value)); return true;
case "orderedthreadpoolexecutor":
case "orderedThreadPoolExecutor":
target.getConfiguration().setOrderedThreadPoolExecutor(property(camelContext,
boolean.class, value)); return true;
case "sslcontextparameters":
@@ -105,6 +107,8 @@ public class MinaEndpointConfigurer extends
PropertyConfigurerSupport implements
case "minaLogger": return boolean.class;
case "noreplyloglevel":
case "noReplyLogLevel": return org.apache.camel.LoggingLevel.class;
+ case "objectcodecpattern":
+ case "objectCodecPattern": return java.lang.String.class;
case "orderedthreadpoolexecutor":
case "orderedThreadPoolExecutor": return boolean.class;
case "sslcontextparameters":
@@ -158,6 +162,8 @@ public class MinaEndpointConfigurer extends
PropertyConfigurerSupport implements
case "minaLogger": return target.getConfiguration().isMinaLogger();
case "noreplyloglevel":
case "noReplyLogLevel": return
target.getConfiguration().getNoReplyLogLevel();
+ case "objectcodecpattern":
+ case "objectCodecPattern": return
target.getConfiguration().getObjectCodecPattern();
case "orderedthreadpoolexecutor":
case "orderedThreadPoolExecutor": return
target.getConfiguration().isOrderedThreadPoolExecutor();
case "sslcontextparameters":
diff --git
a/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointUriFactory.java
b/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointUriFactory.java
index 853b71c2db7..1d27fa5d639 100644
---
a/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointUriFactory.java
+++
b/components/camel-mina/src/generated/java/org/apache/camel/component/mina/MinaEndpointUriFactory.java
@@ -21,7 +21,7 @@ public class MinaEndpointUriFactory extends
org.apache.camel.support.component.E
private static final Set<String> SECRET_PROPERTY_NAMES;
private static final Set<String> MULTI_VALUE_PREFIXES;
static {
- Set<String> props = new HashSet<>(29);
+ Set<String> props = new HashSet<>(30);
props.add("allowDefaultCodec");
props.add("bridgeErrorHandler");
props.add("cachedAddress");
@@ -41,6 +41,7 @@ public class MinaEndpointUriFactory extends
org.apache.camel.support.component.E
props.add("maximumPoolSize");
props.add("minaLogger");
props.add("noReplyLogLevel");
+ props.add("objectCodecPattern");
props.add("orderedThreadPoolExecutor");
props.add("port");
props.add("protocol");
diff --git
a/components/camel-mina/src/generated/resources/org/apache/camel/component/mina/mina.json
b/components/camel-mina/src/generated/resources/org/apache/camel/component/mina/mina.json
index dd06cd8c81e..861bdc1c99a 100644
---
a/components/camel-mina/src/generated/resources/org/apache/camel/component/mina/mina.json
+++
b/components/camel-mina/src/generated/resources/org/apache/camel/component/mina/mina.json
@@ -39,17 +39,18 @@
"disconnectOnNoReply": { "index": 13, "kind": "property", "displayName":
"Disconnect On No Reply", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "If sync is enabled then
this option dictates MinaConsumer if it should disco [...]
"maximumPoolSize": { "index": 14, "kind": "property", "displayName":
"Maximum Pool Size", "group": "advanced", "label": "advanced", "required":
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": 16, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Number of worker threads in the worker pool
for TCP and UDP" },
"orderedThreadPoolExecutor": { "index": 15, "kind": "property",
"displayName": "Ordered Thread Pool Executor", "group": "advanced", "label":
"advanced", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "Whether to use ordered
thread pool, to ensure events are process [...]
- "transferExchange": { "index": 16, "kind": "property", "displayName":
"Transfer Exchange", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "Only used for TCP. You
can transfer the exchange over the wire instead of just the [...]
+ "transferExchange": { "index": 16, "kind": "property", "displayName":
"Transfer Exchange", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": true,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "Only used for TCP. You
can transfer the exchange over the wire instead of just the b [...]
"allowDefaultCodec": { "index": 17, "kind": "property", "displayName":
"Allow Default Codec", "group": "codec", "label": "codec", "required": false,
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": true, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "The mina component installs a default codec if
both, codec is null and textline is fals [...]
"codec": { "index": 18, "kind": "property", "displayName": "Codec",
"group": "codec", "label": "codec", "required": false, "type": "object",
"javaType": "org.apache.mina.filter.codec.ProtocolCodecFactory", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To use a custom minda codec implementation." },
"decoderMaxLineLength": { "index": 19, "kind": "property", "displayName":
"Decoder Max Line Length", "group": "codec", "label": "codec", "required":
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": 1024, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To set the textline protocol decoder max line
length. By default the default value o [...]
"encoderMaxLineLength": { "index": 20, "kind": "property", "displayName":
"Encoder Max Line Length", "group": "codec", "label": "codec", "required":
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": -1, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To set the textline protocol encoder max line
length. By default the default value of [...]
"encoding": { "index": 21, "kind": "property", "displayName": "Encoding",
"group": "codec", "label": "codec", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "You can configure the encoding (a charset
name) to use for the TCP textline codec and the UDP protocol. If not provided,
[...]
"filters": { "index": 22, "kind": "property", "displayName": "Filters",
"group": "codec", "label": "codec", "required": false, "type": "array",
"javaType": "java.util.List<org.apache.mina.core.filterchain.IoFilter>",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "You can set a list of Mina IoFilters to use."
},
- "textline": { "index": 23, "kind": "property", "displayName": "Textline",
"group": "codec", "label": "codec", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only used for TCP. If no codec is specified,
you can use this flag to indicate a text line based codec; if [...]
- "textlineDelimiter": { "index": 24, "kind": "property", "displayName":
"Textline Delimiter", "group": "codec", "label": "codec", "required": false,
"type": "object", "javaType":
"org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT",
"AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only use [...]
- "sslContextParameters": { "index": 25, "kind": "property", "displayName":
"Ssl Context Parameters", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To configure SSL security." },
- "useGlobalSslContextParameters": { "index": 26, "kind": "property",
"displayName": "Use Global Ssl Context Parameters", "group": "security",
"label": "security", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Enable usage of global SSL context
parameters." }
+ "objectCodecPattern": { "index": 23, "kind": "property", "displayName":
"Object Codec Pattern", "group": "codec", "label": "codec", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Accept the wildcard specified classes for
Object deserialization, unless they are otherwise rejecte [...]
+ "textline": { "index": 24, "kind": "property", "displayName": "Textline",
"group": "codec", "label": "codec", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only used for TCP. If no codec is specified,
you can use this flag to indicate a text line based codec; if [...]
+ "textlineDelimiter": { "index": 25, "kind": "property", "displayName":
"Textline Delimiter", "group": "codec", "label": "codec", "required": false,
"type": "object", "javaType":
"org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT",
"AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only use [...]
+ "sslContextParameters": { "index": 26, "kind": "property", "displayName":
"Ssl Context Parameters", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To configure SSL security." },
+ "useGlobalSslContextParameters": { "index": 27, "kind": "property",
"displayName": "Use Global Ssl Context Parameters", "group": "security",
"label": "security", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Enable usage of global SSL context
parameters." }
},
"headers": {
"CamelMinaCloseSessionWhenComplete": { "index": 0, "kind": "header",
"displayName": "", "group": "common", "label": "", "required": false,
"javaType": "Boolean", "deprecated": false, "deprecationNote": "", "autowired":
false, "secret": false, "description": "Indicates whether the session should be
closed after complete", "constantName":
"org.apache.camel.component.mina.MinaConstants#MINA_CLOSE_SESSION_WHEN_COMPLETE"
},
@@ -77,15 +78,16 @@
"disconnectOnNoReply": { "index": 16, "kind": "parameter", "displayName":
"Disconnect On No Reply", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "If sync is enabled then
this option dictates MinaConsumer if it should disc [...]
"maximumPoolSize": { "index": 17, "kind": "parameter", "displayName":
"Maximum Pool Size", "group": "advanced", "label": "advanced", "required":
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": 16, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Number of worker threads in the worker pool
for TCP and UDP" },
"orderedThreadPoolExecutor": { "index": 18, "kind": "parameter",
"displayName": "Ordered Thread Pool Executor", "group": "advanced", "label":
"advanced", "required": false, "type": "boolean", "javaType": "boolean",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "Whether to use ordered
thread pool, to ensure events are proces [...]
- "transferExchange": { "index": 19, "kind": "parameter", "displayName":
"Transfer Exchange", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "Only used for TCP. You
can transfer the exchange over the wire instead of just the [...]
+ "transferExchange": { "index": 19, "kind": "parameter", "displayName":
"Transfer Exchange", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": true,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass": "org.apache.camel.component.mina.MinaConfiguration",
"configurationField": "configuration", "description": "Only used for TCP. You
can transfer the exchange over the wire instead of just the [...]
"allowDefaultCodec": { "index": 20, "kind": "parameter", "displayName":
"Allow Default Codec", "group": "codec", "label": "codec", "required": false,
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": true, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "The mina component installs a default codec if
both, codec is null and textline is fal [...]
"codec": { "index": 21, "kind": "parameter", "displayName": "Codec",
"group": "codec", "label": "codec", "required": false, "type": "object",
"javaType": "org.apache.mina.filter.codec.ProtocolCodecFactory", "deprecated":
false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To use a custom minda codec implementation." },
"decoderMaxLineLength": { "index": 22, "kind": "parameter", "displayName":
"Decoder Max Line Length", "group": "codec", "label": "codec", "required":
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": 1024, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To set the textline protocol decoder max line
length. By default the default value [...]
"encoderMaxLineLength": { "index": 23, "kind": "parameter", "displayName":
"Encoder Max Line Length", "group": "codec", "label": "codec", "required":
false, "type": "integer", "javaType": "int", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": -1, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To set the textline protocol encoder max line
length. By default the default value of [...]
"encoding": { "index": 24, "kind": "parameter", "displayName": "Encoding",
"group": "codec", "label": "codec", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "You can configure the encoding (a charset
name) to use for the TCP textline codec and the UDP protocol. If not provided,
[...]
"filters": { "index": 25, "kind": "parameter", "displayName": "Filters",
"group": "codec", "label": "codec", "required": false, "type": "array",
"javaType": "java.util.List<org.apache.mina.core.filterchain.IoFilter>",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "You can set a list of Mina IoFilters to use."
},
- "textline": { "index": 26, "kind": "parameter", "displayName": "Textline",
"group": "codec", "label": "codec", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only used for TCP. If no codec is specified,
you can use this flag to indicate a text line based codec; i [...]
- "textlineDelimiter": { "index": 27, "kind": "parameter", "displayName":
"Textline Delimiter", "group": "codec", "label": "codec", "required": false,
"type": "object", "javaType":
"org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT",
"AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only us [...]
- "sslContextParameters": { "index": 28, "kind": "parameter", "displayName":
"Ssl Context Parameters", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To configure SSL security." }
+ "objectCodecPattern": { "index": 26, "kind": "parameter", "displayName":
"Object Codec Pattern", "group": "codec", "label": "codec", "required": false,
"type": "string", "javaType": "java.lang.String", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Accept the wildcard specified classes for
Object deserialization, unless they are otherwise reject [...]
+ "textline": { "index": 27, "kind": "parameter", "displayName": "Textline",
"group": "codec", "label": "codec", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only used for TCP. If no codec is specified,
you can use this flag to indicate a text line based codec; i [...]
+ "textlineDelimiter": { "index": 28, "kind": "parameter", "displayName":
"Textline Delimiter", "group": "codec", "label": "codec", "required": false,
"type": "object", "javaType":
"org.apache.camel.component.mina.MinaTextLineDelimiter", "enum": [ "DEFAULT",
"AUTO", "UNIX", "WINDOWS", "MAC" ], "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "Only us [...]
+ "sslContextParameters": { "index": 29, "kind": "parameter", "displayName":
"Ssl Context Parameters", "group": "security", "label": "security", "required":
false, "type": "object", "javaType":
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.mina.MinaConfiguration", "configurationField":
"configuration", "description": "To configure SSL security." }
}
}
diff --git
a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConfiguration.java
b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConfiguration.java
index 8f78fd412ad..11d9ba6fcbc 100644
---
a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConfiguration.java
+++
b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConfiguration.java
@@ -61,6 +61,7 @@ public class MinaConfiguration implements Cloneable {
@UriParam(label = "producer,advanced", defaultValue = "true")
private boolean lazySessionCreation = true;
@UriParam(label = "advanced")
+ @Deprecated
private boolean transferExchange;
@UriParam
private boolean minaLogger;
@@ -72,6 +73,8 @@ public class MinaConfiguration implements Cloneable {
private List<IoFilter> filters;
@UriParam(label = "codec", defaultValue = "true")
private boolean allowDefaultCodec = true;
+ @UriParam(label = "codec")
+ private String objectCodecPattern;
@UriParam
private boolean disconnect;
@UriParam(label = "advanced", defaultValue = "true")
@@ -246,7 +249,8 @@ public class MinaConfiguration implements Cloneable {
* Only used for TCP. You can transfer the exchange over the wire instead
of just the body. The following fields are
* transferred: In body, Out body, fault body, In headers, Out headers,
fault headers, exchange properties, exchange
* exception. This requires that the objects are serializable. Camel will
exclude any non-serializable objects and
- * log it at WARN level.
+ * log it at WARN level. Also make sure to configure objectCodecPattern to
* (star) to allow transferring java
+ * objects.
*/
public void setTransferExchange(boolean transferExchange) {
this.transferExchange = transferExchange;
@@ -317,6 +321,18 @@ public class MinaConfiguration implements Cloneable {
return allowDefaultCodec;
}
+ public String getObjectCodecPattern() {
+ return objectCodecPattern;
+ }
+
+ /**
+ * Accept the wildcard specified classes for Object deserialization,
unless they are otherwise rejected. Multiple
+ * patterns can be separated by comma.
+ */
+ public void setObjectCodecPattern(String pattern) {
+ this.objectCodecPattern = pattern;
+ }
+
public boolean isDisconnect() {
return disconnect;
}
diff --git
a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
index 14cd3c4ed53..c3efc1c6f70 100644
---
a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
+++
b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
@@ -263,6 +263,10 @@ public class MinaConsumer extends DefaultConsumer {
}
} else {
ObjectSerializationCodecFactory codecFactory = new
ObjectSerializationCodecFactory();
+ if (configuration.getObjectCodecPattern() != null) {
+ String[] arr =
configuration.getObjectCodecPattern().split(",");
+ codecFactory.accept(arr);
+ }
addCodecFactory(service, codecFactory);
LOG.debug("{}: Using ObjectSerializationCodecFactory: {}", type,
codecFactory);
}
diff --git
a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
index 0c8fcf58285..ddb26027906 100644
---
a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
+++
b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaProducer.java
@@ -370,6 +370,10 @@ public class MinaProducer extends DefaultProducer {
codecFactory.getEncoderMaxLineLength(),
codecFactory.getDecoderMaxLineLength());
} else {
ObjectSerializationCodecFactory codecFactory = new
ObjectSerializationCodecFactory();
+ if (configuration.getObjectCodecPattern() != null) {
+ String[] arr =
configuration.getObjectCodecPattern().split(",");
+ codecFactory.accept(arr);
+ }
addCodecFactory(service, codecFactory);
LOG.debug("{}: Using ObjectSerializationCodecFactory: {}", type,
codecFactory);
}
diff --git
a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerConcurrentTest.java
b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerConcurrentTest.java
index cb3b69b93cc..f13382080e1 100644
---
a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerConcurrentTest.java
+++
b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaProducerConcurrentTest.java
@@ -77,7 +77,7 @@ public class MinaProducerConcurrentTest extends BaseMinaTest {
return new RouteBuilder() {
public void configure() {
- fromF("mina:tcp://localhost:%1$s?sync=true",
getPort()).process(exchange -> {
+
fromF("mina:tcp://localhost:%1$s?sync=true&objectCodecPattern=*",
getPort()).process(exchange -> {
String body = exchange.getIn().getBody(String.class);
exchange.getMessage().setBody("Bye " + body);
}).to("mock:result");
diff --git
a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
index 364435a41c3..3be82f8e993 100644
---
a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
+++
b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTransferExchangeOptionTest.java
@@ -54,7 +54,8 @@ public class MinaTransferExchangeOptionTest extends
BaseMinaTest {
private Exchange sendExchange(boolean setException) throws Exception {
Endpoint endpoint = context.getEndpoint(
-
String.format("mina:tcp://localhost:%1$s?sync=true&encoding=UTF-8&transferExchange=true",
getPort()));
+
String.format("mina:tcp://localhost:%1$s?sync=true&encoding=UTF-8&transferExchange=true&objectCodecPattern=*",
+ getPort()));
Producer producer = endpoint.createProducer();
Exchange exchange = endpoint.createExchange();
@@ -99,7 +100,8 @@ public class MinaTransferExchangeOptionTest extends
BaseMinaTest {
return new RouteBuilder() {
public void configure() {
-
fromF("mina:tcp://localhost:%1$s?sync=true&encoding=UTF-8&transferExchange=true",
getPort())
+
fromF("mina:tcp://localhost:%1$s?sync=true&encoding=UTF-8&transferExchange=true&objectCodecPattern=*",
+ getPort())
.process(e -> {
LOG.debug("Enter Processor...");
assertNotNull(e.getIn().getBody());
diff --git
a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMTransferExchangeOptionTest.java
b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMTransferExchangeOptionTest.java
index 9a8804a12a5..814d41504a7 100644
---
a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMTransferExchangeOptionTest.java
+++
b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaVMTransferExchangeOptionTest.java
@@ -50,7 +50,8 @@ public class MinaVMTransferExchangeOptionTest extends
BaseMinaTest {
private Exchange sendExchange(boolean setException) throws Exception {
Endpoint endpoint = context.getEndpoint(
-
String.format("mina:vm://localhost:%1$s?sync=true&encoding=UTF-8&transferExchange=true",
getPort()));
+
String.format("mina:vm://localhost:%1$s?sync=true&encoding=UTF-8&transferExchange=true&objectCodecPattern=*",
+ getPort()));
Exchange exchange = endpoint.createExchange();
Message message = exchange.getIn();
@@ -95,7 +96,7 @@ public class MinaVMTransferExchangeOptionTest extends
BaseMinaTest {
return new RouteBuilder() {
public void configure() {
-
fromF("mina:vm://localhost:%1$s?sync=true&encoding=UTF-8&transferExchange=true",
getPort())
+
fromF("mina:vm://localhost:%1$s?sync=true&encoding=UTF-8&transferExchange=true&objectCodecPattern=*",
getPort())
.process(e -> {
assertNotNull(e.getIn().getBody());
assertNotNull(e.getIn().getHeaders());
diff --git
a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/MinaUriDsl.kt
b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/MinaUriDsl.kt
index 3e6aaba5c2c..3a7d43652be 100644
---
a/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/MinaUriDsl.kt
+++
b/dsl/camel-kotlin-api/src/generated/kotlin/org/apache/camel/kotlin/components/MinaUriDsl.kt
@@ -224,6 +224,10 @@ public class MinaUriDsl(
it.property("filters", filters)
}
+ public fun objectCodecPattern(objectCodecPattern: String) {
+ it.property("objectCodecPattern", objectCodecPattern)
+ }
+
public fun textline(textline: String) {
it.property("textline", textline)
}
diff --git a/parent/pom.xml b/parent/pom.xml
index e3e91e8e9c6..06122c1e8c5 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -342,7 +342,7 @@
<micrometer-tracing-version>1.2.12</micrometer-tracing-version>
<microprofile-config-version>3.1</microprofile-config-version>
<microprofile-fault-tolerance-version>4.0.2</microprofile-fault-tolerance-version>
- <mina-version>2.2.3</mina-version>
+ <mina-version>2.2.4</mina-version>
<minidns-version>0.3.4</minidns-version>
<minimal-json-version>0.9.5</minimal-json-version>
<minio-version>8.5.7</minio-version>