Class GlueCoreAutoConfiguration

java.lang.Object
com.poscoict.glueframework.boot.GlueCoreAutoConfiguration

@AutoConfiguration @ConditionalOnClass(GlueServiceManagerImpl.class) public class GlueCoreAutoConfiguration extends Object
  • Constructor Details

    • GlueCoreAutoConfiguration

      public GlueCoreAutoConfiguration(ApplicationContext applicationContext)
  • Method Details

    • glueBeanFactory

      @Bean @ConditionalOnMissingBean(GlueBeanFactory.class) public GlueBeanFactory glueBeanFactory()
      Spring Boot ApplicationContext를 래핑하는 GlueBeanFactory를 등록한다.

      이 Bean이 생성되는 시점에 GlueStaticContext.setApplicationContext(ApplicationContext) 가 호출되어 전체 Glue 프레임워크가 Boot의 ApplicationContext를 사용하도록 설정된다.

      또한 JVM 기동 시 static 블록에서 수행된 라이선스/프로퍼티 초기화를 Spring Bean 라이프사이클 안에서 재실행한다. -DCONFIG_PATH 없이 glue.config.path만 설정된 Boot 환경에서는 static 블록 시점에 경로가 없어 EDUCATION 모드로 fallback되므로, 이 시점에 재로드하여 정상적으로 라이선스와 프로퍼티를 적용한다.

    • glueCacheManager

      @Bean("cacheManager") @ConditionalOnMissingBean(name="cacheManager") @ConditionalOnProperty(prefix="glue.cache", name="type", havingValue="ehcache", matchIfMissing=true) public GlueCacheManager glueCacheManager()
      글루 에서쓰는 캐시매니저는 2개, # GlueEhCacheManager # GlueJCSCacheManager 이걸, appication.properties에서 선택할수 있게함 # EHCache 사용 (기본값 - 생략해도 됨) glue.cache.type=ehcache # JCS 사용으로 전환 glue.cache.type=jcs EHCache 기반의 GlueCacheManager를 자동 등록한다.(ehcache가 기본) classpath 루트의 ehcache.xml을 기본으로 사용하고 JCS를 사용하려면 glue.cache.type=jcs로 설정한다 다른 경로나 커스텀 설정이 필요하면 @Bean("cacheManager")으로 재정의한다. src/main/resources/ ├── ehcache.xml ← EHCache 설정, 여기에 있으면 자동으로 로딩됨 (classpath 루트) └── cache.ccf ← JCS 설정 (classpath 루트)
      Returns:
      GlueCacheManager (EHCache 구현체)
    • glueJCSCacheManager

      @Bean("cacheManager") @ConditionalOnMissingBean(name="cacheManager") @ConditionalOnProperty(prefix="glue.cache", name="type", havingValue="jcs") public GlueCacheManager glueJCSCacheManager()
      JCS 기반의 GlueCacheManager를 자동 등록한다.

      glue.cache.type=jcs 설정시 활성화 classpath 루트의 cache.ccf를 기본 설정 파일로 사용한다.

      Returns:
      GlueCacheManager (JCS 구현체)
    • glueServiceLoader

      @Bean("serviceLoader") @ConditionalOnMissingBean(name="serviceLoader") @ConditionalOnProperty(prefix="glue.service", name="loader", havingValue="xml", matchIfMissing=true) public GlueCacheLoader glueServiceLoader(@Value("${glue.service.root-path:service}") String rootPath, @Value("${glue.service.extra-files:#{null}}") List<String> extraServiceFiles)
      글루에서 쓰는 서비스로더는 2개, # GlueServiceLoader # GlueServiceDBLoader 이걸, appication.properties에서 선택할수 있게함 # 기본 ServiceLoader 사용 (기본값 - *-service.xml을 가져오네) glue.service.loader=xml # GlueServiceDBLoader 사용 glue.service.loader=db CONFIG_PATH 시스템 프로퍼티 경로에서 *-service.xml 파일을 로딩한다.
      DB에서 로딩하려면 glue.service.loader=db로 설정한다.
      Returns:
      GlueCacheLoader (GlueServiceLoader 구현체)
    • glueServiceDBLoader

      @Bean("serviceLoader") @ConditionalOnMissingBean(name="serviceLoader") @ConditionalOnProperty(prefix="glue.service", name="loader", havingValue="db") @ConditionalOnBean(javax.sql.DataSource.class) public GlueCacheLoader glueServiceDBLoader(DataSource dataSource)
      DB 기반의 GlueServiceDBLoader를 자동 등록한다. glue.service.loader=db 설정 시 활성화 Service 정의를 파일이 아닌 DB에서 로딩한다. DataSource Bean이 반드시 존재해야 한다.
      Parameters:
      dataSource - DB에서 Service 정의를 읽을 DataSource
      Returns:
      GlueCacheLoader (GlueServiceDBLoader 구현체)
    • glueServiceManager

      @Bean("serviceManager") @ConditionalOnMissingBean(name="serviceManager") public GlueServiceManager glueServiceManager(GlueCacheManager cacheManager, @Qualifier("serviceLoader") GlueCacheLoader serviceLoader, @Value("${glue.service.preloading:false}") boolean preloading)
      Glue 비즈니스 서비스를 관리하는 GlueServiceManager를 자동 등록한다. 사용 예# 1 <bean id="serviceManager" class="com.poscoict.glueframework.biz.control.GlueServiceManagerImpl"> <property name="cacheManager" ref="cacheManager" /> <property name="serviceLoader" ref="serviceLoader" /> </bean> 사용 예# 2 <bean id="serviceManager" class="com.poscoict.glueframework.biz.control.GlueServiceManagerImpl"> <property name="cacheManager" ref="cacheManager" /> <property name="serviceLoader" ref="serviceLoader" /> <property name="preloading" value="true" /> </bean>
      Parameters:
      cacheManager - 자동 구성되거나 사용자 정의된 GlueCacheManager
      serviceLoader - 자동 구성되거나 사용자 정의된 serviceLoader
      Returns:
      GlueServiceManager