in newest petstore 1.3.1, a non-cacheable and non-singleton service locator pattern is adopted at EJB tier. But at webtier, the cacheable and singleton service locator is used. I am pretty confused at it. Because in old version of petstore and lots of design pattern articles and books, use of a cacheable and singleton service locator / home interface finder is always encouraged. Highly appreciated somebody can explain to me why petstore 1.3.1 has used a non-cacheable and non-singleton service locator pattern at EJB tier instead.