[원문 출처] http://activemq.apache.org/vm-transport-reference.html


해당 문서의 경우 Apache 재단의 ActiveMQ Document 문서 일부를 번역 한 것입니다. 
번역본인 해당 문서의 경우 역자에게 있음을 알리며 상업적 이용을 불허합니다. 

www.sogomsoft.co.kr (주) 소곰소프트





VM 전송

VM 전송은 클라이언크가 네트워크 커넥터의 오버헤드 없이 VM 내부에 다른 곳에 접속 하는 것을 허용한다. 이 커넥션은 소켓 커넥션이 사용되지 않는다. 그러나 고성능의 내장된 메시징 시스템을 사용 가능하게 직접 메서드 호출을 사용한다. .

VM 커넥션을 사용하기 위한 첫번째 클라이언트는 내장된 브로커를 구동하게 된다.  그 뒤의 클라이언트 커넥션은 같은 브로커에 접속한다. 일단 브로커에 접속하기 위한 모든 VM 커넥션이 모두 닫히게 되면, 내장된 브로커는 자동적으로 셧다운 된다.


심플 브로커 환경 구성 구문

VM 커넥션을 위한 일반적인 구문인 simple 이고, 단지 제한된 내장된 브로커의 환경 구성을 제공한다. 


vm://brokerName?transportOptions


만약 이미 인스턴스화된 브로커에 접속을 원하면, 내장된 브로커(예를 들면. Apache ServiceMix 같은 경우에 ) brokerName에  이미 실행중인 브로커의 brokerName 과 일치하는 것이 사용 된 vm://brokerName URI를 사용하는 것을  보장한다. 

전송 옵션

옵션 명

기본값

상세 설명

marshal

false

만약 true 이면, 각각의 명령어가 WireFormat을 사용하여 강제로 marshalled 와 unmarshalled 된 VM 전송 통해 보낸다. 

wireFormat

default

사용할  WireFormat 의 이름

wireFormat.*

 

wireFormat을 환경 구성하기 위해 사용되는 이 접두사로 된 모든 프로퍼티.

create

true

만약 브로커가 존재 하지 않는다면 요청에 의해 브로커를 생성하게 될 것 인지 여부

waitForStart

-1

만약 0보다 크면, 브로커를 시작하기 위해 기다리는 밀리세컨드 타임아웃을 나타낸다. -1 과 0 은 기다리지 않는다는 것을 의미한다. 단지 ActiveMQ 5.2+ 에서 지원된다.

broker.*

 

브로커를 환경 구성하기 위해 사용되는 이 접두어를 사용하는 모든프로퍼티 . 더 많은 정보는 Wire Formats 환경구성하기 를 보라.

예제 URI
vm://broker1?marshal=false&broker.persistent=false

내장된 브로커 주의

만약 VM 전송을 사용하고 명시적으로 내장된 브로커 를 환경구성하는 것을 원하면, 브로커를 시작하기 전에 JMS 커넥션을 생성할 기회가 있다. 만약 VM 전송을 사용하고 이미 환경 구성된 브로커가 없다면, 현재 ActiveMQ는 브로커를 자동생성하게 될 것이다. (ActiveMQ 5.2 이상에서,  커넥션 URI를 사용을 위해 waitForStart 와 create=false 옵션을 사용하는 것이 가능하다.)

만약 스프링을 사용한다면 이 문제를 해결하기 위해,  내장된 브로커에서 이 문제가 발생하는 것을 피하기 위해 JMS ConnectionFactory가 depends-on 속성을 사용해야 할지 모른다. 

예를 들면.

<bean id="broker" class="org.apache.activemq.xbean.BrokerFactoryBean">
    <property name="config" value="classpath:org/apache/activemq/xbean/activemq.xml" />
    <property name="start" value="true" />
  </bean>
 
  <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory" depends-on="broker">
    <property name="brokerURL" value="vm://localhost"/>
  </bean>

어드벤스드 브로커 환경 구성 구문

VM 커넥션을 위한 어드벤스드 구문이다. Broker 브로커 환경  구성 URI를 사용하여 좀더 광범위하게 브로커를 환경 구성하는 것을 허용한다. 

vm:(broker:(tcp://localhost)?brokerOptions)?transportOptions

또는 
vm:broker:(tcp://localhost)?brokerOptions

전송 옵션 

옵션명

기본값

상세 설명

marshal

 false

만약 true 이면, 각각의 명령어가 WireFormat을 사용하여 강제로 marshalled 와 unmarshalled 된 VM 전송 통해 보낸다. 

wireFormat

default

사용할  WireFormat 의 이름

wireFormat.*

 

WireFormat을 환경 구성하기 위해 사용되는 이 접두사를 사용하는 모든 프로퍼티

VM 전송을 사용을 최적화 하는 더 많은 옵션이 있다.

예제 URI
vm:(broker:(tcp://localhost:6000)?persistent=false)?marshal=false

외부 환경 구성 파일을 사용하여 내장된 브로커 환경 구성하기 

 VM 전송과 외부 환경 구성 파일을 사용하여 (i.e. activemq.xml) 내장된 브로커를 시작하기 위해, 다음 URI를 사용하라:


vm://localhost?brokerConfig=xbean:activemq.xml


+ Recent posts