Added test reproducer and changed Queue::isDurableMessage usages into
Queue::isDurable to allow acks to hit the journal and being
correctly replicated across nodes.
Add ability to configure when creating auto created queues at the queue level
Add support for configuring message count check
Add test cases
Update docs
This refactoring changes the native library build code to allow cross-compilation
and brings the following changes:
- Fix the link target to the one that was actually found by find_library
- Replace add definitions with standard CMake C flags handling options. Among
other things, this allow greater control over which compiler flags are used
and makes it easier to turn on/off debug flags by manipulating the
CMAKE_USER_C_FLAGS variable as documented in the README
- Updates the CMake scripts to allow cross-compilation of the artemis
native library into x86 32-bit code when building on a x86 64-bit system
- Updates the library documentation
- Defines C99 as the C standard in use so that the native library code can be
compiled in older GCC versions
- Renames the readme file so it can be better visualized on the web
The code is adjusted to ensure proper release of allocated memory when
failure occurs.
It also moves the common IOCB cleanup logic to allow reuse in the
deleteContext method.
Since the context is initialized on the stack, calling free on it is
incorrect and can lead to memory corruption. This replaces the cleanup
routines w/ io_queue_release which is the appropriate way to cleanup the
context.
If the code fails to allocate native memory for the error message, it
will still perform the call to strcpy, which will result in a
segmentation fault to occur. This may cause the JVM to shutdown abruptly
potentially causing the original root cause to be hidden.
Support using group buckets on a queue for better local group scaling
Support disabling message groups on a queue
Support rebalancing groups when a consumer is added.