com.poscoict.glueframework.biz.control
Class GlueBizControllerImpl

java.lang.Object
  extended by com.poscoict.glueframework.biz.control.GlueBizControllerImpl
All Implemented Interfaces:
GlueBizController

public final class GlueBizControllerImpl
extends Object
implements GlueBizController

BizController 구현체.
GlueBizController는 Web,Non Web App 공통으로 사용되며 Transaction처리 및 Logging을 처리 하고 수행 결과는 GlueContext 에 반영한다.

 예제
 사용 예# 1
 
     GlueContext ctx = new GlueDefaultContext();
     ctx.put("ServiceName", "sample-service");
     GlueBizProvider.getController().doAction(ctx);
 
 
 
 참고 : applicationContext.xml
 
     <bean id="serviceManager" class="com.poscoict.glueframework.biz.control.GlueServiceManagerImpl">
         <property name="cacheManager" ref="cacheManager" />
         <property name="serviceLoader" ref="serviceLoader" />
     </bean>
     <bean id="serviceLoader" class="com.poscoict.glueframework.biz.control.GlueServiceLoader"/>
     <bean id="cacheManager" class="..."/>
 


Method Summary
 GlueContext doAction(GlueContext ctx)
          Transaction을 처리와 Logging을 처리 하고 Service를 실행 한다.
 GlueContext doSubController(GlueContext ctx, boolean newTx)
          doAction()과 동일하지만 Transaction 처리는 정의에 따라 달라진다.
static GlueBizController getController()
          GlueBizController Instance를 생성 하고 Return 함.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getController

public static GlueBizController getController()
GlueBizController Instance를 생성 하고 Return 함.
Controller Instance는 Singletone Pattern으로 최초 한번만 생성됨.

Returns:
GlueBizController

doAction

public GlueContext doAction(GlueContext ctx)
Description copied from interface: GlueBizController
Transaction을 처리와 Logging을 처리 하고 Service를 실행 한다.
Transaction은 {xxx}-service.xml 에 다음과 같이 정의 된다.
 <transaction-manager id="tx1" commit="true"/>
 <transaction-manager id="tx2" commit="false"/>
 
 위의 Transaction List 만큼 Commit 및 Rollback을 수행하고
 만일 commit="false"이면 Commit을 수행하지 않는다.
 commit="false" 를 사용하는 경우에는 Read Only 경우에 사용된다.
 실제 Transaction의 정의는 applicationContext.xml에 다음과 같이 정의 된다.
 
 <bean id="tx1" class="com.poscoict.glueframework.transaction.GlueDataSourceTransactionManager">
     <property name="dataSource" ref="ds-1"/> 
 </bean>
 <bean id="tx2" class="com.poscoict.glueframework.transaction.GlueDataSourceTransactionManager">
     <property name="dataSource" ref="ds-2"/>
 </bean>
 

Specified by:
doAction in interface GlueBizController
Parameters:
ctx - GlueContext
Returns:
GlueContext 결과 값 Return

doSubController

public GlueContext doSubController(GlueContext ctx,
                                   boolean newTx)
Description copied from interface: GlueBizController
doAction()과 동일하지만 Transaction 처리는 정의에 따라 달라진다.
 <activity name="CallSubController" class="com.poscoict.glueframework.biz.activity.GlueSubService">
     <transition name="success" value="HandleError"/>
     <property name="service-name" value="Sub-service"/>
     <property name="new-transacion" value="true"/>
 </activity>
 
 Sub-service 를 호출 하는 위 예제에서 "<property name="new-transacion" value="true"/>" 인 경우
 Main-service 의 Transaction과 별개로 SubService에 정의되어 있는 Transaction을 처리하게 된다.
 "fale"이면 Transaction 처리를 하지 않는다. 즉 MainService의 Transaction을 이용하게 된다.
 
 

Specified by:
doSubController in interface GlueBizController
Parameters:
ctx - GlueContext
Returns:
GlueContext 결과 값 Return


Copyright © 2013–2017 POSCO ICT. All rights reserved.