UNPKG

apiconnect-explorer

Version:

- [Getting Started](#getting-started) - [Configuration](#configuration) * [Required](#required) * [Optional](#optional) - [Usage in React](#usage-in-react) - [Usage outside of React](#usage-outside-of-react) - [Detailed description of options](#detail

1 lines 5.91 kB
"use strict";var a=b(require("handlebars"));Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;function b(a){return a&&a.__esModule?a:{default:a}}var c=exports["default"]=a["default"].compile("import org.apache.kafka.clients.consumer.ConsumerRecord;\nimport org.apache.kafka.clients.consumer.ConsumerRecords;\nimport org.apache.kafka.clients.consumer.KafkaConsumer;\nimport org.apache.kafka.clients.CommonClientConfigs;\nimport java.time.Duration;\nimport java.util.Collections;\nimport java.util.Properties;\n{{#if schema.isAvro}}\nimport org.apache.avro.Schema;\nimport org.apache.avro.generic.GenericDatumReader;\nimport org.apache.avro.generic.GenericRecord;\nimport java.io.File;\n {{#unless schema.isPrimitive}}\nimport java.io.ByteArrayInputStream;\nimport org.apache.avro.io.Decoder;\nimport org.apache.avro.io.DecoderFactory;\n {{/unless}}\n{{else}}\n {{#unless schema.isPrimitive}}\nimport com.fasterxml.jackson.databind.JsonNode;\nimport com.fasterxml.jackson.databind.ObjectMapper;\n {{/unless}}\n{{/if}}\n{{#if securityDetails.SASL}}\nimport org.apache.kafka.common.config.SaslConfigs;\n{{/if}}\n{{#if securityDetails.MUTUAL_TLS}}\nimport org.apache.kafka.common.config.SslConfigs;\n{{else}}\n {{#if securityDetails.SSL}}\nimport org.apache.kafka.common.config.SslConfigs;\n {{/if}}\n{{/if}}\n\npublic class SampleApplication {\n public static final void main(String args[]) { \n {{#if schema.isAvro}}\n Schema.Parser schemaDefinitionParser = new Schema.Parser();\n Schema schema = null;\n try {\n schema = schemaDefinitionParser.parse(new File(\"{{schema.fileName}}\"));\n } catch (Exception e) {\n e.printStackTrace();\n System.exit(1);\n }\n\n GenericDatumReader<GenericRecord> reader = new GenericDatumReader<GenericRecord>(schema);\n\n {{/if}}\n Properties props = new Properties();\n\n props.put(\"bootstrap.servers\", \"{{{bootstrapServers}}}\");\n {{#if kafkaKey.kafkaKeyHelp}}\n\n // {{kafkaKey.kafkaKeyHelp}}\n {{/if}}\n props.put(\"key.deserializer\", \"{{kafkaKey.deserializerClass}}\");\n props.put(\"value.deserializer\", \"{{schema.deserializerClass}}\");\n\n {{#if operationBindings.comment}}\n // {{operationBindings.comment}}\n {{/if}}\n {{#if applicationDetails.groupId}}\n props.put(\"group.id\", \"{{{applicationDetails.groupId}}}\");\n {{else}}\n props.put(\"group.id\", \"<Group Id>\");\n {{/if}}\n {{#if operationBindings.clientId}}\n props.put(\"client.id\", \"{{{operationBindings.clientId}}}\");\n {{else}}\n {{#if enforced}}\n props.put(\"client.id\", \"<Client Id>\");\n {{/if}}\n {{/if}}\n\n props.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, \"{{securityDetails.securityProtocol}}\");\n\n {{#if securityDetails.SASL}}\n props.put(SaslConfigs.SASL_MECHANISM, \"{{securityDetails.saslMechanism}}\");\n props.put(SaslConfigs.SASL_JAAS_CONFIG, \n \"{{securityDetails.saslJaasModule}} required \" +\n \"username=\\\"{{securityDetails.saslUsername}}\\\" \" + \n \"password=\\\"<SASL_password>\\\";\");\n {{/if}}\n {{#if securityDetails.MUTUAL_TLS}}\n props.put(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, \"<path to keystore>\");\n props.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, \"<keystore password>\");\n props.put(SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, \"<keystore type>\");\n\n {{#if securityDetails.truststoreWarning}}\n // {{securityDetails.truststoreWarning}}\n {{/if}}\n props.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, \"<path to truststore>\");\n props.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, \"<truststore password>\");\n props.put(SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, \"<truststore type>\");\n {{else}}\n {{#if securityDetails.SSL}}\n {{#if securityDetails.truststoreWarning}}\n // {{securityDetails.truststoreWarning}}\n {{/if}}\n props.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, \"<path to truststore>\");\n props.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, \"<truststore password>\");\n props.put(SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, \"<truststore type>\");\n {{/if}}\n {{/if}}\n\n KafkaConsumer consumer = new KafkaConsumer<{{kafkaKey.deserializerType}}, {{schema.deserializerType}}>(props);\n consumer.subscribe(Collections.singletonList(\"{{channel}}\"));\n try {\n while(true) {\n ConsumerRecords<{{kafkaKey.deserializerType}}, {{schema.deserializerType}}> records = consumer.poll(Duration.ofSeconds(1));\n for (ConsumerRecord<{{kafkaKey.deserializerType}}, {{schema.deserializerType}}> record : records) {\n {{schema.deserializerType}} value = record.value();\n {{kafkaKey.deserializerType}} key = record.key();\n {{#unless schema.isPrimitive}}\n {{#if schema.isAvro}}\n ByteArrayInputStream bais = new ByteArrayInputStream(value);\n {{#if encodingType.JSONEncoded}}\n Decoder decoder = DecoderFactory.get().jsonDecoder(schema, bais);\n {{else}}\n Decoder decoder = DecoderFactory.get().binaryDecoder(bais, null);\n {{/if}}\n GenericRecord genericRecord;\n genericRecord = reader.read(null, decoder);\n // {{schema.doSomething}}\n Object somefield = genericRecord.get(\"field-from-your-schema\");\n {{else}}\n ObjectMapper om = new ObjectMapper();\n JsonNode jsonNode = om.readTree(value);\n // {{schema.doSomething}}\n Object somefield = jsonNode.get(\"field-from-your-json\");\n {{/if}}\n {{else}}\n // {{schema.doSomething}}\n {{/unless}}\n }\n }\n } catch (Exception e) {\n e.printStackTrace();\n consumer.close();\n System.exit(1);\n } \n }\n}");