Hi, thanks for the detailed description, hope you don't mind to open an issue for this[1]. In case you don't have an account yet, just give me a ping. And since you already know so much about the issue, maybe you want to start to participate? Just open a pull-request with a fix for it, and a regression test :-) After you filed the issue in our Jira.
thanks, Achim [1] - https://ops4j1.jira.com/projects/PAXJDBC 2017-02-19 18:33 GMT+01:00 M.K. <[email protected]>: > > Class JTDSDataSourceFactory > <https://github.com/ops4j/org.ops4j.pax.jdbc/blob/master/pax-jdbc-jtds/src/main/java/org/ops4j/pax/jdbc/jtds/impl/JTDSDataSourceFactory.java> > doesn't work properly when lowercase entries are used in the > configuration and I think this is a defect. I'm using version 1.0.0 but I > double-checked that the most recent code in the repository didn't solve > this problem. > > The class initially builds a connection property map based on the jdbc URL > provided in the configuration (line 76). Properties not included in the URL > are still populated in the map with empty values and map keys in uppercase. > For example 'PASSWORD='. > > The configuration properties are then parsed and the related key/pair's > are added to the map without being uppercase'd, leading to double entries > in the map for each properties: one in lowercase and one in uppercase (loop > at line 77). > > The properties are then injected in the data source object (loop at line > 80). Java reflection is being used for this step and it's using a > case-insensitive logic to select the setter method to be used for injecting > the property into the data source object (line 113). The uppercase and > lowercase entries are ultimately overriding each other. > > This can be reproduced with a configuration like this: > > url=jdbc:jtds:sqlserver://my.server:1433/my-database; > integratedSecurity=true;domain=my-domain;useNTLMv2=true > user=someuser > password=some-password > > As I workaround, I had to uppercase my property keys and this works fine: > > USER=someuser > PASSWORD=some-password > > Regards > > -- > -- > ------------------ > OPS4J - http://www.ops4j.org - [email protected] > > --- > You received this message because you are subscribed to the Google Groups > "OPS4J" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Apache Member Apache Karaf <http://karaf.apache.org/> Committer & PMC OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & Project Lead blog <http://notizblog.nierbeck.de/> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> Software Architect / Project Manager / Scrum Master -- -- ------------------ OPS4J - http://www.ops4j.org - [email protected] --- You received this message because you are subscribed to the Google Groups "OPS4J" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
