[ 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)