When using org.apache.activemq.pool.PooledConnection createConnection(username, password), the username and password fields are swapped.
I think the problem could be the following, based in 4.1.1 source code,
PooledConnection.java line 77
public synchronized Connection createConnection(String userName, String password) throws JMSException {
ConnectionKey key = new ConnectionKey(userName, password);
ConnectionKey.java line 30
public ConnectionKey(String password, String userName) {
this.password = password;
this.userName = userName;