Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
0.10
-
None
Description
Method connectionFactory.createConnection("foo", "bar") causes than Java client caches the credentials and overwrites default ones provided in connection URL. Thus subsequent calling of connectionFactory.createConnection() method (without a parameter) results in using the credentials "foo" / "bar" despite default ones should be used.
How reproducible:
100%
Steps to Reproduce:
1. Setup a broker with PLAIN authentication
2. Compile attached JUnit test
3. Run it (java org.junit.runner.JUnitCore authNoCredentialsInSecondConnection)
Actual results:
In try .. catch block, connectionFactory2.createConnection(); does not raise an exception that authentication failed. (and thus fail command below raises java.lang.AssertionError exception). In fact, connectionFactory2.createConnection(); uses "guest" / "guest" credentials set for connectionFactory1.
Expected results:
Authentication fails for connectionFactory2.createConnection(); as it uses default credentials from URL (what is "dummy" / "dummy").