0

I have json publishing to one of my kafka topic:

{
 "hash": "ABC",
 "height": 107900,
 "time": 1297626305,
 "txs": [
    {
        "hash": "XYZ1",
        "index": 0,
        "version": 1,
        "inputs": [
            {
                "prevout": {
                    "hash": "IN1",
                    "index": 4294967295
                },
                "script": "045285021b0173",
                "address": null
            }
        ],
        "outputs": [
            {
                "value": 5001000000,
                "address": "OUT1"
            }
        ],
        "locktime": 0
    },
    {
        "hash": "XYZ2",
        "index": 1,
        "version": 1,
        "inputs": [
            {
                "prevout": {
                    "hash": "IN12",
                    "index": 1
                },
                "coin": {
                    "version": 1,
                    "height": 107899,
                    "value": 34645000000,
                    "address": "IN2",
                    "coinbase": false
                }
            }
        ],
        "outputs": [
            {
                "value": 6000000,
                "address": "OUT2"
            },
            {
                "value": 70000000,
                "address": "OUT4"
            }
        ],
        "locktime": 0
    }
 ]
}

I want to get result like :

 {
  address: IN2
  result : {
     output : OUT2,
     value: 6000000
  },
  result : {
     output : OUT4,
     value: 70000000
  },

I am trying to use the same approach given in post Parsing JSON data using Apache Kafka Streaming but getting the below error :

I am trying with creating different POJOs and trying with the solution provided in the abover referenced answer. but getting error :

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/kafka/common/serialization/Deserializer
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
    at java.lang.Class.getMethod0(Class.java:3018)
    at java.lang.Class.getMethod(Class.java:1784)
    at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
    Caused by: java.lang.ClassNotFoundException: 
    org.apache.kafka.common.serialization.Deserializer
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 7 more

I tried with adding this class to classpath while running the java -cp But, as soon as I add for this jar error appears for some other jar. And this goes on.. :( Please give solutions if any.

Thanks in advance.

A.P
  • 53
  • 3
  • 12
  • what Serializer/Deserializer code have you tried? – Nishu Tayal Feb 19 '19 at 09:02
  • the one is given in reference link with dependencies : org.apache.kafka kafka-streams 1.0.0 org.apache.kafka kafka-clients 1.0.0 – A.P Feb 19 '19 at 10:36
  • The error message seems to be truncated? `Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/kafka/common/serialization/Deserializer` ? Or do you specify `Deserializer` as class name? That would explain the issue. – Matthias J. Sax Feb 19 '19 at 18:42
  • No, its not a class name and this is the full error I am getting – A.P Feb 20 '19 at 07:38

0 Answers0