You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+30-25Lines changed: 30 additions & 25 deletions
Original file line number
Diff line number
Diff line change
@@ -90,7 +90,7 @@ This repository includes a Dockerfile to run Kafka Connect in distributed mode.
90
90
1.`docker run -p 8083:8083 kafkaconnect-with-mq-source:0.0.1`
91
91
92
92
**NOTE:** To provide custom properties files create a folder called `config` containing the `connect-distributed.properties` and `connect-log4j.properties` files and use a Docker volume to make them available when running the container:
93
-
`docker run -v $(pwd)/config:/opt/kafka/config -p 8083:8083 kafkaconnect:0.0.1`
93
+
`docker run -v $(pwd)/config:/opt/kafka/config -p 8083:8083 kafkaconnect-with-mq-source:0.0.1`
94
94
95
95
## Deploying to Kubernetes
96
96
@@ -213,30 +213,31 @@ For troubleshooting, or to better understand the handshake performed by the IBM
213
213
## Configuration
214
214
The configuration options for the Kafka Connect source connector for IBM MQ are as follows:
215
215
216
-
| Name | Description | Type | Default | Valid values |
| mq.queue.manager | The name of the MQ queue manager | string || MQ queue manager name |
219
-
| mq.connection.mode | The connection mode - bindings or client | string | client | client, bindings |
220
-
| mq.connection.name.list | List of connection names for queue manager | string || host(port)[,host(port),...]|
221
-
| mq.channel.name | The name of the server-connection channel | string || MQ channel name |
222
-
| mq.queue | The name of the source MQ queue | string || MQ queue name |
223
-
| mq.user.name | The user name for authenticating with the queue manager | string || User name |
224
-
| mq.password | The password for authenticating with the queue manager | string || Password |
225
-
| mq.ccdt.url | The URL for the CCDT file containing MQ connection details | string || URL for obtaining a CCDT file |
226
-
| mq.record.builder | The class used to build the Kafka Connect record | string || Class implementing RecordBuilder |
227
-
| mq.message.body.jms | Whether to interpret the message body as a JMS message type | boolean | false ||
228
-
| mq.record.builder.key.header | The JMS message header to use as the Kafka record key | string || JMSMessageID, JMSCorrelationID, JMSCorrelationIDAsBytes, JMSDestination |
229
-
| mq.jms.properties.copy.to.kafka.headers | Whether to copy JMS message properties to Kafka headers | boolean | false ||
230
-
| mq.ssl.cipher.suite | The name of the cipher suite for TLS (SSL) connection | string || Blank or valid cipher suite |
231
-
| mq.ssl.peer.name | The distinguished name pattern of the TLS (SSL) peer | string || Blank or DN pattern |
232
-
| mq.ssl.keystore.location | The path to the JKS keystore to use for SSL (TLS) connections | string | JVM keystore | Local path to a JKS file |
233
-
| mq.ssl.keystore.password | The password of the JKS keystore to use for SSL (TLS) connections | string |||
234
-
| mq.ssl.truststore.location | The path to the JKS truststore to use for SSL (TLS) connections | string | JVM truststore | Local path to a JKS file |
235
-
| mq.ssl.truststore.password | The password of the JKS truststore to use for SSL (TLS) connections | string |||
236
-
| mq.batch.size | The maximum number of messages in a batch (unit of work) | integer | 250 | 1 or greater |
237
-
| mq.message.mqmd.read | Whether to enable reading of all MQMD fields | boolean | false ||
238
-
| mq.user.authentication.mqcsp | Whether to use MQ connection security parameters (MQCSP) | boolean | true ||
239
-
| topic | The name of the target Kafka topic | string || Topic name |
216
+
| Name | Description | Type | Default | Valid values |
| topic | The name of the target Kafka topic | string || Topic name |
219
+
| mq.queue.manager | The name of the MQ queue manager | string || MQ queue manager name |
220
+
| mq.connection.mode | The connection mode - bindings or client | string | client | client, bindings |
221
+
| mq.connection.name.list | List of connection names for queue manager | string || host(port)[,host(port),...]|
222
+
| mq.channel.name | The name of the server-connection channel | string || MQ channel name |
223
+
| mq.queue | The name of the source MQ queue | string || MQ queue name |
224
+
| mq.user.name | The user name for authenticating with the queue manager | string || User name |
225
+
| mq.password | The password for authenticating with the queue manager | string || Password |
226
+
| mq.user.authentication.mqcsp | Whether to use MQ connection security parameters (MQCSP) | boolean | true ||
227
+
| mq.ccdt.url | The URL for the CCDT file containing MQ connection details | string || URL for obtaining a CCDT file |
228
+
| mq.record.builder | The class used to build the Kafka Connect record | string || Class implementing RecordBuilder |
229
+
| mq.message.body.jms | Whether to interpret the message body as a JMS message type | boolean | false ||
230
+
| mq.record.builder.key.header | The JMS message header to use as the Kafka record key | string || JMSMessageID, JMSCorrelationID, JMSCorrelationIDAsBytes, JMSDestination |
231
+
| mq.jms.properties.copy.to.kafka.headers | Whether to copy JMS message properties to Kafka headers | boolean | false ||
232
+
| mq.ssl.cipher.suite | The name of the cipher suite for TLS (SSL) connection | string || Blank or valid cipher suite |
233
+
| mq.ssl.peer.name | The distinguished name pattern of the TLS (SSL) peer | string || Blank or DN pattern |
234
+
| mq.ssl.keystore.location | The path to the JKS keystore to use for SSL (TLS) connections | string | JVM keystore | Local path to a JKS file |
235
+
| mq.ssl.keystore.password | The password of the JKS keystore to use for SSL (TLS) connections | string |||
236
+
| mq.ssl.truststore.location | The path to the JKS truststore to use for SSL (TLS) connections | string | JVM truststore | Local path to a JKS file |
237
+
| mq.ssl.truststore.password | The password of the JKS truststore to use for SSL (TLS) connections | string |||
238
+
| mq.ssl.use.ibm.cipher.mappings | Whether to set system property to control use of IBM cipher mappings | boolean |||
239
+
| mq.batch.size | The maximum number of messages in a batch (unit of work) | integer | 250 | 1 or greater |
240
+
| mq.message.mqmd.read | Whether to enable reading of all MQMD fields | boolean | false ||
240
241
241
242
242
243
### Using a CCDT file
@@ -277,6 +278,10 @@ To use a file for the `mq.password` in Kubernetes, you create a Secret using the
277
278
278
279
You may receive an `org.apache.kafka.common.errors.SslAuthenticationException: SSL handshake failed` error when trying to run the MQ source connector using SSL to connect to your Kafka cluster. In the case that the error is caused by the following exception: `Caused by: java.security.cert.CertificateException: No subject alternative DNS name matching XXXXX found.`, Java may be replacing the IP address of your cluster with the corresponding hostname in your `/etc/hosts` file. For example, to push Docker images to a custom Docker repository, you may add an entry in this file which corresponds to the IP of your repository e.g. `123.456.78.90 mycluster.icp`. To fix this, you can comment out this line in your `/etc/hosts` file.
279
280
281
+
### Unsupported cipher suite
282
+
283
+
When configuring TLS connection to MQ, you may find that the queue manager rejects the cipher suite, in spite of the name looking correct. There are two different naming conventions for cipher suites (https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.1.0/com.ibm.mq.dev.doc/q113220_.htm). Setting the configuration option `mq.ssl.use.ibm.cipher.mappings=false` often resolves cipher suite problems.
284
+
280
285
281
286
## Support
282
287
A commercially supported version of this connector is available for customers with a support entitlement for [IBM Event Streams](https://www.ibm.com/cloud/event-streams).
0 commit comments