Pierre van Rooden wrote:
I was planning to close the call, I didn't get around to it.
In general, the suggestion is that a freestanding datasource implementation is still required. In that sense, the call did not pass. However, people do want the code cleaned up. I looked into this and I think it can be drastically simplified, even if we do not use a 3rd party jar.

How good are you in concurrent programming? Looking at the cvs history of MultiPool.java we all are not very good at it. And if you are going to fix connection pooling then you should also take a look at

    protected Connection getActiveConnection() throws SQLException {
        if (activeConnection != null) {
            if (factory.supportsTransactions() && inTransaction) {
                return activeConnection;
            } else {
                releaseActiveConnection();
            }
        }
        activeConnection = dataSource.getConnection();
        // set autocommit to true
        activeConnection.setAutoCommit(true);
        return activeConnection;
    }
I saw it last week and don't have a clue yet how to fix it the right way. Fortunately, transaction support is turned off for all databases.
Maybe I will fix it when I add view support.

Another improvement will be to add the datasource documentation to mmbaseroot.xml.

Sounds a good idea.

Nico
_______________________________________________
Developers mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/developers

Reply via email to