목차 >> Layout Manager +- GlueMessageLayout +- GlueXmlMessageLayout +- GlueDBMessageLayout |
GlueDBMessageLayout은 DB 기반의 GlueMessageLayout구현체 이며, applicationContext.xml에 다음과 같이 작성할 수 있습니다. GlueDBMessageLayout 의 bean property는 Java Doc을 참고합니다. (GlueAPI)
<bean id="layoutManager" class="com.poscoict.glueframework.message.layout.GlueDBMessageLayout"> <property name="dao" ref="masterdao"/> <property name="cacheManager" ref="cacheManager"/> </bean> <bean id="masterdao" class="com.poscoict.glueframework.dao.jdbc.GlueJdbcDao"> <property name="dataSource" ref="masterData"/> <property name="queryManager" ref="queryManager"/> </bean> <bean id="masterData" class=". . ."/>
다음은 Message Layout 구성 내용을 DB table 로 다음과 같이 정의 할 수 있습니다.
Column | Nullable | type | Comment |
---|---|---|---|
LAYOUT_ID | NOT NULL | VARCHAR | msg id |
ATTR_SEQ | NOT NULL | NUMBER | 항목의 순서 |
ATTR_TYPE | NOT NULL | VARCHAR | E,G,GE, |
ATTR_ID | NOT NULL | VARCHAR | |
ATTR_NM | VARCHAR | ||
DATA_TYPE | NOT NULL | NUMBER | 1:STRING,2:NUMBER,3:DATE,6:ARRAY |
DATA_LEN | NOT NULL | NUMBER | |
DATA_PREC | NUMBER |
db에 관리되는 layout 정보는 다음 query를 응용해서 dao를 통해 조회할 수 있습니다.
SELECT ATTR_SEQ as MDL_DEFINE_DT_NM_SEQ, ATTR_TYPE as MDL_DEFINE_DT_NM_GROUP_TP, ATTR_ID as STANDARD_ENGLISH_ID, ATTR_NM as STANDARD_KOREAN_NAME, DATA_TYPE as MDL_DEFINE_DT_NM_DATA_TP, DATA_LEN as MDL_DEFINE_DT_NM_LEN, DATA_PREC as MDL_DEFINE_DT_NM_V_DECI_PREC FROM MESSAGE_DEFINITION WHERE LAYOUT_ID=? ORDER BY ATTR_SEQ ASC