【问题标题】:How can I get field types and values of java object?如何获取 java 对象的字段类型和值?
【发布时间】:2020-05-14 22:32:07
【问题描述】:

也许有人可以建议我如何揭示无法访问初始 java 类(用于创建对象)的 ignite 存储对象的结构?就我而言,Ignite 存储的对象只是一个 java 对象理解。 “结构”是指字段名称和类型。 通用目的是为 ignite 存储的对象生成 avro 模式。

解决如下: 我的最终解决方案现在如下所示:

private void binObjFieldsParsing(BinaryObject o){
        Map<String, String> fieldNamesNTypes = new LinkedHashMap<String, String>();
        for (String field: o.type().fieldNames()){
            fieldNamesNTypes.put(field, o.type().fieldTypeName(field));
        }

        for (Map.Entry<String, String> fieldNameNType: fieldNamesNTypes .entrySet()){
            System.out.println("Field name: " + fieldNameNType.getKey() + " Field type: " + fieldNameNType.getValue());
        }
    }

【问题讨论】:

    标签: java serialization avro ignite


    【解决方案1】:

    你应该使用binary objects API

    简而言之:

    BinaryObject val = (BinaryObject)cache.withKeepBinary().get(key);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-12
      相关资源
      最近更新 更多