QBit Java Reactive Microservices Lib Release 0.9.3
·
167 commits
to master
since this release
- 660 Report back HttpClient connection issues
- Implemented new Vertx EventBus bridge so QBit Microservice lib services can be called over the event bus.
- 659 Improved WebSocket connection open handling of QBit microservices exposed over websocket
- 656 Added Reactor One Shot task
/* Add a task that repeats every ten seconds. */
reactor.addOneShotAfterTask(10, TimeUnit.SECONDS, () -> {
test.set(true);
count.incrementAndGet();
});
- 635 Improved Dispatch so creating things like Vertx EventBus bridge to QBit Microservices Lib possible
- 631 Improved Serialization JSON strictness
- 620 Added ability to filter requests before body is read to do things like filter on HttpRequest body size
- 618 Fixed Hibernate Annotation breaking QBit problem
- 614 Filters for HttpRequest and HttpResponse was added to support things like CORS response filters
- 610 WebSocket RPC call fixes
- Implemented Reactive Streams support
- 591 Fixed form handling issue when running embedded in Vertx instead of using Vertx as lib
- 589 JSON list serialization was not working with nulls in list properly
- 587 implement form params as part of http request
- 586 issue warning if there is an attempt to create an interface with a blocking cal
- 583 ServiceQueue should empty queue on stop
- 582 EventManager.joinService needs a corresponding EventManager.leaveService
- 576 addResponseDecorator is creating duplicate http headers
- 575 of NoCache Header entry increments in every request if @NoCacheHeader is uses.
- 574 missing uri params was throwing an index out of bounds exception
- 571 improved health system so it is fit to track errors and report them to monitoring systems
- Added MDC support so that REST/WebSocket services can pass Logging MDC support to other downstream services. Request headers, request id, request info, etc. can be tracked in log to track down log message to originating request. See MDC support documents. There were several Github issues/tasks with this effort. MDC is essential for reactive Java Microservices.
final ManagedServiceBuilder managedServiceBuilder = managedServiceBuilder().setRootURI("/");
managedServiceBuilder.enableLoggingMappedDiagnosticContext();
- 568 Custom response when a message can't be parsed
- Fixed integration issues with Guice interceptors and QBit Microservices Lib.
- 563 Improved runtime speed of vertx tests
- 562 Improve speed of websocket method call handling
- 560 We were unable to send binary messages in websocket only text. Now we can send either text or binary
- 559 Unable to open WebSocket connection message was confusing. Improved WebSocket handling and error messages
- 549 Change QBit to ignore private methods and @IgnoreMethod
- We added DNS SVR records to the service discovery lib. 545 Improve DNS support
- 540 Added Header annotation for all endpoints so we can properly control HTTP cache headers
- 539 @RequestParam, @PathVariable, @HeaderParam does not give null value for optional request param.
- 534 Made EventBusQueueAdapter recoverable by using a supplier
- 533 Added base service class that takes a reactor, timer and statsCollector
- 529 Map<String, Object> does not allow deeply nested lists and maps for JSON serialization / deserialization
- 528 Take out hostname as an option for StatsReplication (some stats system encode the host name, some don't)
- 526 Document a service marking itself in a failed state
- 523 Add debugging for non started queues and queues that are filling up
- 521 If batching is set to 1, create a no batch queue
- We refactored the core Queuing classes, speed them up and simplified them.
- Added JMS as a QBit queue support
- 520 Support @GET, @DELETE, @HEAD, @POST, @PUT annotation in addition to @RequestMapping
- 518 We now support Swagger for TextHttpResponse
- 517 Add ability to specify a different contentType via RequestMapping
- 516 QBit needs to ignores Scala generated methods
- We added support to work with Scala from QBit.
- 513 AsyncFutureBuilder for legacy integration and unit testing. Add support to make a blocking call to a non-blocking interface via a blocking get operation
- AsyncFutureBuilder can support blocking calls for legacy integration and unit testing
- 499 Create websocket service client (ClientFactory) that is ServiceDiscovery aware