public class GlueQueryLoader extends Object implements GlueCacheLoader, org.springframework.beans.factory.InitializingBean
GlueQueryDefinition
)를 로딩하여 서비스하는 클래스. GlueQueryDefinition
을 생성한 후
java.util.HashMap
을 구성한다. Bean Property - rootPath : (필수) default는 'query' - extraQueryFiles : (선택) - loadDesc : (선택) default는 'false' true 인 경우 GlueQuery File에서 desc 정보를 GlueQueryDefinition에 추가하므로 다음 코드 사용 가능함.Strin desc = dao.getQueryManager().getQueryDefinition("emp.select").getDescription();
예제사용 예# 1 - application의 classpath에서 query 폴더에 있는 쿼리파일을 로딩함. 사용 예# 2 - application의 classpath에서 rootPath 로 지정된 폴더에 있는 쿼리파일을 로딩함. 사용 예# 3 - application의 classpath의 rootPath외의 query 파일을 로딩함. jar 파일안에 master-query/easyaccess-query.glue_sql 이 있음. 사용 예# 4 - GlueQuery File에서 desc 정보도 GlueQueryDefinition에 추가할 경우
master-query/easyaccess-query.glue_sql 참고 : {name}-query.glue_sql
Modifier and Type | Field and Description |
---|---|
protected static String |
QUERYMAP
Deprecated.
|
Constructor and Description |
---|
GlueQueryLoader() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet()
주어진 정보로 쿼리파일('*.glue_sql') List를 구성한다. rootPath(default는 'query')에 존재하는 모든 쿼리파일이 해당한다.
|
String |
getRootPath()
getter method.
|
Object |
loadCacheObject(Object cacheKey,
String regionName)
주어진 캐쉬 영역명에 해당하는 캐쉬영역에서 캐쉬 키를 사용하여 오브젝트를 로딩함
|
void |
setExtraQueryFiles(List<String> extraQueryFiles)
setter method for DI.
|
void |
setLoadDesc(boolean loadDesc)
setter method for DI.
|
void |
setPathEncoding(String pathEncoding)
setter method for DI.
|
void |
setRootPath(String queryRoot)
setter method for DI.
|
@Deprecated protected static final String QUERYMAP
public Object loadCacheObject(Object cacheKey, String regionName) throws GlueException
GlueCacheLoader
loadCacheObject
in interface GlueCacheLoader
cacheKey
- 캐쉬 키regionName
- 캐쉬 영역명GlueException
- - 캐쉬관련 에러발생 시public void setRootPath(String queryRoot)
queryRoot
- 2가지 type이 가능. directory의 구분자는 슬래시(/)인지 역슬래시(\)인지 확인필요함.
1. Class Loader를 이용한 상대경로 지정2. glue.properties 이용한 절대 경로 지정 일 경우 ==> Thread.currentThread().getContextClassLoader().getResource( "ext/query" ) 가 사용됨. ext/query=C://apache-tomcat-7.0.47 ==> Thread.currentThread().getContextClassLoader().getResource( "C://apache-tomcat-7.0.47" ) 가 사용됨.
public void setExtraQueryFiles(List<String> extraQueryFiles)
extraQueryFiles
- public void setLoadDesc(boolean loadDesc)
loadDesc
- public void setPathEncoding(String pathEncoding)
pathEncoding
- public String getRootPath()
public void afterPropertiesSet() throws Exception
(non-Javadoc)URL url = GlueFileResourceUtil.getResource( "query" ); logger.trace( "{}' url : {}", rootPath, url ); 의 결과로 정리함. [was] 별 [url 값] Tomcat : file:/C:/apache-tomcat-7.0.47/work/Catalina/localhost/sample-ui/WEB-INF/classes/query/ Tomcat : file:/C:/apache-tomcat-7.0.47/webapps/sample-ui/WEB-INF/classes/query/ Tomcat 8 : jar:file:/C:/apache-tomcat-8.0.18/webapps/sample-ui.war!/WEB-INF/classes/query/ jBoss AS : vfs:/C:/jboss-eap-6.2/bin/content/sample-ui.war/WEB-INF/classes/query/ jBoss AS : vfs:/C:/jboss-eap-6.2/standalone/deployments/sample-ui.war/WEB-INF/classes/query/ WebLogic : zip:C:/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_user/_appsdir_sample-ui_war/wq0kqk/war/WEB-INF/lib/_wl_cls_gen.jar!/query WebSphere : file:/C:/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/hwangyujin-pcNode01Cell/sample-ui.ear/sample-ui.war/WEB-INF/classes/query/ Zeus : java : jar, jar:file:/C:/eclipse/workspace-glue-4-sample/sample-schedule-2/build/user-application.jar!/query
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
Exception
InitializingBean.afterPropertiesSet()
Copyright © 2023–2024 POSCO DX. All rights reserved.