Class GlueMessageParse
java.lang.Object
com.poscoict.glueframework.biz.activity.GlueActivity<GlueContext>
com.poscoict.glueframework.biz.activity.GlueMessageParse
MessageParse Activity. GlueMessageParse Activity는 TC(String) 또는 File에 담긴 TC(String) 를 Layout으로 Parse하여 GlueMessage Instance를 생성하는 기능을
수행한다.
byte parsing 시 Encoding 우선순위는 다음과 같다.
1. charset-name property
2. charset property
3. jvm default
byte parsing 시 Encoding 우선순위는 다음과 같다.
1. charset-name property
2. charset property
3. jvm default
Activity Property
- layout : (필수) applicationContext.xml의 GlueLayoutManager bean id.
- message-id : (선택) msg key. layout/{message-id}-msg.xml 참고 근거.
[ default ] ctx.get("ReceiveTC")의 값에서 추출함.
String s = (String)ctx.get("ReceiveTC");
String msg_id = s.substring(0, id_length);
- id-length : (선택) "ReceiveTC"에 해당하는 String의 substring 기준. message-id가 정의되어 있는 경우, id-length는 사용되지 않음.
[ default ] : 8
- charset : (선택) ParseType이 byte 일 경우 사용됨. 고정값.
- charset-name : (선택) ParseType이 byte 일 경우 사용됨. 동적값.
예제
사용 예# 1
- 최소사용
<activity name="Parse" class="com.poscoict.glueframework.biz.activity.GlueMessageParse">
<property name="layout" value="layoutInXml" />
<transition name="success" value="BizLogic" />
</activity>
사용 예# 2
- message-id 가 수신Data["ReceiveTC"] 에서 추출하는 것과 다를 경우
<activity name="Parse" class="com.poscoict.glueframework.biz.activity.GlueMessageParse">
<property name="layout" value="layoutInXml" />
<property name="message-id" value="MSGFW001" />
<transition name="success" value="BizLogic" />
</activity>
사용 예# 3
- message-id 가 주어지지 않아 수신Data["ReceiveTC"] 에서 추출해야하는 경우.
<activity name="Parse" class="com.poscoict.glueframework.biz.activity.GlueMessageParse">
<property name="layout" value="layout" />
<property name="id-length" value="8" />
<transition name="success" value="BizLogic" />
</activity>
사용 예# 4
- charset-name 사용시.. ctx.get(this.getProperty("charset-name")) 의 값이 사용됨.
<activity name="Custom" class="...">
<transition name="success" value="Parse" />
</activity>
<activity name="Parse" class="com.poscoict.glueframework.biz.activity.GlueMessageParse">
<property name="layout" value="layout" />
<property name="charset-name" value="encoding" />
<transition name="success" value="BizLogic" />
</activity>
사용 예# 5
- charset 사용시 activity property value가 사용됨.
<activity name="Parse" class="com.poscoict.glueframework.biz.activity.GlueMessageParse">
<transition name="success" value="SetMessageKey" />
<property name="layout" value="layout" />
<property name="charset" value="UTF-8" />
</activity>
참고 : applicationContext.xml
<bean id="layoutInXml" class="com.poscoict.glueframework.message.layout.GlueXmlMessageLayout">
<property name="cacheManager" ref="cacheManager"/>
</bean>
<bean id="layoutInDB" class="com.poscoict.glueframework.message.layout.GlueDBMessageLayout">
<property name="dao" ref="layout-dao"/>
<property name="cacheManager" ref="cacheManager"/>
</bean>
<bean id="cacheManager" class="..."/>
<bean id="layout-dao" class="..."/>
참고 : Java Code (Custom)
ctx.put("encoding", "UTF-8");
참고 : glue.properties
msg.parsing.type=byte
참고 : GlueConText 구성 - ReceiveTC, ReceiveTCType은 필수.
ctx.put("ReceiveTC", "MSGFW001R10aaa seoul ");
ctx.put("ReceiveTCMsg", "MSGFW001R10aaa seoul ");
ctx.put("ReceiveTCType", "T")
//ctx.put("ReceiveTC", new File("/APP/CHAIN/MSGFW002_20130201.dat"));
//ctx.put("ReceiveTCMsg", "MSGFW002/APP/CHAIN/MSGFW002_20130201.dat");
//ctx.put("ReceiveTCType", "F")
-
Field Summary
FieldsFields inherited from class com.poscoict.glueframework.biz.activity.GlueActivity
dynamicProperties, logger
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionrunActivity
(GlueContext ctx) Sub Class에서 반드시 구현하여야 하는 Abstract Method 이며 이 Method는 F/W에서 호출한다.Methods inherited from class com.poscoict.glueframework.biz.activity.GlueActivity
commitTransaction, commitTransaction, getDao, getEventList, getName, getProperty, getPropertyNames, getTransition, rollbackTransaction, rollbackTransaction, setEventList, setName, setProperty, setTransition
-
Field Details
-
DEFAULT_MSG_ID_LENGTH
public static final int DEFAULT_MSG_ID_LENGTH- See Also:
-
-
Constructor Details
-
GlueMessageParse
public GlueMessageParse()
-
-
Method Details
-
runActivity
Description copied from class:GlueActivity
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 를 실행함.
- Specified by:
runActivity
in classGlueActivity<GlueContext>
- Parameters:
ctx
- GlueContext- Returns:
- String 정상적이면 "success"를 Return 하고 비정상 처리를 원하면 "failure"를 Return 한다.
-