Interface GlueBizController

All Known Implementing Classes:
GlueBizControllerImpl

public interface GlueBizController
BizController 인터페이스.
GlueBizController는 Web,Non Web App 공통으로 사용되며 Transaction처리 및 Logging을 처리 하고 수행 결과는 GlueContext에 반영한다.
 [sample java code]

 GlueContext ctx = new GlueDefaultContext();
 ctx.put("ServiceName", "sample-service");
 GlueBizController bizController = GlueBizProvider.getController();
 bizController.doAction(ctx);
 
  • Method Summary

    Modifier and Type
    Method
    Description
    Transaction을 처리와 Logging을 처리 하고 Service를 실행 한다.
    doSubController(GlueContext ctx, boolean newTx)
    doAction()과 동일하지만 Transaction 처리는 정의에 따라 달라진다.
  • Method Details

    • doAction

      GlueContext doAction(GlueContext ctx)
      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>
       
      Parameters:
      ctx - GlueContext
      Returns:
      GlueContext 결과 값 Return
    • doSubController

      GlueContext doSubController(GlueContext ctx, boolean newTx)
      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을 이용하게 된다.
       
      Parameters:
      ctx - GlueContext
      newTx - 새로운 Transaction 시작 여부
      Returns:
      GlueContext 결과 값 Return