Hi All,

I can't believe it, but through a convoluted use-case, I actually need an
in-memory list appender, very much like our test-only ListAppender.

The requirement is as follows.

We have a JDBC driver and matching proprietary database that specializes in
data virtualization of mainframe resources like DB2, VSAM, IMS, and all
sorts of non-SQL data sources (
http://www.rocketsoftware.com/products/rocket-data/rocket-data-virtualization
)

The high level requirement is to merge the driver log into the server's log
for full-end to end tractability and debugging.

When the driver is running on the z/OS mainframe, it can be configured with
a z/OS specific Appender that can talk to the server log module directly.

When the driver is running elsewhere, it can talk to the database via a
Syslog socket Appender. This requires more set up on the server side and
for the server to do special magic to know how the incoming log events
match up with server operations. Tricky.

The customer should also be able to configure the driver such that anytime
the driver communicates to the database, it sends along whatever log events
have accumulated since the last client-server roundtrip. This allows the
server to match exactly the connection and operations the client performed
with the server's own logging.

In order to do that I need to buffer all log events in an Appender and when
it's time, I need to get the list of events and reset the appender to a new
empty list so events can keep accumulating.

My proposal is to either turn our ListAppender into such an appender. For
sanity, the appender could be configured with various sizing policies:

- open: the list grows unbounded
- closed: the list grows to a given size and _new_ events are dropped on
the floor beyond that
- latest: the list grows to a given size and _old_ events are dropped on
the floor beyond that

Thoughts?

Gary

-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
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