Hello I am not sure it is desired behavior so I would like to bring it to your attention New instance of my factory gets created every time I lookup up a resource in the environment. i.e. Context ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/usorg"); causes new instance of my connection pool be created. I can certainly work around the problem (have static hash of connection pools by JNDI name) but I would like to hear your opinion Thank you very much Alex Roytman