@Override public void decode(ActiveMQBuffer buffer) { SimpleString policyStr = buffer.readNullableSimpleString(); if (policyStr != null) { addressFullMessagePolicy = AddressFullMessagePolicy.valueOf(policyStr.toString()); } else { addressFullMessagePolicy = null; } maxSizeBytes = BufferHelper.readNullableLong(buffer); pageSizeBytes = BufferHelper.readNullableLong(buffer); pageMaxCache = BufferHelper.readNullableInteger(buffer); dropMessagesWhenFull = BufferHelper.readNullableBoolean(buffer); maxDeliveryAttempts = BufferHelper.readNullableInteger(buffer); messageCounterHistoryDayLimit = BufferHelper.readNullableInteger(buffer); redeliveryDelay = BufferHelper.readNullableLong(buffer); redeliveryMultiplier = BufferHelper.readNullableDouble(buffer); maxRedeliveryDelay = BufferHelper.readNullableLong(buffer); deadLetterAddress = buffer.readNullableSimpleString(); expiryAddress = buffer.readNullableSimpleString(); expiryDelay = BufferHelper.readNullableLong(buffer); lastValueQueue = BufferHelper.readNullableBoolean(buffer); redistributionDelay = BufferHelper.readNullableLong(buffer); sendToDLAOnNoRoute = BufferHelper.readNullableBoolean(buffer); slowConsumerThreshold = BufferHelper.readNullableLong(buffer); slowConsumerCheckPeriod = BufferHelper.readNullableLong(buffer); policyStr = buffer.readNullableSimpleString(); if (policyStr != null) { slowConsumerPolicy = SlowConsumerPolicy.valueOf(policyStr.toString()); } else { slowConsumerPolicy = null; } autoCreateJmsQueues = BufferHelper.readNullableBoolean(buffer); autoDeleteJmsQueues = BufferHelper.readNullableBoolean(buffer); }