[
https://issues.apache.org/jira/browse/KAFKA-7590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chenchu Lakshman kumar resolved KAFKA-7590.
-------------------------------------------
Resolution: Fixed
> GETTING HUGE MESSAGE STRUCTURE THROUGH JMS CONNECTOR
> ----------------------------------------------------
>
> Key: KAFKA-7590
> URL: https://issues.apache.org/jira/browse/KAFKA-7590
> Project: Kafka
> Issue Type: Test
> Components: config, KafkaConnect
> Affects Versions: 2.0.0
> Reporter: Chenchu Lakshman kumar
> Priority: Major
>
> Message
> --------------------------------------------------------------------
> {"schema":{"type":"struct","fields":[
> {"type":"string","optional":false,"doc":"This field stores the value of
> `Message.getJMSMessageID()
> <http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getJMSMessageID()>`_.","field":"messageID"}
> ,
> {"type":"string","optional":false,"doc":"This field stores the type of
> message that was received. This corresponds to the subinterfaces of `Message
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Message.html]>`_.
> `BytesMessage
> <[http://docs.oracle.com/javaee/6/api/javax/jms/BytesMessage.html]>`_ =
> `bytes`, `MapMessage
> <[http://docs.oracle.com/javaee/6/api/javax/jms/MapMessage.html]>`_ = `map`,
> `ObjectMessage
> <[http://docs.oracle.com/javaee/6/api/javax/jms/ObjectMessage.html]>`_ =
> `object`, `StreamMessage
> <[http://docs.oracle.com/javaee/6/api/javax/jms/StreamMessage.html]>`_ =
> `stream` and `TextMessage
> <[http://docs.oracle.com/javaee/6/api/javax/jms/TextMessage.html]>`_ =
> `text`. The corresponding field will be populated with the values from the
> respective Message subinterface.","field":"messageType"}
> ,
> {"type":"int64","optional":false,"doc":"Data from the `getJMSTimestamp()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getJMSTimestamp(])>`_
> method.","field":"timestamp"}
> ,
> {"type":"int32","optional":false,"doc":"This field stores the value of
> `Message.getJMSDeliveryMode()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getJMSDeliveryMode(])>`_.","field":"deliveryMode"}
> ,
> {"type":"string","optional":true,"doc":"This field stores the value of
> `Message.getJMSCorrelationID()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getJMSCorrelationID(])>`_.","field":"correlationID"}
> ,{"type":"struct","fields":[
> {"type":"string","optional":false,"doc":"The type of JMS Destination, and
> either ``queue`` or ``topic``.","field":"destinationType"}
> ,
> {"type":"string","optional":false,"doc":"The name of the destination. This
> will be the value of `Queue.getQueueName()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Queue.html#getQueueName(])>`_
> or `Topic.getTopicName()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Topic.html#getTopicName(])>`_.","field":"name"}
> ],"optional":true,"name":"io.confluent.connect.jms.Destination","doc":"This
> schema is used to represent a JMS Destination, and is either `queue
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Queue.html]>`_ or `topic
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Topic.html]>`_.","field":"replyTo"},{"type":"struct","fields":[
> {"type":"string","optional":false,"doc":"The type of JMS Destination, and
> either ``queue`` or ``topic``.","field":"destinationType"}
> ,
> {"type":"string","optional":false,"doc":"The name of the destination. This
> will be the value of `Queue.getQueueName()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Queue.html#getQueueName(])>`_
> or `Topic.getTopicName()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Topic.html#getTopicName(])>`_.","field":"name"}
> ],"optional":true,"name":"io.confluent.connect.jms.Destination","doc":"This
> schema is used to represent a JMS Destination, and is either `queue
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Queue.html]>`_ or `topic
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Topic.html]>`_.","field":"destination"},
> {"type":"boolean","optional":false,"doc":"This field stores the value of
> `Message.getJMSRedelivered()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getJMSRedelivered(])>`_.","field":"redelivered"}
> ,
> {"type":"string","optional":true,"doc":"This field stores the value of
> `Message.getJMSType()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getJMSType(])>`_.","field":"type"}
> ,
> {"type":"int64","optional":false,"doc":"This field stores the value of
> `Message.getJMSExpiration()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getJMSExpiration(])>`_.","field":"expiration"}
> ,
> {"type":"int32","optional":false,"doc":"This field stores the value of
> `Message.getJMSPriority()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getJMSPriority(])>`_.","field":"priority"}
> ,{"type":"map","keys":
> {"type":"string","optional":false}
> ,"values":{"type":"struct","fields":[
> {"type":"string","optional":false,"doc":"The java type of the property on the
> Message. One of ``boolean``, ``byte``, ``short``, ``integer``, ``long``,
> ``float``, ``double``, or ``string``.","field":"propertyType"}
> ,\{"type":"boolean","optional":true,"doc":"The value stored as a boolean.
> Null unless ``propertyType`` is set to
> ``boolean``.","field":"boolean"},\{"type":"int8","optional":true,"doc":"The
> value stored as a byte. Null unless ``propertyType`` is set to
> ``byte``.","field":"byte"},\{"type":"int16","optional":true,"doc":"The value
> stored as a short. Null unless ``propertyType`` is set to
> ``short``.","field":"short"},\{"type":"int32","optional":true,"doc":"The
> value stored as a integer. Null unless ``propertyType`` is set to
> ``integer``.","field":"integer"},\{"type":"int64","optional":true,"doc":"The
> value stored as a long. Null unless ``propertyType`` is set to
> ``long``.","field":"long"},\{"type":"float","optional":true,"doc":"The value
> stored as a float. Null unless ``propertyType`` is set to
> ``float``.","field":"float"},\{"type":"double","optional":true,"doc":"The
> value stored as a double. Null unless ``propertyType`` is set to
> ``double``.","field":"double"},\{"type":"string","optional":true,"doc":"The
> value stored as a string. Null unless ``propertyType`` is set to
> ``string``.","field":"string"}],"optional":false,"name":"io.confluent.connect.jms.PropertyValue","doc":"This
> schema is used to store the data that is found in the properties of the
> message. To ensure that the proper type mappings are preserved field
> ``propertyType`` stores the value type for the field. The corresponding field
> in the schema will contain the data for the property. This ensures that the
> data is retrievable as the type returned by `Message.getObjectProperty()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getObjectProperty(java.lang.String])>`_."},"optional":false,"doc":"This
> field stores the data from all of the properties for the Message indexed by
> their propertyName.","field":"properties"},
> {"type":"bytes","optional":true,"doc":"This field stores the value from
> `BytesMessage.html.readBytes(byte[])
> <[http://docs.oracle.com/javaee/6/api/javax/jms/BytesMessage.html#readBytes(byte[]])>`_.","field":"bytes"}
> ,{"type":"map","keys":
> {"type":"string","optional":false}
> ,"values":{"type":"struct","fields":[
> {"type":"string","optional":false,"doc":"The java type of the property on the
> Message. One of ``boolean``, ``byte``, ``short``, ``integer``, ``long``,
> ``float``, ``double``, or ``string``.","field":"propertyType"}
> ,\{"type":"boolean","optional":true,"doc":"The value stored as a boolean.
> Null unless ``propertyType`` is set to
> ``boolean``.","field":"boolean"},\{"type":"int8","optional":true,"doc":"The
> value stored as a byte. Null unless ``propertyType`` is set to
> ``byte``.","field":"byte"},\{"type":"int16","optional":true,"doc":"The value
> stored as a short. Null unless ``propertyType`` is set to
> ``short``.","field":"short"},\{"type":"int32","optional":true,"doc":"The
> value stored as a integer. Null unless ``propertyType`` is set to
> ``integer``.","field":"integer"},\{"type":"int64","optional":true,"doc":"The
> value stored as a long. Null unless ``propertyType`` is set to
> ``long``.","field":"long"},\{"type":"float","optional":true,"doc":"The value
> stored as a float. Null unless ``propertyType`` is set to
> ``float``.","field":"float"},\{"type":"double","optional":true,"doc":"The
> value stored as a double. Null unless ``propertyType`` is set to
> ``double``.","field":"double"},\{"type":"string","optional":true,"doc":"The
> value stored as a string. Null unless ``propertyType`` is set to
> ``string``.","field":"string"}],"optional":false,"name":"io.confluent.connect.jms.PropertyValue","doc":"This
> schema is used to store the data that is found in the properties of the
> message. To ensure that the proper type mappings are preserved field
> ``propertyType`` stores the value type for the field. The corresponding field
> in the schema will contain the data for the property. This ensures that the
> data is retrievable as the type returned by `Message.getObjectProperty()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#getObjectProperty(java.lang.String])>`_."},"optional":true,"doc":"This
> field stores the data from all of the map entries returned from
> `MapMessage.getMapNames()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/MapMessage.html#getMapNames(])>`_
> for the Message indexed by their key.","field":"map"},
> {"type":"string","optional":true,"doc":"This field stores the value from
> `TextMessage.html.getText()
> <[http://docs.oracle.com/javaee/6/api/javax/jms/TextMessage.html#getText(])>`_.","field":"text"}
> ],"optional":false,"name":"io.confluent.connect.jms.Value","doc":"This schema
> is used to store the value of the JMS
>
> message."},"payload":{"messageID":"ID:COPTW_B_SIT.1D815BC7447CE3F:7","messageType":"text","timestamp":1540553873770,"deliveryMode":2,"correlationID":null,"replyTo":null,"destination":
> {"destinationType":"queue","name":"test.queue"}
> ,"redelivered":false,"type":null,"expiration":0,"priority":4,"properties":{},"bytes":null,"map":null,"text":"{\n
> \"Record\":
> {\n \"Data\":\"COPS TEST76004\"\n }
> \n}"}}
>
> Connector JSOn
> {
> "name": "jms_cops_test822_8",
> "config":
> { "connector.class": "io.confluent.connect.jms.JmsSourceConnector",
> "tasks.max":"1", "kafka.topic":"test_cops",
> "jms.destination.name":"test.queue",
> "connection.factory.name":"xxx.gcg.tw.COPTW_B_SIT.QueueCF",
> "jms.destination.type":"queue",
> "java.naming.factory.initial":"com.tibco.tibjms.naming.TibjmsInitialContextFactory",
> "java.naming.provider.url":"tcp://xxxx.xxx.nsroot.net:4522",
> "java.naming.security.principal":"ec_kfk_dev",
> "java.naming.security.credentials":"password",
> key.converter.schemas.enable=false
> internal.key.converter.schemas.enable=false
> internal.value.converter.schemas.enable=false
> "value.converter":"org.apache.kafka.connect.json.JsonConverter",
> "key.converter":"org.apache.kafka.connect.json.JsonConverter",
> "confluent.topic.bootstrap.servers":"xxxxx.xxx.xxx:9091,1xxxxx.xxx.xxx:9091,xxxxx.xxx.xxx:9091",
> "confluent.topic.ssl.truststore.location":"/kfkapps/xxxx/xxx.cert.jks",
> "confluent.topic.ssl.truststore.password":"changeit",
> "confluent.topic.ssl.keystore.location":"/kfkapps/xxxx/xxx.cert.jks",
> "confluent.topic.ssl.keystore.password":"password",
> "confluent.topic.ssl.key.password":"password",
> "confluent.topic.security.protocol":"SSL" }
> }
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)