Данные Spring с Elasticsearch 6.4.2 не работают для свойств hashmap Java - PullRequest
0 голосов
/ 05 июля 2019

Отображение java-объекта на документasticSearch с использованием @ Document

@ Document (createIndex = true, indexName = "djacency", type = "djacency") открытый класс djacencyDoc {

@Field(type = FieldType.Object)
    private Agent agent1 = null;
}

Значения класса, установленные перед сохранением:

класс Agent {prop6: 480 prop7: class FAttributes7 {attr1Name: [class FAttributes {dscp: 12 txInterval: 100 padding: 425}, класс FAttributes {dscp: 14 txInterval: 100 padding: 425}]} listIps: класс RProperties {attProperties: {PRASANTA3 = класс AttProperty {Ip: 192.168.57.39 Агент: PRASANTA1 dstId: PRASANTA2}}} iIp: 192.168.57.53 ip1: 255.255.255.78 ip4: null i1: 192: тестирование: 192.1868: тестированиеklan: 0 Приоритет: 0 Id: p1} ntinuity: null voip: null netqr: null}

 Here "listIps" value is "RProperties" which is a Java Hashmap ,Before save it has some value but While saving into elasticsearch RProperties value is saved as null.

Значения класса, полученные после сохранения:

Agent: class Agent2 {
        prop1: true
        prop2: 50000
        prop3: 50000
        prop4: 300
        prop5: null
        prop6: 480
        prop7: class Agent3 {
            attr1Name : [class FAttributes {
                dscp: 12
                txInterval: 100
                padding: 425
            }, class FAttributes {
                dscp: 14
                txInterval: 100
                padding: 425
            }]
        }
        listIps: class RProperties {
            RProperties: null
        }
        iIp: 192.168.57.53
        sunet: 255.255.255.78
        gway: 192.168.57.187
        testId: null
        van: 0
        vriority: 0
        phyId: p1
    }
    sContinuity: null
    ip: null
    nQuality: null
}

Why for hashmap properties  "RProperties" elasticseach saves null ? The above document is saving correctly when i am using postman or curl, But from my SpringBoot Application using Spring DATA it is not working .

1 Ответ

0 голосов
/ 08 июля 2019
listIps:class RProperties{  
   attProperties:{  
      PRASANTA3=class AttProperty{  
         Ip:192.168.57.39;
         Agent:PRASANTA1 ;
         dstId:PRASANTA2
      }
   }
}

The above code should be like below format,

listIps:class RProperties extends HashMap<String,AttProperty>{       
      "PRASANTA3"=class AttProperty{  
         Ip:192.168.57.39;
         Agent:PRASANTA1 ;
         dstId:PRASANTA2
      }
}


Here RProperties class should extends from Hashmap , instead of RProperties contains one more class (AttProperties) which again contains the hashmap properties.

Here RProperties is a HashMap which contains key("PRASANTA3"),value(AttProperty class values) .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...