Skip to main content

ActiveJ 5.5 - Performance improvements and bug fixes

· 2 min read

ActiveJ v5.5 was released on Jun 15, 2023 (see on Maven). This release introduces bug fixes, as well as some performance improvements.

  • General
    • Updated dependency versions.
    • Changed logging levels in some components to be more appropriate.
    • Added method for parsing InetSocketAddress that tries to resolve the address.
    • Made Checks enabled by default if Java's assertions are enabled.
  • ByteBuf
    • Fixed UTF-8 encoding in ByteBufStrings.
  • Eventloop
    • Improved performance of scheduled tasks. Minimized garbage collection required for task scheduling.
  • Inject
    • Added the ability to create bindings out of Java's constructors.
    • Simplified wildcard types in KeyPattern.
  • RPC
    • Improved RpcClient start/stop routine.
    • Added launcher for multithreaded RPC server.
    • Added RpcClient#withForcedShutdown method to allow shutting down the RpcClient even if there are active connections.
  • HTTP
    • Fixed inspector notification about malformed data exceptions.
    • Improved shutdown routine of HttpClient.
    • Added the ability to forcefully shutdown HttpClient.
    • Made response code of HttpResponse mutable.
    • Fixed multipart/form-data request parsing by considering the last CRLF optional, as per RFC.
  • Datastream
    • Fixed ChannelSerializer behavior on exception occurances.
    • Added StreamLimiter class that limits number of items that pass via datastream pipeline.
    • Added StreamSkip class that omits N first items that pass via datastream pipeline.
    • Fixed stats aggregation in StreamStatsForwarder.
  • Codegen
    • Fixed method invocations on interfaces.
    • Improved class caching in RecordScheme.
    • Compared fields in RecordScheme are now transfered to the projection.
  • Serializer
    • Restricted non-static inner classes to be used for serialization.
    • Fixed closing routine in StreamInput.
    • Removed caching from StreamCodecs.
    • Added StreamCodecs#reference method that introduces an effective way to serialize/deserialize duplicate item instances.
  • Specializer
    • Refactored ActiveJ Specializer to perform well on conditional code.
  • JMX
    • Added JMX reducers (Average, Any).
    • Added built-in support for JMX attributes/operations of Enum type.
    • Added built-in support for JMX attributes/operations of InetSocketAddress type.