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
+27-17Lines changed: 27 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ Build the connector using Maven:
25
25
mvn clean package
26
26
```
27
27
28
-
Once built, the output is a single JAR called `target/kafka-connect-mq-source-0.5-SNAPSHOT-jar-with-dependencies.jar` which contains all of the required dependencies.
28
+
Once built, the output is a single JAR called `target/kafka-connect-mq-source-0.6-SNAPSHOT-jar-with-dependencies.jar` which contains all of the required dependencies.
The messages received from MQ are processed by a record builder which builds a Kafka Connect record to represent the message. There are two record builders supplied with the MQ source connector. The connector has a configuration option *mq.message.body.jms* that controls whether it interprets the MQ messages as JMS messages or regular MQ messages.
97
96
@@ -113,6 +112,17 @@ You must then choose a converter than can handle the value schema and class. The
113
112
114
113
In addition, there is another converter for the Avro format that is part of the Confluent Platform. This has not been tested with the MQ source connector at this time.
115
114
115
+
### Key support and partitioning
116
+
By default, the connector does not use keys for the Kafka messages it publishes. It can be configured to use the JMS message headers to set the key of the Kafka records. You could use this, for example, to use the MQMD correlation identifier as the partitioning key when the messages are published to Kafka. There are three valid values for the `mq.record.builder.key.header` that controls this behavior.
117
+
118
+
| mq.record.builder.key.header | Key schema | Key class | Recommended value for key.converter |
In MQ, the message ID and correlation ID are both 24-byte arrays. As strings, the connector represents them using a sequence of 48 hexadecimal characters.
125
+
116
126
117
127
## Security
118
128
The connector supports authentication with user name and password and also connections secured with TLS using a server-side certificate and mutual authentication with client-side certificates.
@@ -132,32 +142,32 @@ For troubleshooting, or to better understand the handshake performed by the IBM
132
142
## Configuration
133
143
The configuration options for the MQ Source Connector are as follows:
134
144
135
-
| Name | Description | Type | Default | Valid values |
| mq.queue.manager | The name of the MQ queue manager | string || MQ queue manager name |
148
+
| mq.connection.name.list | List of connection names for queue manager | string || host(port)[,host(port),...]|
149
+
| mq.channel.name | The name of the server-connection channel | string || MQ channel name |
150
+
| mq.queue | The name of the source MQ queue | string || MQ queue name |
151
+
| mq.user.name | The user name for authenticating with the queue manager | string || User name |
152
+
| mq.password | The password for authenticating with the queue manager | string || Password |
153
+
| mq.record.builder | The class used to build the Kafka Connect record | string || Class implementing RecordBuilder |
154
+
| mq.message.body.jms | Whether to interpret the message body as a JMS message type | boolean | false ||
155
+
| mq.record.builder.key.header | The JMS message header to use as the Kafka record key | string || JMSMessageID, JMSCorrelationID, JMSCorrelationIDAsBytes |
156
+
| mq.ssl.cipher.suite | The name of the cipher suite for TLS (SSL) connection | string || Blank or valid cipher suite |
157
+
| mq.ssl.peer.name | The distinguished name pattern of the TLS (SSL) peer | string || Blank or DN pattern |
158
+
| topic | The name of the target Kafka topic | string || Topic name |
148
159
149
160
150
161
## Future enhancements
151
162
The connector is intentionally basic. The idea is to enhance it over time with additional features to make it more capable. Some possible future enhancements are:
152
163
* Configurable schema for MQ messages
153
164
* Simplification of handling message formats
154
-
* Message key support
155
165
* JMX metrics
156
166
* Separate TLS configuration for the connector so that keystore location and so on can be specified as configurations
157
167
158
168
159
169
## Issues and contributions
160
-
For issues relating specifically to this connect, please use the [GitHub issue tracker](https://github.com/ibm-messaging/kafka-connect-mq-source/issues). If you do submit a Pull Request related to this connector, please indicate in the Pull Request that you accept and agree to be bound by the terms of the [IBM Contributor License Agreement](CLA.md).
170
+
For issues relating specifically to this connector, please use the [GitHub issue tracker](https://github.com/ibm-messaging/kafka-connect-mq-source/issues). If you do submit a Pull Request related to this connector, please indicate in the Pull Request that you accept and agree to be bound by the terms of the [IBM Contributor License Agreement](CLA.md).
0 commit comments