While working on database appenders, I figured that the best place to "connect" 
is in Appender#start() and, likewise, the best place to "disconnect" is in 
Appender#stop(). However, then I noticed that AbstractAppender defines a 
close() method with the JavaDoc comment "Close the stream associated with the 
Appender." This could be read "Close the database connection associated with 
the Appender."

So, with that said, where should I close the connection? In stop() or in 
close()? The AbstractOutputStreamAppender closes the stream in stop() (which is 
what I originally expected) and never overrides close(). Since close() is not 
part of the Appender or Lifecycle interface, will it ever even be called? It's 
not called in the default start() implementation, and it's not overridden in 
any implementations.

These two are a little confusing. I recommend either JavaDoc clarification 
explaining the difference between the two, or simply removing close() (makes 
more sense to me).

Nick

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to