Set async = true in your cache loader configuration?
Also, maybe you should try asynchronous replication rather than persisting to a JDBC cache loader.
Yes. I have set async = true but that doesn't prevent errors in the asynchronous cache loader from throwing exceptions. If the database goes down, so does the local cache. However, I was able to fix my problem by subclassing JDBCCacheLoader and catching the exceptions thrown by its public methods. This allows the local cache to remain functional even if the database becomes unavailable.
And thanks for the asynchronous replication suggestion. That may be worth a try as well.