Thank you Stephan and Kim, that solved the problem.
Just to make sure, is using a MapFunction as in the following code any
different? i.e. does it initialize the objectMapper for every element in
the stream?
.map(new MapFunction<String, Request>() {
private ObjectMapper objectMapper = new ObjectMapper();
@Override
public Request map(String value) throws Exception {
return objectMapper.readValue(value, Request.class);
}
})
On Fri, Jul 22, 2016 at 5:20 PM, Dong iL, Kim <[email protected]> wrote:
> oops. stephan already answered.
> sorry. T^T
>
> On Sat, Jul 23, 2016 at 12:16 AM, Dong iL, Kim <[email protected]> wrote:
>
>> is open method signature right? or typo?
>>
>> void open(Configuration parameters) throws Exception;
>>
>> On Sat, Jul 23, 2016 at 12:09 AM, Stephan Ewen <[email protected]> wrote:
>>
>>> I think you overrode the open method with the wrong signature. The right
>>> signature would be "open(Configuration cfg) {...}". You probably overlooked
>>> this because you missed the "@Override" annotation.
>>>
>>> On Fri, Jul 22, 2016 at 4:49 PM, Yassin Marzouki <[email protected]>
>>> wrote:
>>>
>>>> Hi everyone,
>>>>
>>>> I want to convert a stream of json strings to POJOs using Jackson, so I
>>>> did the following:
>>>>
>>>> .map(new RichMapFunction<String, Request>() {
>>>>
>>>> private ObjectMapper objectMapper;
>>>>
>>>> public void open() {
>>>> objectMapper = new ObjectMapper();
>>>> }
>>>>
>>>> @Override
>>>> public Request map(String value) throws Exception {
>>>> return objectMapper.readValue(value, Request.class);
>>>> }
>>>> })
>>>>
>>>> But this code gave me a NullPointerException because the objectMapper
>>>> was not initialized successfully.
>>>>
>>>> 1. Isn't the open() method supposed to be called before map() and
>>>> initialize objectMapper?
>>>> 2. I figured out that initializing objectMapper before the open()
>>>> method resolves the problem, and that it works also with a simple
>>>> MapFunction. In that case, is there an advantage for using a
>>>> RichMapFunction?
>>>>
>>>> Best,
>>>> Yassine
>>>>
>>>
>>>
>>
>>
>> --
>> <A HREF="http://www.kiva.org" TARGET="_top">
>> <IMG SRC="http://www.kiva.org/images/bannerlong.png" WIDTH="460"
>> HEIGHT="60" ALT="Kiva - loans that change lives" BORDER="0"
>> ALIGN="BOTTOM"></A>
>>
>
>
>
> --
> <A HREF="http://www.kiva.org" TARGET="_top">
> <IMG SRC="http://www.kiva.org/images/bannerlong.png" WIDTH="460"
> HEIGHT="60" ALT="Kiva - loans that change lives" BORDER="0"
> ALIGN="BOTTOM"></A>
>