Hi,
when I look at that code:
public void setUrl(String url) throws SQLException {
Properties p = org.postgresql.Driver.parseURL(url, null);
serverName = p.getProperty("PGHOST", "localhost");
portNumber = Integer.parseInt(p.getProperty("PGPORT", "0"));
databaseName = p.getProperty("PGDBNAME");
loginTimeout = Integer.parseInt(p.getProperty("loginTimeout",
"0"));
socketTimeout = Integer.parseInt(p.getProperty("socketTimeout",
"0"));
prepareThreshold =
Integer.parseInt(p.getProperty("prepareThreshold", "5"));
unknownLength = Integer.parseInt(p.getProperty("unknownLength",
"0"));
logLevel = Integer.parseInt(p.getProperty("loglevel", "0"));
protocolVersion =
Integer.parseInt(p.getProperty("protocolVersion", "0"));
ssl = Boolean.parseBoolean(p.getProperty("ssl"));
sslfactory = p.getProperty("sslfactory");
receiveBufferSize =
Integer.parseInt(p.getProperty("receiveBufferSize", "-1"));
sendBufferSize =
Integer.parseInt(p.getProperty("sendBufferSize", "-1"));
tcpKeepAlive = Boolean.parseBoolean(p.getProperty("tcpKeepAlive"));
compatible = p.getProperty("compatible");
applicationName = p.getProperty("ApplicationName");
stringType = p.getProperty("stringtype");
binaryTransfer =
Boolean.parseBoolean(p.getProperty("binaryTransfer"));
disableColumnSanitiser =
Boolean.parseBoolean(p.getProperty("disableColumnSanitiser"));
}
I see that all properties, except loglevel and stringtype conform to the
usual property conventions. Any reason behind this, or is it just
historically grown that way?
Its just, when I had a look at some other DataSourceFactoriy
implementations, I saw at least one approach where the properties get
set through reflection. Which would fail in these two cases.
Jürgen