The following are example RingBuffer configurations.
Declarative:
<ringbuffer name="default">
<capacity>1000</capacity>
<time-to-live-seconds>0</time-to-live-seconds>
<backup-count>1</backup-count>
<async-backup-count>0</async-backup-count>
<in-memory-format>BINARY</in-memory-format>
</ringbuffer>
Programmatic:
Config config = new Config();
RingbufferConfig rbConfig = config.getRingbufferConfig();
rbConfig.setCapacity( 1000 )
.setTimeToLiveSeconds( 0 )
.setBackupCount( 1 )
.setAsyncBackupCount( 0 )
.setInMemoryFormat( "BINARY" );
RingBuffer configuration has the following elements.
capacity: Total number of items in the RingBuffer. The default value is 10000. If no time-to-live-seconds is set, the size will always be equal to capacity after the head completed the first loop around the ring. This is because no items are getting retired.time-to-live-seconds: The number of seconds that the RingBuffer retains the items before deleting them. When it is set to 0, it will be disabled. The default value is 0.backup-count: Number of synchronous backups. The default value is 1.async-backup-count: Number of asynchronous backups. The default value is 0.in-memory-format: In-memory format of an item when stored in the RingBuffer. Available values are OBJECT and BINARY. The default value is BINARY.Ringbuffer configuration has the following attributes.
name: Name of the ringbuffer. Required.