Well... so much for Jackson making my life easy. Jackson says it "supports"
JAXB annotations but that must be only for the simplest cases. Jackson does
not work with the JAXB annotations I used on Log4jLogEvents. This suppose
this is not surprising. Back to the drawing board...

Gary


On Tue, Apr 1, 2014 at 12:05 PM, Gary Gregory <[email protected]>wrote:

> All good ideas, thank you. The JSON API I know best is GSON, which let's
> you listen to objects opening and closing. Maybe Jackson has something like
> that... I'll have to dig in.
>
> Gary
>
>
> On Tue, Apr 1, 2014 at 11:14 AM, Ralph Goers 
> <[email protected]>wrote:
>
>> So you are hacking the stream before passing it to the unmarshalling
>> framework?  Then you will have to keep track of the ‘{‘ and ‘}’ characters
>> yourself, either with the stack Matt suggests or as a counter.
>>
>> Ralph
>>
>> On Apr 1, 2014, at 8:07 AM, Matt Sicker <[email protected]> wrote:
>>
>> Keep a stack of {'s and pop them when you get a }. Like a deterministic
>> pushdown automaton.
>>
>>
>> On 1 April 2014 07:45, Gary Gregory <[email protected]> wrote:
>>
>>> I have a local patch for LOG4J2-583 to have the Log4j TCP and UDP socket
>>> servers unmarhsal XML log events.
>>>
>>> This is "easy" for XML because when you have a stream of bytes and you
>>> know its encoding, you can look for the end of an event by looking for its
>>> closing tag: </Event>. Right now, my XML processing code, looks for the end
>>> tag and feeds JAXB a substring from the buffer. Easy. Done.
>>>
>>> Not so much with JSON. You cannot use the same hack, there is no end
>>> tag. All you have is an "end of object" closing bracket "}" which looks the
>>> same as the closing marker for all other objects.
>>>
>>> So it looks like I would need to hook in a little deeper into a JSON
>>> unmarshalling framework to extract each JSON log events as I see them.
>>>
>>> Any thoughts here?
>>>
>>> Gary
>>>
>>> --
>>> E-Mail: [email protected] | [email protected]
>>> Java Persistence with Hibernate, Second 
>>> Edition<http://www.manning.com/bauer3/>
>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>> Spring Batch in Action <http://www.manning.com/templier/>
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>>
>>
>>
>>
>> --
>> Matt Sicker <[email protected]>
>>
>>
>>
>
>
> --
> E-Mail: [email protected] | [email protected]
> Java Persistence with Hibernate, Second 
> Edition<http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>



-- 
E-Mail: [email protected] | [email protected]
Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to