mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-05-16 12:59:13 +00:00
Fixed package name and some spelling mistakes.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
package com.iluwatar;
|
||||
|
||||
/**
|
||||
* The service locator module.
|
||||
* Will fetch service from cache, otherwise creates a fresh service and update cache
|
||||
*
|
||||
* @author saifasif
|
||||
*
|
||||
*/
|
||||
public class ServiceLocator {
|
||||
|
||||
private static ServiceCache serviceCache = new ServiceCache();
|
||||
|
||||
/**
|
||||
* Fetch the service with the name param from the cache first,
|
||||
* if no service is found, lookup the service from the {@link InitContext} and
|
||||
* then add the newly created service into the cache map for future requests.
|
||||
* @param serviceJndiName
|
||||
* @return {@link Service}
|
||||
*/
|
||||
public static Service getService(String serviceJndiName){
|
||||
Service serviceObj = serviceCache.getService(serviceJndiName);
|
||||
if ( serviceObj != null ){
|
||||
return serviceObj;
|
||||
} else {
|
||||
/*
|
||||
* If we are unable to retrive anything from cache, then
|
||||
* lookup the service and add it in the cache map
|
||||
*/
|
||||
InitContext ctx = new InitContext();
|
||||
serviceObj = (Service) ctx.lookup(serviceJndiName);
|
||||
serviceCache.addService(serviceObj);
|
||||
return serviceObj;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user