I had a look at the spec again. 125.5.1.20 public ConnectionPoolDataSource createConnectionPoolDataSource( Properties props ) throws SQLException props - The properties used to configure the ConnectionPoolDataSource. null indicates no properties. If the property cannot be set on the ConnectionPoolDataSource being created then a SQLException must be thrown. (for the other data sources the text is the same)
This could be interpreted in a way, that for unknown properties an exception should be thrown. But if I understand you right, its essentially up to me, how I should handle it. I'm just not that happy that there will be different ways how the specific drivers will work with the properties. best regards Juergen On 14.04.2014 16:28, Peter Kriens wrote: > This is an interesting question I ran into recently as well. Before that > point, I always assumed we used properties so you could add additional > properties and ignore the ones you did not recognize. This has worked well > for OSGi so far. However, when working in this area I noticed some > implementers whine when they see properties they do not recognize, and I > could also understand that rationale. > > So I think you should ignore any properties you do not recognize since this > has been the OSGi way from the beginning. However, since the user is fully > aware of what he is configuring I think there is no real problem if you take > another approach. > > In short, as far as I know this question was never considered because it > seemed obvious to ignore unrecognized parameters :-) > > Kind regards, > > Peter Kriens > > > On 12 apr. 2014, at 00:20, Jürgen Rose <[email protected]> wrote: > >> Hi, >> >> I'm Jürgen, new on this list and I'm currently osgifying the postgresql >> jdbc driver (https://github.com/pgjdbc/pgjdbc/issues/71). >> >> I have some questions regarding the DataSourceFactory. There are a bunch >> of predefined property names defined like JDBC_DATABASE_NAME which is >> databaseName, JDBC_PORT_NUMBER is portNumber, and so on. >> >> As far as I understand these are basically the Properties which are >> defined as required/optional properties in the JDBC spec. >> >> What is the policy regarding additional properties, should they just be >> passed on as well? What about unsupported properties, should they just >> be ignored, or lead to an exception? >> >> Whan I look at the h2 code it is a bit of a mix: >> http://grepcode.com/file_/repo1.maven.org/maven2/com.h2database/h2/1.3.174/org/h2/util/OsgiDataSourceFactory.java/?v=source >> >> The implementation of eclipselabs for postgres uses introspection to set >> the properties: >> https://github.com/BryanHunt/dbaccess/blob/master/bundles/org.eclipselabs.dbaccess.postgresql/src/org/eclipselabs/dbaccess/postgresql/AbstractDataSourceFactory.java >> and also throws an error if a property doesn't exist. >> >> What is the canonical approach here? >> >> best regards >> Jürgen >> _______________________________________________ >> OSGi Developer Mail List >> [email protected] >> https://mail.osgi.org/mailman/listinfo/osgi-dev > _______________________________________________ > OSGi Developer Mail List > [email protected] > https://mail.osgi.org/mailman/listinfo/osgi-dev _______________________________________________ OSGi Developer Mail List [email protected] https://mail.osgi.org/mailman/listinfo/osgi-dev
