Usually, We use ServiceLocator Pattern to Cach lookup of JMS connectionfactory, Queue etc. In EJB3, we can use DI to inject the resource as below in session bean. My question is, how does container do this injection? Does container use something like caching the lookup? Do we need to really worry about it?