Class GlueActivity<C extends GlueContext>
java.lang.Object
com.poscoict.glueframework.biz.activity.GlueActivity<C>
- Direct Known Subclasses:
GlueContextClear
,GlueDefaultRouter
,GlueExcelInfo
,GlueFileDelete
,GlueFileDown
,GlueFileList
,GlueFileSave
,GlueJdbcDelete
,GlueJdbcInsert
,GlueJdbcModify
,GlueJdbcNativeRun
,GlueJdbcSearch
,GlueJobCall
,GlueMessageCreate
,GlueMessageParse
,GlueMessageSender
,GlueMessageSender
,GlueMongoDelete
,GlueMongoFind
,GlueMongoSave
,GlueMybatisDelete
,GlueMybatisInsert
,GlueMybatisModify
,GlueMybatisSearch
,GlueNexacroDelete
,GlueNexacroInsert
,GlueNexacroModify
,GlueNexacroSave
,GlueNexacroSearch
,GlueRedisDelete
,GlueRedisGet
,GlueRedisSet
,GlueResultKeyList
,GlueSubService
,GlueTextMessageSend
,GlueWebPageTag
,GlueWSTextDirectSenderActivity
GlueActivity
Class는 모든 Chain에서 상속받아야 하는 Super Class이다. Activity Class는 Service의 Member로 Service단위로 생성이 되기 때문에 해당 Class의
Member 변수를 생성하여 사용할 경우에는 Thread마다 고유한 값을 가질 수 없고 재사용 된다. 아래는 {xxx}-service.xml 파일의 Activity 정의 이다.
예제
사용 예# 1
<activity name="InitProcess" class="com.biz.BizLogicActivity">
<transition name="success" value="EventRouter"/>
<property name="condition" value="attr1"/>
<property name="deptno" value="10"/>
</activity>
{xxx}-service.xml 의 일부 예제에서 'property' 속성을 Member 변수로 가지고 있고 이 값은 Activity Class(BizLogicActivity)에서 호출 하여 사용할 수 있다.
-
Field Summary
FieldsModifier and TypeFieldDescription동적으로 관리되는 propertyprotected org.slf4j.Logger
logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
commitTransaction
(C ctx, String transactionMgrKey) 트랜잭션을 커밋한다.void
commitTransaction
(String transactionMgrKey) 트랜잭션을 커밋한다.applicationContext.xml에 정의된 dao가져오기.getter method.getName()
getter method.getProperty
(String key) getter method.정적 property의 key set.getter method.void
rollbackTransaction
(C ctx, String transactionMgrKey) 트랜잭션을 롤백한다.void
rollbackTransaction
(String transactionMgrKey) 트랜잭션을 롤백한다.abstract String
runActivity
(C ctx) Sub Class에서 반드시 구현하여야 하는 Abstract Method 이며 이 Method는 F/W에서 호출한다.void
setEventList
(List<String> eventList) setter method. internal use.void
setter method.void
setProperty
(Map<String, String> properties) setter method. internal use.void
setTransition
(Map<String, String> transition) setter method. internal use.
-
Field Details
-
logger
protected org.slf4j.Logger loggerlogger -
dynamicProperties
동적으로 관리되는 property
-
-
Constructor Details
-
GlueActivity
public GlueActivity()
-
-
Method Details
-
runActivity
Sub Class에서 반드시 구현하여야 하는 Abstract Method 이며 이 Method는 F/W에서 호출한다. 결과 값은 GlueContext에 담아서 다음 Activity 또는 F/W에 전달하게 된다. 필요한 모든 Data는 GlueContext에서 호출하여 사용하게 된다.예) <transition name="success" value="BizLogic"/> <transition name="failure" value="ErrorHandle"/> ==> return "success"이면 BizLogic Activity 를 실행함.
- Parameters:
ctx
- GlueContext- Returns:
- String 정상적이면 "success"를 Return 하고 비정상 처리를 원하면 "failure"를 Return 한다.
-
getDao
applicationContext.xml에 정의된 dao가져오기.- Parameters:
daoKey
- applicationContext.xml의 bean ID- Returns:
- GlueGenericDao DAO Class
-
commitTransaction
트랜잭션을 커밋한다.- Parameters:
ctx
- GlueContexttransactionMgrKey
- ApplicationContext에 정의된 트랜잭션 매니저 빈의 키 값
-
commitTransaction
트랜잭션을 커밋한다.- Parameters:
transactionMgrKey
- ApplicationContext에 정의된 트랜잭션 매니저 빈의 키 값
-
rollbackTransaction
트랜잭션을 롤백한다.- Parameters:
ctx
- GlueContexttransactionMgrKey
- ApplicationContext에 정의된 트랜잭션 매니저 빈의 키 값
-
rollbackTransaction
트랜잭션을 롤백한다.- Parameters:
transactionMgrKey
- ApplicationContext에 정의된 트랜잭션 매니저 빈의 키 값
-
getProperty
getter method. Activity Property 값을 Return.- Parameters:
key
- Activity Property 의 key- Returns:
- key에 해당하는 값
-
getPropertyNames
정적 property의 key set. 동적 property는 dynamicProperties 를 사용할 것.[sample java code] public class CustomActivity extends GlueActivity{ public String runActivity( GlueContext ctx ) { Set<String> propertyNames = this.getPropertyNames(); for ( String name : propertyNames ){ String value = this.getProperty( name ); // service.xml에 정의된 정적 property를 가져올수 있음.. } // 동적 property dynamicProperties.put(name, value); // 동적 propety를 추가할 수 있음. Set<String> dynamicPropertyNames = this.dynamicProperties.keySet(); for ( String name : dynamicPropertyNames ){ String value = dynamicProperties.get( name ); // service.xml에 없는 동적 property를 가져올수 있음.. } return GlueBizControlConstants.SUCCESS; } } [sample service.xml] <service ...> <activity name="HelloActivity" class="sample.activity.HelloActivity"> <transition name="success" value="end"/> <property name="p1" value="id"/> <property name="p2" value="Test!!!"/> </activity> </service>
- Returns:
- properties keySet
-
setProperty
setter method. internal use. 새로운 property 를 설정 한다. 주의 할 점은 XML의 다음과 같은 propety는 모두 제거 되고 새로운 Property가 적용 되어 진다. 또한 setProperty() 호출후 다음 Request부터 같은 Service를 사용하는 Request에 적용되어지기 때문에 주의 하여야 함.<property name="condition" value="attr1"/> <property name="deptno" value="10"/>
- Parameters:
properties
- Map the new Property
-
getName
getter method.- Returns:
- activity's name
-
setName
setter method.- Parameters:
name
- activity's name
-
getTransition
getter method.- Returns:
- transition
-
setTransition
setter method. internal use.- Parameters:
transition
-
-
getEventList
getter method.- Returns:
- event list
-
setEventList
setter method. internal use.- Parameters:
eventList
-
-