activema. xml 설정

/**
* 저자: andyao, email:[email protected]
*http://andyao.iteye.com/blog/154092
*/
ActiveMQ 5.0 실전 1: 설치 설정 ActiveMQ 5.0
ActiveMQ 5.0 실전 3: Spring 로 보 내기, 소비 topic 와 queue 메시지
간단 한 소개
전편http://www.iteye.com/topic/15317ActiveMQ 5.0 의 설 치 를 소 개 했 습 니 다. 이 편 에서 소개 할 설정 입 니 다.ActiveMQ 는 많은 features 를 포함 하고 있 습 니 다 (상세 한 내용 은 http://activemq.apache.org/features.html 참조).   서로 다른 수요, 서로 다른 환경, 서로 다른 features 가 필요 합 니 다. 물론 서로 다른 설정 이 필요 합 니 다.여기 서 저 는 가장 기본 적 인 설정 만 썼 습 니 다. 벽돌 을 던 진 셈 입 니 다. ActiveMQ 에 대한 고급 설정 을 더 끌 어 내 고 싶 습 니 다.만약 에 ActiveMQ 5.0 을 정확하게 설 치 했 고 그의 IP 주 소 는 192.168.148 이 며 구체 적 으로 사용 할 때 자신의 IP 로 바 꿀 수 있다.아래 설명 한 설정 이 실 현 된 features 는 다음 과 같 습 니 다.
  • 클 라 이언 트 통과 가능tcp://192.168.1.148액 티 브 MQ 연결.
  • 메 시 지 를 지속 적 으로 저장 하고 서버 를 다시 시작 하면 메 시 지 를 잃 지 않 습 니 다.
  • 통과 가능http://192.168.1.148:8161/admin모니터링 ActiveMQ 서버
  • 배치 하 다.
    ActiveMQ 는 기본적으로 XML 형식 설정 을 사용 합 니 다. 4.0 버 전부터 MBean 방식 으로 XML 설정 을 실 현 했 습 니 다. 설정 파일 은 ${activemq. home} / conf 디 렉 터 리 에서 activemq. xml 입 니 다.최신 기본 설정 은 http://svn.apache.org/repos/asf/activemq/trunk/assembly/src/release/conf/activemq.xml 입 니 다.다음은 이 글 에 사 용 된 설정 과 중요 한 부분 에 대한 설명 입 니 다.
     
    Xml 코드
  •   xmlns="http://www.springframework.org/schema/beans"  
  •   xmlns:amq="http://activemq.org/config/1.0"  
  •   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd   
  •   http://activemq.org/config/1.0 http://activemq.apache.org/schema/activemq-core.xsd   
  •   http://activemq.apache.org/camel/schema/spring>  
  •     
  •     
  •     
  •     
  •   xmlns="http://activemq.org/config/1.0" brokerName="192.168.1.148" persistent ="true" dataDirectory="${activemq.base}/data" useShutdownHook="false">  
  •     
  •       
  •       
  •       
  •         
  •           
  •          
  •           " producerFlowControl="false" memoryLimit="10mb">  
  •               
  •           
  •             
  •                 
  •               
  •           
  •                 
  •               
  •             
  •           
  •         
  •       
  •   
  •       
  •       
  •          
  •          
  •          
  •          
  •       
  •       
  •       
  •       
  •       activemq.base}/data"/>  
  •       
  •   
  •   
  •     
  •     xmlns="http://activemq.org/config/1.0"/>  
  •      
  •     
  •   xmlns="http://mortbay.com/schemas/jetty/1.0">  
  •       
  •         
  •       
  •   
  •       
  •               
  •                 
  •       
  •       
  •   
  • <beans
      xmlns="http://www.springframework.org/schema/beans"
      xmlns:amq="http://activemq.org/config/1.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
      http://activemq.org/config/1.0 http://activemq.apache.org/schema/activemq-core.xsd
      http://activemq.apache.org/camel/schema/spring>
     
      <!-- persistent="true"          ,    persistenceAdapter     -->
      <!-- dataDirectory              -->
      <!-- brokerName   broker name,             -->
      <!--     http://activemq.apache.org/xbean-xml-reference-50.html#XBeanXMLReference5.0-brokerelement -->
      <broker xmlns="http://activemq.org/config/1.0" brokerName="192.168.1.148" persistent ="true" dataDirectory="${activemq.base}/data" useShutdownHook="false">
     
        <!-- Destination specific policies using destination names or wildcards -->
        <!-- wildcards   http://activemq.apache.org/wildcards.html -->
        <destinationPolicy>
          <policyMap>
            <policyEntries>
           <!--      wildcards,     EUCITA   topic -->
              <policyEntry topic="EUCITA.>" producerFlowControl="false" memoryLimit="10mb">
                <!--      -->
            <dispatchPolicy>
              <!--       -->
                  <strictOrderDispatchPolicy/>
                </dispatchPolicy>
            <!--      -->
                <subscriptionRecoveryPolicy>
              <!--        message -->
                  <lastImageSubscriptionRecoveryPolicy/>
                </subscriptionRecoveryPolicy>
              </policyEntry>
            </policyEntries>
          </policyMap>
        </destinationPolicy>
    
        <!-- The transport connectors ActiveMQ will listen to -->
        <transportConnectors>
           <transportConnector name="openwire" uri="tcp://192.168.1.148:61616" discoveryUri="multicast://default"/>
           <transportConnector name="ssl"     uri="ssl://192.168.1.148:61617"/>
           <transportConnector name="stomp"   uri="stomp://192.168.1.148:61613"/>
           <transportConnector name="xmpp"    uri="xmpp://192.168.1.148:61222"/>
        </transportConnectors>
       
        <!--         -->
        <persistenceAdapter>
          <amqPersistenceAdapter directory="${activemq.base}/data"/>
        </persistenceAdapter>
    </broker>
    
      <!-- lets create a command agent to respond to message based admin commands on the ActiveMQ.Agent topic -->
        <commandAgent xmlns="http://activemq.org/config/1.0"/>
      
      <!-- An embedded servlet engine for serving up the Admin console -->
      <jetty xmlns="http://mortbay.com/schemas/jetty/1.0">
        <connectors>
          <nioConnector port="8161" />
        </connectors>
    
        <handlers>
          <webAppContext contextPath="/admin" resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true" />     
          <webAppContext contextPath="/demo" resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true" />       
        </handlers>
      </jetty> 
    </beans>

    주석
    XML 설정 에 있 는 요소 에 대한 구체 적 인 정 보 는 http://activemq.apache.org/xbean-xml-reference-50.html 을 참고 하여 본 설정 에 사용 되 는 중요 한 요 소 를 소개 할 수 있 습 니 다.
    DispathPolicy
    ActiveMQ 는 3 가지 서로 다른 배포 전략 을 지원 합 니 다.
  • :Simple dispatch policy that sends a message to every subscription that matches the message.
  • :Simple dispatch policy that sends a message to every subscription that matches the message.
  • :Dispatch policy that causes every subscription to see messages in the same order.

  • SubscriptionRecoveryPolicy
    ActiveMQ 는 6 가지 복구 정책 을 지원 하 며, 스스로 다른 정책 을 선택 하여 사용 할 수 있 습 니 다.
  • : keep a fixed count of last messages.
  • : keep a fixed amount of memory available in RAM for message history which is evicted in time order.
  • :only keep the last message.
  • :disable recovery of messages.
  • :perform a user specific query mechanism to load any messages they may have missed.
  • :keep a timed buffer of messages around in memory and use that to recover new subscriptions.

  • PersistenceAdapter
    http://activemq.apache.org/persistence 은 persistence 에 관 한 정 보 를 설명 했다.ActiveMQ 5.0 은 AMQ Message Store 영구 화 메 시 지 를 사용 합 니 다. 이 방식 은 좋 은 성능 을 제공 합 니 다 (The AMQ Message Store is an embeddable transactional message storage solution that is extremely fast and reliable). 기본적으로 이 저장 방식 을 사용 하면 됩 니 다. JDBC 를 사용 하여 저장 하려 면 문서 설정 을 찾 을 수 있 습 니 다. 
    Summary
    이 글 은 기본 설정 정보 만 제공 합 니 다.더 많은 글 이 필요 하 다 면 ActiveMQ 문 서 를 볼 수 있 습 니 다.
    설치 와 간단 한 설정 에 대해 이 야 기 했 습 니 다. 다음 편 은 Sping 과 의 통합, 그리고 여러 quue, 여러 topic, 여러 producer, 여러 consumer 의 설정 을 소개 하고 사용 할 것 입 니 다.

    좋은 웹페이지 즐겨찾기