1、VM transport
VM transport允许在VM内部通信,从而避免了网络传输的开销。
配置语法:
vm://brokerName?transportOptions
高级配置语法:
vm:(broker:(tcp://localhost)?brokerOptions)?transportOptions
vm:broker:(tcp://localhost)?brokerOptions
使用配置文件的配置语法:
vm://localhost?brokerConfig=xbean:activemq.xml
使用Spring的配置,Xml代码:
<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" /> <!--如果persistent是true,那么ActiveMQ会在当前目录下创建一个缺省值是activemq-data的目录用于持久化保存数据。-->
</bean>
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory" depends-on="broker">
<property name="brokerURL" value="vm://localhost"/>
</bean>
2、TCP transport
TCP transport 允许客户端通过TCP socket连接到远程的broker。以下是配置语法:
tcp://hostname:port?transportOptions
3、Failover Transport
Failover Transport是一种重新连接的机制,它工作于其它transport的上层,用于建立可靠的传输。它的配置语法允许制定任意多个复合的URI。
Failover transport会自动选择其中的一个URI来尝试建立连接。如果没有成功,那么会选择一个其它的URI来建立一个新的连接。
以下是配置语法:
failover:(uri1,...,uriN)?transportOptions
failover:uri1,...,uriN
4、Discovery transport
Discovery transport是可靠的tranport。它使用Discovery transport来定位用来连接的URI列表。
以下是配置语法:
discovery:(discoveryAgentURI)?transportOptions
discovery:discoveryAgentURI
为了使用Discovery来发现broker,需要为broker启用discovery agent。
举例Xml代码:
<broker name="foo">
<transportConnectors>
<transportConnector uri="tcp://localhost:0" discoveryUri="multicast://default"/>
</transportConnectors>
</broker>
其他详细内容自己去看ActiveMQ in action