Я не понимаю, что не так, но когда я подключаю Flux к цепочке, я получаю сообщение об ошибке.
У меня есть фабричный класс для MyObj
@Service
public class MyObjFactory {
public MyObj create(JSONObject myObj) {
return null;
}
}
Хотя этот код не 'выдает ошибку
@Autowired
private MyObjFactory myObjFactory;
private Flux<MyObj> parseMyObj() throws IOException, ParseException {
JSONArray jsonArray = (JSONArray) new JSONParser().parse(new FileReader("c:\\myobj.json"));
Flux<Object> f1 = Flux.fromIterable(jsonArray);
Flux<JSONObject> f2 = f1.cast(JSONObject.class);
Flux<Vlb> f3 = f2.map(myObjFactory::create);
return f3;
}
, которую вызывает код:
java: несовместимые типы: недопустимая ссылка на метод несовместимые типы: java.lang.Object невозможно преобразовать в org.json.simple.JSONObject
@Autowired
private MyObjFactory myObjFactory;
private Flux<MyObj> parseMyObj() throws IOException, ParseException {
JSONArray jsonArray = (JSONArray) new JSONParser().parse(new FileReader("c:\\myobj.json"));
return Flux.fromIterable(jsonArray)
.cast(JSONObject.class)
.map(myObjFactory::create);
}