I have looked at the ServiceLocator pattern from the Sun J2EE blueprints website. I noticed that there are two ServiceLocators, one for use by the web tier and one for use by the EJB tier. I understand the principle of having only one instance of the ServiceLocator object in the web tier which is obtained by using the getInstance() method. But for the EJB tier the blueprint site says you should create a new instance of the ServiceLocator object each time you use it. I don't understand why this is so?
If anyone can shed some light on this it would be nice.