This is an automated email from the ASF dual-hosted git repository.
acosentino 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 7b3321e Regen for commit 0d026fbaa052ff85ed4b99dbae1de273fb1cac36
7b3321e is described below
commit 7b3321e55711e6593c4f36eac33a2a64aea4b8f8
Author: omarsmak <[email protected]>
AuthorDate: Tue Apr 27 08:58:11 2021 +0000
Regen for commit 0d026fbaa052ff85ed4b99dbae1de273fb1cac36
Signed-off-by: GitHub <[email protected]>
---
.../org/apache/camel/catalog/components/jt400.json | 1 +
.../apache/camel/catalog/docs/jt400-component.adoc | 36 +++++++++++++++----
.../component/jt400/Jt400EndpointConfigurer.java | 6 ++++
.../component/jt400/Jt400EndpointUriFactory.java | 3 +-
.../services/org/apache/camel/component.properties | 4 +--
.../org/apache/camel/component/jt400/jt400.json | 1 +
.../endpoint/dsl/Jt400EndpointBuilderFactory.java | 41 ++++++++++++++++++++++
.../modules/ROOT/pages/jt400-component.adoc | 36 +++++++++++++++----
8 files changed, 113 insertions(+), 15 deletions(-)
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/jt400.json
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/jt400.json
index 3926fce..d599c2a 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/jt400.json
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/jt400.json
@@ -43,6 +43,7 @@
"readTimeout": { "kind": "parameter", "displayName": "Read Timeout",
"group": "consumer", "label": "consumer", "required": false, "type": "integer",
"javaType": "int", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": 30000, "configurationClass":
"org.apache.camel.component.jt400.Jt400Configuration", "configurationField":
"configuration", "description": "Timeout in millis the consumer will wait while
trying to read a new message of the data queue." },
"searchType": { "kind": "parameter", "displayName": "Search Type",
"group": "consumer", "label": "consumer", "required": false, "type": "object",
"javaType": "org.apache.camel.component.jt400.Jt400Configuration.SearchType",
"enum": [ "EQ", "NE", "LT", "LE", "GT", "GE" ], "deprecated": false,
"autowired": false, "secret": false, "defaultValue": "EQ",
"configurationClass": "org.apache.camel.component.jt400.Jt400Configuration",
"configurationField": "configuration", "description": "Sear [...]
"sendEmptyMessageWhenIdle": { "kind": "parameter", "displayName": "Send
Empty Message When Idle", "group": "consumer", "label": "consumer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description": "If
the polling consumer did not poll any files, you can enable this option to send
an empty message (no body) instead." },
+ "sendingReply": { "kind": "parameter", "displayName": "Sending Reply",
"group": "consumer", "label": "consumer", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": true, "configurationClass":
"org.apache.camel.component.jt400.Jt400Configuration", "configurationField":
"configuration", "description": "If true, the consumer endpoint will set the
Jt400Constants.MESSAGE_REPLYTO_KEY header of the camel mes [...]
"exceptionHandler": { "kind": "parameter", "displayName": "Exception
Handler", "group": "consumer (advanced)", "label": "consumer,advanced",
"required": false, "type": "object", "javaType":
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.",
"deprecated": false, "autowired": false, "secret": false, "description": "To
let the consumer use a custom ExceptionHandler. Notice if the option
bridgeErrorHandler is enabled then this option is not in use. By default the
con [...]
"exchangePattern": { "kind": "parameter", "displayName": "Exchange
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced",
"required": false, "type": "object", "javaType":
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut",
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false,
"description": "Sets the exchange pattern when the consumer creates an
exchange." },
"pollStrategy": { "kind": "parameter", "displayName": "Poll Strategy",
"group": "consumer (advanced)", "label": "consumer,advanced", "required":
false, "type": "object", "javaType":
"org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false,
"autowired": false, "secret": false, "description": "A pluggable
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your
custom implementation to control error handling usually occurred during the
poll operation [...]
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/jt400-component.adoc
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/jt400-component.adoc
index 92d739d..e1ebc96 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/jt400-component.adoc
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/jt400-component.adoc
@@ -96,7 +96,7 @@ with the following path and query parameters:
|===
-=== Query Parameters (32 parameters):
+=== Query Parameters (33 parameters):
[width="100%",cols="2,5,^1,2",options="header"]
@@ -112,6 +112,7 @@ with the following path and query parameters:
| *readTimeout* (consumer) | Timeout in millis the consumer will wait while
trying to read a new message of the data queue. | 30000 | int
| *searchType* (consumer) | Search type such as EQ for equal etc. There are 6
enums and the value can be one of: EQ, NE, LT, LE, GT, GE | EQ | SearchType
| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll
any files, you can enable this option to send an empty message (no body)
instead. | false | boolean
+| *sendingReply* (consumer) | If true, the consumer endpoint will set the
Jt400Constants.MESSAGE_REPLYTO_KEY header of the camel message for any IBM i
inquiry messages received. If that message is then routed to a producer
endpoint, the action will not be processed as sending a message to the queue,
but rather a reply to the specific inquiry message. | true | boolean
| *exceptionHandler* (consumer) | To let the consumer use a custom
ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this
option is not in use. By default the consumer will deal with exceptions, that
will be logged at WARN or ERROR level and ignored. | | ExceptionHandler
| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer
creates an exchange. There are 3 enums and the value can be one of: InOnly,
InOut, InOptionalOut | | ExchangePattern
| *pollStrategy* (consumer) | A pluggable
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your
custom implementation to control error handling usually occurred during the
poll operation before an Exchange have been created and being routed in Camel.
| | PollingConsumerPollStrategy
@@ -199,10 +200,19 @@ be determined, the headers will not be set
[width="100%",cols="2m,2m,1m,5",options="header"]
|===
| Header constant | Header value
| Type | Description
-| Jt400Endpoint.MESSAGE_ID | "CamelJt400MessageID"
| String | The message identifier
-| Jt400Endpoint.MESSAGE_FILE | "CamelJt400MessageFile"
| String | The message file name
-| Jt400Endpoint.MESSAGE_TYPE | "CamelJt400MessageType"
| Integer | The message type (corresponds to constants defined in the
AS400Message class)
-| Jt400Endpoint.SENDER_INFORMATION | "SENDER_INFORMATION"
| String | The job identifier of the sending job
+| Jt400Constants.MESSAGE_ID | "CamelJt400MessageID"
| String | The message identifier
+| Jt400Constants.MESSAGE_FILE | "CamelJt400MessageFile"
| String | The message file name
+| Jt400Constants.MESSAGE_TYPE | "CamelJt400MessageType"
| Integer | The message type (corresponds to constants defined in the
AS400Message class)
+| Jt400Constants.MESSAGE_DFT_RPY | "CamelJt400MessageDefaultReply"
| String | The default message reply, when the message is an inquiry message
+| Jt400Constants.MESSAGE_REPLYTO_KEY | "CamelJt400MessageReplyToKey"
| byte[] | The key of the message that will be replied to (if the
`sendingReply` parameter is set to `true`)
+| Jt400Constants.SENDER_INFORMATION | "SENDER_INFORMATION"
| String | The job identifier of the sending job
+|===
+
+=== Producer headers when sending to message queues
+
+[width="100%",cols="2m,2m,1m,5",options="header"]
+|===
+| Jt400Constants.MESSAGE_REPLYTO_KEY | "CamelJt400MessageReplyToKey"
| byte[] | If set, and if the message body is not empty, a new message will
not be sent to the provided message queue. Instead, a response will be sent to
the message identified by the given key. This is set automatically when reading
from the message queue if the `sendingReply` parameter is set to `true`.
|===
== Example
@@ -270,9 +280,23 @@ from("jms:queue:input")
[source,java]
-------------------------------------------------------------------------------------------------------
-from("jt400://username:password@system/lib.lib/MSGOUTQ.DTAQ")
+from("jt400://username:password@system/lib.lib/MSGOUTQ.MSGQ")
.to("jms:queue:output");
-------------------------------------------------------------------------------------------------------
+=== Replying to an inquiry message on a message queue
+
+[source,java]
+-------------------------------------------------------------------------------------------------------
+from("jt400://username:password@localhost/qsys.lib/qusrsys.lib/myq.msgq?sendingReply=true")
+.choice()
+ .when(header(Jt400Constants.MESSAGE_TYPE).isEqualTo(AS400Message.INQUIRY))
+ .process((exchange) -> {
+ String reply = // insert reply logic here
+ exchange.getIn().setBody(reply);
+ })
+
.to("jt400://username:password@localhost/qsys.lib/qusrsys.lib/myq.msgq");
+-------------------------------------------------------------------------------------------------------
+
include::{page-component-version}@camel-spring-boot::page$jt400-starter.adoc[]
diff --git
a/components/camel-jt400/src/generated/java/org/apache/camel/component/jt400/Jt400EndpointConfigurer.java
b/components/camel-jt400/src/generated/java/org/apache/camel/component/jt400/Jt400EndpointConfigurer.java
index df0886a..a380b23 100644
---
a/components/camel-jt400/src/generated/java/org/apache/camel/component/jt400/Jt400EndpointConfigurer.java
+++
b/components/camel-jt400/src/generated/java/org/apache/camel/component/jt400/Jt400EndpointConfigurer.java
@@ -72,6 +72,8 @@ public class Jt400EndpointConfigurer extends
PropertyConfigurerSupport implement
case "secured":
target.getConfiguration().setSecured(property(camelContext, boolean.class,
value)); return true;
case "sendemptymessagewhenidle":
case "sendEmptyMessageWhenIdle":
target.setSendEmptyMessageWhenIdle(property(camelContext, boolean.class,
value)); return true;
+ case "sendingreply":
+ case "sendingReply":
target.getConfiguration().setSendingReply(property(camelContext, boolean.class,
value)); return true;
case "startscheduler":
case "startScheduler": target.setStartScheduler(property(camelContext,
boolean.class, value)); return true;
case "timeunit":
@@ -136,6 +138,8 @@ public class Jt400EndpointConfigurer extends
PropertyConfigurerSupport implement
case "secured": return boolean.class;
case "sendemptymessagewhenidle":
case "sendEmptyMessageWhenIdle": return boolean.class;
+ case "sendingreply":
+ case "sendingReply": return boolean.class;
case "startscheduler":
case "startScheduler": return boolean.class;
case "timeunit":
@@ -201,6 +205,8 @@ public class Jt400EndpointConfigurer extends
PropertyConfigurerSupport implement
case "secured": return target.getConfiguration().isSecured();
case "sendemptymessagewhenidle":
case "sendEmptyMessageWhenIdle": return
target.isSendEmptyMessageWhenIdle();
+ case "sendingreply":
+ case "sendingReply": return target.getConfiguration().isSendingReply();
case "startscheduler":
case "startScheduler": return target.isStartScheduler();
case "timeunit":
diff --git
a/components/camel-jt400/src/generated/java/org/apache/camel/component/jt400/Jt400EndpointUriFactory.java
b/components/camel-jt400/src/generated/java/org/apache/camel/component/jt400/Jt400EndpointUriFactory.java
index 9b857bd..aa583b8 100644
---
a/components/camel-jt400/src/generated/java/org/apache/camel/component/jt400/Jt400EndpointUriFactory.java
+++
b/components/camel-jt400/src/generated/java/org/apache/camel/component/jt400/Jt400EndpointUriFactory.java
@@ -20,7 +20,7 @@ public class Jt400EndpointUriFactory extends
org.apache.camel.support.component.
private static final Set<String> PROPERTY_NAMES;
private static final Set<String> SECRET_PROPERTY_NAMES;
static {
- Set<String> props = new HashSet<>(37);
+ Set<String> props = new HashSet<>(38);
props.add("backoffMultiplier");
props.add("initialDelay");
props.add("type");
@@ -42,6 +42,7 @@ public class Jt400EndpointUriFactory extends
org.apache.camel.support.component.
props.add("scheduledExecutorService");
props.add("repeatCount");
props.add("timeUnit");
+ props.add("sendingReply");
props.add("searchType");
props.add("sendEmptyMessageWhenIdle");
props.add("schedulerProperties");
diff --git
a/components/camel-jt400/src/generated/resources/META-INF/services/org/apache/camel/component.properties
b/components/camel-jt400/src/generated/resources/META-INF/services/org/apache/camel/component.properties
index cda5f00..53a1aef 100644
---
a/components/camel-jt400/src/generated/resources/META-INF/services/org/apache/camel/component.properties
+++
b/components/camel-jt400/src/generated/resources/META-INF/services/org/apache/camel/component.properties
@@ -3,5 +3,5 @@ components=jt400
groupId=org.apache.camel
artifactId=camel-jt400
version=3.10.0-SNAPSHOT
-projectName=Camel :: Java Toolbox for AS/400
-projectDescription=Camel AS/400 support
+projectName=Camel :: Java Toolbox for IBM i
+projectDescription=Camel IBM i support
diff --git
a/components/camel-jt400/src/generated/resources/org/apache/camel/component/jt400/jt400.json
b/components/camel-jt400/src/generated/resources/org/apache/camel/component/jt400/jt400.json
index 3926fce..d599c2a 100644
---
a/components/camel-jt400/src/generated/resources/org/apache/camel/component/jt400/jt400.json
+++
b/components/camel-jt400/src/generated/resources/org/apache/camel/component/jt400/jt400.json
@@ -43,6 +43,7 @@
"readTimeout": { "kind": "parameter", "displayName": "Read Timeout",
"group": "consumer", "label": "consumer", "required": false, "type": "integer",
"javaType": "int", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": 30000, "configurationClass":
"org.apache.camel.component.jt400.Jt400Configuration", "configurationField":
"configuration", "description": "Timeout in millis the consumer will wait while
trying to read a new message of the data queue." },
"searchType": { "kind": "parameter", "displayName": "Search Type",
"group": "consumer", "label": "consumer", "required": false, "type": "object",
"javaType": "org.apache.camel.component.jt400.Jt400Configuration.SearchType",
"enum": [ "EQ", "NE", "LT", "LE", "GT", "GE" ], "deprecated": false,
"autowired": false, "secret": false, "defaultValue": "EQ",
"configurationClass": "org.apache.camel.component.jt400.Jt400Configuration",
"configurationField": "configuration", "description": "Sear [...]
"sendEmptyMessageWhenIdle": { "kind": "parameter", "displayName": "Send
Empty Message When Idle", "group": "consumer", "label": "consumer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description": "If
the polling consumer did not poll any files, you can enable this option to send
an empty message (no body) instead." },
+ "sendingReply": { "kind": "parameter", "displayName": "Sending Reply",
"group": "consumer", "label": "consumer", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": true, "configurationClass":
"org.apache.camel.component.jt400.Jt400Configuration", "configurationField":
"configuration", "description": "If true, the consumer endpoint will set the
Jt400Constants.MESSAGE_REPLYTO_KEY header of the camel mes [...]
"exceptionHandler": { "kind": "parameter", "displayName": "Exception
Handler", "group": "consumer (advanced)", "label": "consumer,advanced",
"required": false, "type": "object", "javaType":
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.",
"deprecated": false, "autowired": false, "secret": false, "description": "To
let the consumer use a custom ExceptionHandler. Notice if the option
bridgeErrorHandler is enabled then this option is not in use. By default the
con [...]
"exchangePattern": { "kind": "parameter", "displayName": "Exchange
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced",
"required": false, "type": "object", "javaType":
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut",
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false,
"description": "Sets the exchange pattern when the consumer creates an
exchange." },
"pollStrategy": { "kind": "parameter", "displayName": "Poll Strategy",
"group": "consumer (advanced)", "label": "consumer,advanced", "required":
false, "type": "object", "javaType":
"org.apache.camel.spi.PollingConsumerPollStrategy", "deprecated": false,
"autowired": false, "secret": false, "description": "A pluggable
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your
custom implementation to control error handling usually occurred during the
poll operation [...]
diff --git
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Jt400EndpointBuilderFactory.java
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Jt400EndpointBuilderFactory.java
index 6cb243b..29ecd4e 100644
---
a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Jt400EndpointBuilderFactory.java
+++
b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/Jt400EndpointBuilderFactory.java
@@ -367,6 +367,47 @@ public interface Jt400EndpointBuilderFactory {
return this;
}
/**
+ * If true, the consumer endpoint will set the
+ * Jt400Constants.MESSAGE_REPLYTO_KEY header of the camel message for
+ * any IBM i inquiry messages received. If that message is then routed
+ * to a producer endpoint, the action will not be processed as sending
a
+ * message to the queue, but rather a reply to the specific inquiry
+ * message.
+ *
+ * The option is a: <code>boolean</code> type.
+ *
+ * Default: true
+ * Group: consumer
+ *
+ * @param sendingReply the value to set
+ * @return the dsl builder
+ */
+ default Jt400EndpointConsumerBuilder sendingReply(boolean
sendingReply) {
+ doSetProperty("sendingReply", sendingReply);
+ return this;
+ }
+ /**
+ * If true, the consumer endpoint will set the
+ * Jt400Constants.MESSAGE_REPLYTO_KEY header of the camel message for
+ * any IBM i inquiry messages received. If that message is then routed
+ * to a producer endpoint, the action will not be processed as sending
a
+ * message to the queue, but rather a reply to the specific inquiry
+ * message.
+ *
+ * The option will be converted to a <code>boolean</code>
+ * type.
+ *
+ * Default: true
+ * Group: consumer
+ *
+ * @param sendingReply the value to set
+ * @return the dsl builder
+ */
+ default Jt400EndpointConsumerBuilder sendingReply(String sendingReply)
{
+ doSetProperty("sendingReply", sendingReply);
+ return this;
+ }
+ /**
* The number of subsequent error polls (failed due some error) that
* should happen before the backoffMultipler should kick-in.
*
diff --git a/docs/components/modules/ROOT/pages/jt400-component.adoc
b/docs/components/modules/ROOT/pages/jt400-component.adoc
index 9966166..6301c5e 100644
--- a/docs/components/modules/ROOT/pages/jt400-component.adoc
+++ b/docs/components/modules/ROOT/pages/jt400-component.adoc
@@ -98,7 +98,7 @@ with the following path and query parameters:
|===
-=== Query Parameters (32 parameters):
+=== Query Parameters (33 parameters):
[width="100%",cols="2,5,^1,2",options="header"]
@@ -114,6 +114,7 @@ with the following path and query parameters:
| *readTimeout* (consumer) | Timeout in millis the consumer will wait while
trying to read a new message of the data queue. | 30000 | int
| *searchType* (consumer) | Search type such as EQ for equal etc. There are 6
enums and the value can be one of: EQ, NE, LT, LE, GT, GE | EQ | SearchType
| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll
any files, you can enable this option to send an empty message (no body)
instead. | false | boolean
+| *sendingReply* (consumer) | If true, the consumer endpoint will set the
Jt400Constants.MESSAGE_REPLYTO_KEY header of the camel message for any IBM i
inquiry messages received. If that message is then routed to a producer
endpoint, the action will not be processed as sending a message to the queue,
but rather a reply to the specific inquiry message. | true | boolean
| *exceptionHandler* (consumer) | To let the consumer use a custom
ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this
option is not in use. By default the consumer will deal with exceptions, that
will be logged at WARN or ERROR level and ignored. | | ExceptionHandler
| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer
creates an exchange. There are 3 enums and the value can be one of: InOnly,
InOut, InOptionalOut | | ExchangePattern
| *pollStrategy* (consumer) | A pluggable
org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your
custom implementation to control error handling usually occurred during the
poll operation before an Exchange have been created and being routed in Camel.
| | PollingConsumerPollStrategy
@@ -201,10 +202,19 @@ be determined, the headers will not be set
[width="100%",cols="2m,2m,1m,5",options="header"]
|===
| Header constant | Header value
| Type | Description
-| Jt400Endpoint.MESSAGE_ID | "CamelJt400MessageID"
| String | The message identifier
-| Jt400Endpoint.MESSAGE_FILE | "CamelJt400MessageFile"
| String | The message file name
-| Jt400Endpoint.MESSAGE_TYPE | "CamelJt400MessageType"
| Integer | The message type (corresponds to constants defined in the
AS400Message class)
-| Jt400Endpoint.SENDER_INFORMATION | "SENDER_INFORMATION"
| String | The job identifier of the sending job
+| Jt400Constants.MESSAGE_ID | "CamelJt400MessageID"
| String | The message identifier
+| Jt400Constants.MESSAGE_FILE | "CamelJt400MessageFile"
| String | The message file name
+| Jt400Constants.MESSAGE_TYPE | "CamelJt400MessageType"
| Integer | The message type (corresponds to constants defined in the
AS400Message class)
+| Jt400Constants.MESSAGE_DFT_RPY | "CamelJt400MessageDefaultReply"
| String | The default message reply, when the message is an inquiry message
+| Jt400Constants.MESSAGE_REPLYTO_KEY | "CamelJt400MessageReplyToKey"
| byte[] | The key of the message that will be replied to (if the
`sendingReply` parameter is set to `true`)
+| Jt400Constants.SENDER_INFORMATION | "SENDER_INFORMATION"
| String | The job identifier of the sending job
+|===
+
+=== Producer headers when sending to message queues
+
+[width="100%",cols="2m,2m,1m,5",options="header"]
+|===
+| Jt400Constants.MESSAGE_REPLYTO_KEY | "CamelJt400MessageReplyToKey"
| byte[] | If set, and if the message body is not empty, a new message will
not be sent to the provided message queue. Instead, a response will be sent to
the message identified by the given key. This is set automatically when reading
from the message queue if the `sendingReply` parameter is set to `true`.
|===
== Example
@@ -272,9 +282,23 @@ from("jms:queue:input")
[source,java]
-------------------------------------------------------------------------------------------------------
-from("jt400://username:password@system/lib.lib/MSGOUTQ.DTAQ")
+from("jt400://username:password@system/lib.lib/MSGOUTQ.MSGQ")
.to("jms:queue:output");
-------------------------------------------------------------------------------------------------------
+=== Replying to an inquiry message on a message queue
+
+[source,java]
+-------------------------------------------------------------------------------------------------------
+from("jt400://username:password@localhost/qsys.lib/qusrsys.lib/myq.msgq?sendingReply=true")
+.choice()
+ .when(header(Jt400Constants.MESSAGE_TYPE).isEqualTo(AS400Message.INQUIRY))
+ .process((exchange) -> {
+ String reply = // insert reply logic here
+ exchange.getIn().setBody(reply);
+ })
+
.to("jt400://username:password@localhost/qsys.lib/qusrsys.lib/myq.msgq");
+-------------------------------------------------------------------------------------------------------
+
include::{page-component-version}@camel-spring-boot::page$jt400-starter.adoc[]