여기에서 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>