Releases: advantageous/qbit
QBit Java Microservices Lib 2.0.0
Uses new Reakt and new Lokate libs which simplified Promise and Callback interfaces.
QBit Microservices Lib 1.10.0.RELEASE
QBit Microservices Lib 1.10.0.RELEASE
There have been a lot of improvements to WebSocket RPC.
We also improved marshaling and now support Java 8 LocalDateTime
for WebSocket RPC and JSON/REST.
We continue to improve our Reakt support. Now both clients proxies and services can return invokable promises. This gives a nice fluent interface for reactive microservices.
- 709 Fixed Reakt WebSocket client proxy
- 735 ManagedServiceBuilder.addEndpointServiceWithServiceManagmentBundle was not passing the endpoint object (BUG)
- 733 HttpServer and Startable should not have default methods for methods that take callbacks (buglet)
- 730 Allow HttpRequest to be passed to REST methods.
- 729 ServiceDiscovery and Websocket client integration was not working as well as it should (enhancement)
- 726 Add support for auto serializing LocalDateTime (new feature/enhancement)
- 724 @RequestParam now works with HTTP form params (feature)
- 723 Fail fast if connection can't be open Client (WebSocket RPC proxy client) (BUG)
- 722 jdk 只能支持1.8?可否改造一下支持1.7?No we will not support 1.7. 1.7 is EOL.
- 721 Not handling Boolean Value correctly (BUG)
- 720,721,718 ServiceManagementBundleBuilder enhancements and usage enhancements to support ServiceManagementBundle
- 711,712 Fixed issues with scalars and callbacks around proxies and WebSocket proxies
QBit Java Microservices Lib 1.6.0.RELEASE
QBit Java Microservices Lib 1.6.0.RELEASE
QBit Java Microservices Lib uses Reakt Reactive Java Lib.
- 689 Fixed issue where admin health check was returning the wrong HTTP stats code (we have another health check that we use that was returning the right code.).
- 687 You can now register
QueueCallbackHandler
s with serviceEndpoints, serviceQueues and serviceBundles. You can also registerQueueCallbackHandler
s when you register a service with theManagedServiceBuilder
. This allows you to get rid of@QueueCallback
annotation. - 686 see 687 (for serviceQueue).
- 684 see 687 (for ManagedServiceBuilder)
- 691 Improvement on
ServiceManagementBundle
. - 683 Adopt Metrik interface for gathering microservice KPIs
- 692 Create common facade for stats, KPI, health checks, to get rid of boiler plate code.
QBit Microservices Lib 1.5.0.RELEASE
QBit Microservices Lib now supports Reakt invokable promises for local and remote client proxies.
This gives a nice fluent API for async programming.
Invokeable promise
employeeService.lookupEmployee("123")
.then((employee)-> {...}).catchError(...).invoke();
QBit callbacks are now also Reakt Callbacks without breaking the QBit contract for Callbacks.
See Reakt Invokable Promises for more details.
A full write up on QBit Invokable Promise is pending, but the curious can see ReaktInterfacesTest Service Queue, ServiceBundle for more details, and the Remote Websocket Reakt interfaces for remote access proxies.
- 683 Use Metrik for metrics system
- 682 Support Reakt with Websocket RPC proxies
- 680 Support Inovkable promises on Service Queues
- 679 Testing for Inovkable promises on proxies
- 678 Fix health check logging
- 676 Remote proxies support Reakt Callbacks and promises
- 675 Local proxies support Reakt Inokable promises
- 674 Local proxies support Reakt callbacks
- 673 Remote proxies support callback
- 672 Get rid of boiler plate code for Reactor, StatsCollector and Health Check
Early on in this release, we added this.
The current release notes for the current build can be found under releases and there are 27 public releases in the maven repo.
Added support for Reakt in QBit 1
We added ability to convert to Reakt promises and Reakt Callbacks.
QBit 2 will use Reakt for reactor, callbacks and promises by default, but until then we need a way to start using promises on new projects as it is a simpler API than QBit CallbackBuilder (which will be gone in QBit 2).
Using Promise for success
import io.advantageous.qbit.reactive.Callback;
import io.advantageous.reakt.promise.Promise;
import static io.advantageous.qbit.reakt.Reakt.convertPromise;
import static io.advantageous.reakt.promise.Promise.promise;
...
final AtomicReference<Employee> ref = new AtomicReference<>();
final Promise<Employee> promise = promise();
/* Set then callback in promise. */
promise.then(ref::set);
/* Convert promise to callback and then call the callback. */
final Callback<Employee> employeeCallback = convertPromise(promise);
employeeCallback.returnThis(new Employee("Rick"));
Using Promise for failure
/** Set up success callback and failure callback. */
promise.then(ref::set)
.catchError(error::set);
/** Convert promise to callback and then call the callback with error. */
final Callback<Employee> employeeCallback = convertPromise(promise);
employeeCallback.onError(new IllegalStateException());
QBit Microservices Lib 1.3.0.RELEASE
QBit Microservices Lib 1.3.0.RELEASE
- Got rid of boilerplate code when using QBit and Reakt, Reactor, Stats Collector, Health check, etc.
Created ServiceManagementBundle. See issue 672
This release was published to the maven public repo.
QBit Microservices Lib 1.2.0.RELEASE
- Now using latest Reakt
'io.advantageous.reakt:reakt:2.3.0.RELEASE'
- Added
ServiceHealthManager
to simplify access to the low level service health system. - Added Utility methods to
ManagedServiceBuilder
to createServiceHealthManager
with callbacks for service failure and service recovery. - Changed
ManagedServiceBuilder
to work better with Mesosphere/Marathon port binding in bridge mode and host mode.
This release was published to the maven public repo.
QBit Java Reactive Microservices Lib 1.1.0.RELEASE
Using newest version of Reakt which is using a different group name.
This release was published to the maven public repo.
QBit Java Reactive Microservices Lib Release 1.0.0.RELEASE
Added support for Consul Session to support leader election.
Moved add-on libs into QBit Extensions.
QBit Java Reactive Microservices Lib Release 0.9.10
Updated to match Reakt 2.0.0.RELEASE.
You can now use Reakt's expect()
, thenExpect()
, Expected
with Reakt as well as the Reakt Reactor.
See Reakt 2.0.0.RELEASE release notes for more information.
We recommend using the Reakt Reactor
instead of the QBit Reactor for new projects.
The QBit Reactor is getting phased out and will not exist in QBit 2.0.
From QBit 0.9.10 to QBit 1.x , the QBit Reactor will still exist, but all new focus will be on using Reakt's Reactor.
QBit Java Reactive Microservices Lib Release 0.9.9.RELEASE
Skip this release and use 0.9.10.RELEASE.
Updated to match Reakt 2.0.0.RELEASE.
You can now use Reakt's expect()
, thenExpect()
, Expected
with Reakt as well as the Reakt Reactor.
See Reakt 2.0.0.RELEASE release notes for more information.
We recommend using the Reakt Reactor
instead of the QBit Reactor for new projects.
The QBit Reactor is getting phased out and will not exist in QBit 2.0.
From QBit 0.9.9 to QBit 1.x , the QBit Reactor will still exist, but all new focus will be on using Reakt's Reactor.