: You're not only giving up the ability to monitor things, you're also giving up : the ability to detect errors. All exceptions that get thrown by the internals : of ConcurrentUpdateSolrServer are swallowed, your code will never know they : happened. The client log (slf4j with whatever binding & config you chose) may : have such errors logged, but they are completely undetectable by the code.
This isn't the first time i've seen someone make this claim, but i really don't understand it -- ConcurrentUpdateSolrServer has a handleError() method that gets called when an error happens during the async processing. By default it just logs the exception, if you want to do something more interesting with it in your code, just subclass ConcurrentUpdateSolrServer and override that method -- that's the entire point of that method. The bigger issue is wether your client cod could reasonable do anything if/when that method is called -- because it's all async, you probably can't do much more then log/report it in your own custom way instead of just using org.slf4j.Logger. -Hoss