여기에서 JEUS의 domain.xml에 설정되는 JMS 엔진 설정 파일의 설명을 찾을 수 있다.
XML Schema 파일:
JEUS_HOME/lib/schemas/jeus/jms-engine.xsd
레퍼런스는 다음 형식으로 구성되어 있다.
XML Schema/XML 트리: XML 설정 파일의 모든 태그 리스트를 정리했다. 각 노드의 형식은 다음과 같다.
태그 레퍼런스로 빨리 찾아보기 위해서 각 태그마다 인덱스 번호( 예: (11) )를 붙여 놓았다. 태그 레퍼런스에서는 이 번호 순서로 설명한다.
XML Schema에서 정의한 XML 태그명을 <tag name> 형식으로 표시한다.
XML Schema에서 정의한 Cardinality를 표시한다. “?” = 0개나 1개의 element, “+” = 1개 이상의 element, “*” = 0개 이상의 element, (기호가 없음) = 정확히 1개의 element
몇몇 태그에는 “P” 문자를 붙여 놓았는데, 해당 태그는 성능에 관계되는 태그라는 것을 뜻한다. 이 태그는 설정을 튜닝할 때 사용된다.
Element Reference: 트리에 있는 각 XML 태그를 설명한다.
Dynamic: 동적 설정 반영 가능
Non-Dynamic: 동적 설정 반영 불가능, Dynamic이 설정되지 않은 항목들이 보통 이에 해당 하나 특별히 설명이 있는 경우 이 항목이 표시된다.
Description: 태그에 대한 간단한 설명.
Value Description: 입력하는 값과 타입.
Value Type: 값의 데이터 타입. (예: String)
Value Type Description: 값의 데이터 타입에 대한 설명
Default Value: 해당 XML을 사용하지 않았을 때 기본적으로 사용되는 값.
Defined Value: 이미 정해져 있는 값.
Example: 해당 XML 태그에 대한 예.
Performance Recommendation: 성능 향상을 위해서 추천하는 값.
Child Elements: 자신의 태그 안에 사용하는 태그.
(541) <jms-engine> ?
(542) <service-config> +
(543) <name>
(544) <listener-name> ?
(545) <virtual-listener>
(546) <server-address>
(547) <port>
(548) <client-limit> ?
(549) <client-keepalive-timeout> ?
(550) <event-manager> ?
(551) <engine-roll> ?
(552) <failover-check-timeout> ?
(553) <failover-check-count> ?
(554) <thread-pool> ?
(555) <min> ?
(556) <max> ?
(557) <keep-alive-time> ?
(558) <connection-factory> *
(559) <type> ?
(560) <name>
(561) <export-name> ?
(562) <service> ?
(563) <client-id> ?
(564) <server-selection-policy> ?
(565) <request-blocking-time> ?
(566) <reconnect-enabled> ?
(567) <reconnect-period> ?
(568) <reconnect-interval> ?
(569) <topic-multicast-enable> ?
(570) <persistence-store> ?
(571) <none> ?
(572) <journal> ?
(573) <base-dir> ?
(574) <initial-log-file-count> ?
(575) <max-log-file-count> ?
(576) <log-file-size> ?
(577) <property> *
(580) <destination-table> ?
(581) <durable-subscription-table> ?
(582) <jdbc> ?
(583) <data-source>
(584) <destination-table> ?
(585) <durable-subscription-table> ?
(586) <message-table> ?
(587) <subscription-message-table> ?
(588) <transaction-table> ?
(589) <message-sort> *
(590) <name>
(591) <key>
(592) <type> ?
(593) <direction>
(594) <max-byte> ?
(595) <max-message> ?
(541)
<
domain
><
servers
><
server
>
<jms-engine>
| |
Description | JMS 엔진은 해당 서버에서 JMS 서버를 사용하기 위한 환경을 제공한다. 서버가 부팅될 때 실행되며, 하나의 서버에서는 하나의 JMS 엔진만 지원한다. |
Value Type | jms-serverType |
Child Elements |
(543)
(551)
(552)
(553)
(554)
(555)
(559)
(571)
(590)
(595)
(596)
|
[예 12.1] domain.xml 파일 예제
<?xml version="1.0" encoding="UTF-8"?> <domain xmlns="http://www.tmaxsoft.com/xml/ns/jeus"> <servers> <server> . . . <jms-engine> <!-- Service Channels --> <!-- Basic service channel --> <service-config> <name>default</name> <listener-name>jms</listener-name> <client-limit>1000</client-limit> <client-keepalive-timeout>20</client-keepalive-timeout> </service-config> <!-- Thread Pool --> <!-- Default thread pool --> <thread-pool> <min>10</min> <max>20</max> <keep-alive-time>300</keep-alive-time> </thread-pool> <!-- Durable Subscribers --> <durable-subscriber> <client-id>client_id1</client-id> <name>subscription1</name> <shared>false</shared> <destination-name>ExamplesTopic</destination-name> <message-selector>(Provider = 'TmaxSoft')</message-selector> </durable-subscriber> <!-- Connection Factories --> <!-- Connection factory --> <connection-factory> <!--nonxa--> <name>ConnectionFactory</name> <export-name>jms/ConnectionFactory</export-name> <!-- <server-selection-policy>Round-robin</server-selection-policy> --> <!-- <request-blocking-time>200</request-blocking-time> --> <!-- <reconnect-enabled>false</reconnect-enabled> --> <!-- <reconnect-period>0</reconnect-period> --> <!-- <reconnect-interval>5</reconnect-interval> --> </connection-factory> <!-- Topic connection factory (active-standby architecture) --> <connection-factory> <type>topic</type> <name>TopicConnectionFactory</name> <export-name>jms/TopicConnectionFactory</export-name> <broker-selection-policy>active-standby</broker-selection-policy> </connection-factory> <!-- Secure XA connection factory with fixed client ID --> <connection-factory> <type>xa</type> <name>XAConnectionFactory</name> <service>secure</service> <export-name>jms/XAConnectionFactory</export-name> <client-id>client_id1</client-id> </connection-factory> <!-- Destinations --> <!-- Basic queue --> <destination> <type>queue</type> <name>QUEUE1</name> <export-name>jms/QUEUE1</export-name> <!-- <quota>128M</quota> --> </destination> <!-- Queue with message-sort --> <destination> <type>queue</type> <name>QUEUE2</name> <export-name>jms/QUEUE2</export-name> <message-sort>priority</message-sort> </destination> <!-- Queue with unit of work --> <destination> <type>queue</type> <name>QUEUE2</name> <export-name>jms/QUEUE2</export-name> <unit-of-work> <message-handling>gather</message-handling> <expiration-time>-1</expiration-time> </unit-of-work> </destination> <!-- Basic topic --> <destination> <type>topic</type> <name>TOPIC1</name> <export-name>jms/TOPIC1</export-name> </destination> <message-sort> <name>priority</name> <key>JMSPriority</key> <type>Integer</type> <direction>ascending</direction> </message-sort> <!-- Persistence Store --> <persistence-store> <journal> <base-dir>/home/example/store/jeusmq</base-dir> <!--<initial-log-file-count>5</initial-log-file-count>--> <!--<max-log-file-count>10</max-log-file-count>--> <!--<log-file-size>128M</log-file-size>--> <!--<property>--> <!--<key>jeus.store.journal.overflow-factor</key>--> <!--<value>0.3</value>--> <!--</property>--> </journal> <!--<jdbc>--> <!--<data-source>datatsource1</data-source>--> <!--<vendor>oracle</vendor>--> <!--<destination-table>TEST_DEST</destination-table>--> <!--<durable-subscriber-table>TEST_DSUB</durable-subscriber-table>--> <!--<message-table>TEST_MESG</message-table>--> <!--<subscription-message-table>TEST_SMSG</subscription-message-table>--> <!--<transaction-table>TEST_TRAN</transaction-table>--> <!--</jdbc>--> </persistence-store> </jms-engine> . . . </server> </servers> </domain>