목차 >> Layout Manager 
+- GlueMessageLayout  
+- GlueXmlMessageLayout

9장 Layout Manager

GlueXmlMessageLayout

GlueXmlMessageLayout은 XML 기반의 GlueMessageLayout구현체 이며, applicationContext.xml에 다음과 같이 작성할 수 있습니다. GlueXmlMessageLayout 의 bean property는 Java Doc을 참고합니다. (GlueAPI)

<bean id="layoutManager" class="com.poscoict.glueframework.message.layout.GlueXmlMessageLayout">
    <property name="cacheManager" ref="cacheManager"/>
</bean>

GlueMessageLayout은 Data 구성을 XML 파일로 정의해서 사용하며, 이러한 XML파일은 data를 파싱, 생성할때 기준정보로 사용되며, id 별로 <msg id>-msg.xml 형태의 파일을 사용합니다. XML파일(<msg id>-msg.xml)은 XML스키마에 따라 작성되어야 하며, xsd(GlueLayout.xsd)는 glue-schema 모듈에 포함되어 있습니다. (schemaorg_apache_xmlbeans.src 위치임)

다음은 Message Layout 구성 내용입니다.

  • msg : <msgs>안에 1개
    • id : Message Layout에 대한 ID를 의미하며, 파일명에 사용됨 (필수속성임)
    • name : Message 명 및 Message 설명을 정의
  • attribute : 항목. <msg>안에 1개 이상정의함.
    • type : 항목이 일반 항목인지 그룹항목인지 여부를 정의
      • E, G , GE
    • seq : 항목의 순서를 정의
    • id : 항목ID
    • name : 항목명
    • datatype : 항목의 데이터 타입
      • STRING, NUMBER, DATE, ARRAY
    • length : 항목의 총 길이. Type이 G인 경우는 반복 회수를 의미함
    • precision : datatype이 NUMBER type일 경우 소수점 자리수

다음은 예제이며, 각각 파일명은 MSGFW001-msg.xml, MSGSEND2-msg.xml 입니다.

<?xml version="1.0" encoding="EUC-KR"?>
<msgs>
  <msg id="MSGFW001" name="DEPT">
    <attribute type="E" seq="1" id="TRANSACTION_CODE" name="TransactionCode" datatype="STRING" length="8" />
    <attribute type="E" seq="2" id="DEPTNO" name="부서번호" datatype="NUMBER" length="2" precision="0" />
    <attribute type="E" seq="3" id="DNAME" name="부서명" datatype="STRING" length="14" />
    <attribute type="E" seq="4" id="DLOC" name="부서위치" datatype="STRING" length="13" />
    <attribute type="E" seq="5" id="CRUD" name="CRUD" datatype="STRING" length="1" />
  </msg>
</msgs>
<?xml version="1.0" encoding="UTF-8"?>
<msgs xmlns="http://www.poscoict.com/glueframework/layout" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.poscoict.com/glueframework/layout GlueLayout.xsd ">
  <msg id="MSGSEND2">
    <attribute type="E" seq="1" id="TRANSACTION_CODE" name="TransactionCode" datatype="STRING" length="8" precision="0" />
    <attribute type="E" seq="2" id="DEPTNO" name="부서번호" datatype="NUMBER" length="2" precision="0" />
    <attribute type="E" seq="3" id="DNAME" name="부서명" datatype="STRING" length="14" />
    <attribute type="E" seq="4" id="DLOC" name="부서위치" datatype="STRING" length="13" />
    <attribute type="G" seq="5" id="EMPSET" name="부서원" datatype="ARRAY" length="3" />
    <attribute type="GE" seq="6" id="EMPNO" name="사원번호" datatype="NUMBER" length="4" precision="0" />
    <attribute type="GE" seq="7" id="ENAME" name="사원명" datatype="STRING" length="10" />
    <attribute type="E" seq="8" id="CRUD" name="CRUD" datatype="STRING" length="1" />
  </msg>
</msgs>

^L

Prev Home Next