The OpenWire Wire Format:字面意思是:开放链接是默认链接(传输)格式。java
开放链接是activemq的默认链接格式,它提供一种高效率的二进制格式来使消息高速传输,开放链接可以被JMS的客户端配置为链接URL字符串,或者一个Broker传输时的URL绑定。apache
参数名称缓存 |
默认值tcp |
描述优化 |
---|---|---|
stackTraceEnabled spa |
true 代理 |
是否应该把已经发生而且跟踪到的堆栈异常,经过代理(Broker)发送到客户端code |
tcpNoDelayEnabled orm |
true xml |
不影响传输格式,而是提供了一个提示,即点对点的TCP在非延迟时候,应在SOCKET中可以通讯。 |
cacheEnabled |
true |
若是不断重复的值进行缓存,以便少编组(立刻要进行的发送)发生 |
tightEncodingEnabled |
true |
对于CPU的使用率来讲,传输的大小应该被优化 |
prefixPacketSize |
true |
在每一个包被编组前(立刻要被发送),每一个包的大小是否应该做为前缀 |
maxInactivityDuration |
30000 |
最大不活动时间(套接字在以前被视为已死亡)以毫秒为单位。在某些平台上可能须要很长时间的套接字才会出现死亡,因此咱们让代理(BROKER)杀掉链接,若是他们不活跃一段时间。使用一些传输,使保活心脏的跳动功能。设置为一个值<=0来禁用活动的监测。 |
maxInactivityDurationInitalDelay |
10000 |
在启动的最大不活动检查的初始延迟(是的,这个词'初步'应该是拼写错误这样的) |
cacheSize |
1024 |
若是能被缓存,那么这个规定了缓存的最大数量。此属性中在ActiveMQ的4.1中开始添加使用 |
maxFrameSize |
MAX_LONG |
可发送最大帧大小。能够帮助防止OOM DOS攻击 |
全部选项的报文格式必须带上wireFormat。为了生效。若是没有这种正确的格式,则该选项将具备零效果。
Java:
ActiveMQConnectionFactory cf =
new
ActiveMQConnectionFactory(
"tcp://localhost:61616?wireFormat.cacheEnabled=false&wireFormat.tightEncodingEnabled=false"
);
|
Spring:
<
bean
class
=
"org.apache.activemq.ActiveMQConnectionFactory"
>
<
property
name
=
"brokerURL"
value
=
"failover:(tcp://localhost:61616?jms.optimizeAcknowledge=false&wireFormat.maxInactivityDuration=30000)"
/>
|