In the course of addressing #29931 and #21415, it turns out that LazyConnectionDataSourceProxy
can easily provide special support for a read-only DataSource in addition to the regular target DataSource, avoiding the overhead of switching the Connection's read-only flag at the beginning and end of every transaction. This can also serve as a replacement for a dedicated routing DataSource based on the read-only status of the transaction, since in many scenarios, lazy connection behavior is very desirable for read-only access as well.