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 GlueBizControllerGlueBizController Instance를 생성 하고 Return 함.
-
Method Details
-
getController
GlueBizController Instance를 생성 하고 Return 함.
Controller Instance는 Singletone Pattern으로 최초 한번만 생성됨.- Returns:
- GlueBizController
-
doAction
Description copied from interface:GlueBizControllerTransaction을 처리와 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:
doActionin interfaceGlueBizController- Parameters:
ctx- GlueContext- Returns:
- GlueContext 결과 값 Return
-
doSubController
Description copied from interface:GlueBizControllerdoAction()과 동일하지만 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:
doSubControllerin interfaceGlueBizController- Parameters:
ctx- GlueContextnewTx- 새로운 Transaction 시작 여부- Returns:
- GlueContext 결과 값 Return
-