Class GlueBizControllerImpl
java.lang.Object
com.poscoict.glueframework.biz.control.GlueBizControllerImpl
- All Implemented Interfaces:
GlueBizController
BizController 구현체.
GlueBizController는 Web,Non Web App 공통으로 사용되며 Transaction처리 및 Logging을 처리 하고 수행 결과는 GlueContext 에 반영한다.
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
Modifier and TypeMethodDescriptiondoAction
(GlueContext ctx) Transaction을 처리와 Logging을 처리 하고 Service를 실행 한다.doSubController
(GlueContext ctx, boolean newTx) doAction()과 동일하지만 Transaction 처리는 정의에 따라 달라진다.static GlueBizController
GlueBizController Instance를 생성 하고 Return 함.
-
Method Details
-
getController
GlueBizController Instance를 생성 하고 Return 함.
Controller Instance는 Singletone Pattern으로 최초 한번만 생성됨.- Returns:
- GlueBizController
-
doAction
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 interfaceGlueBizController
- Parameters:
ctx
- GlueContext- Returns:
- GlueContext 결과 값 Return
-
doSubController
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 interfaceGlueBizController
- Parameters:
ctx
- GlueContextnewTx
- 새로운 Transaction 시작 여부- Returns:
- GlueContext 결과 값 Return
-