This repository was archived by the owner on Feb 27, 2024. It is now read-only.
Tags: oracle/wookiee
Tags
Wookiee v2.4.3: Kafka Test Helper, Localization Web Support, CORS Ori… …gins, Kafka Test Support * CaseInsensitiveMap class to give scala support for concurrency-safe, immutable, case-insensitive keyed maps-- with support for scala 2.12 and 2.13 * Switch to a 'Using' structure for try-with-resources patterns * Can now Broadcast a message to every Component at once * Java interop support for Commands (down through HttpCommand) * LoggingAdapter - Can now log error and forget it happened without blocking using LoggingAdapter.asyncLogErrorAndForget(something(), Some("it failed I guess")) - New logging debug function called LoggingAdapter.printLoggingClasses() that prints out the bindings for all slf4j related libraries to the console + Use this when logging becomes an issue * wookiee-web - Query parameters, path segments, and headers are all case-insensitive now - Access Logging can be turned off via configuration (wookiee-web.access-logging.enabled) - Locale support for requests that contain the 'accept-languages' header - Request added to error handler signatures for both HTTP and WS - Health check and other system endpoints are now internal-only - Many additional static methods in HttpObject for Java interop - Extra methods in WookieeRequest for accessing details - Json parse will no longer error out in contentJson() method - Logging bridge added to allow Helidon to append to slf4j logs - Added request timeout configs for both internal and external servers to allow one to return after a set interval (with a 504 code) if request takes longer than that timeout - Can set allowed origins after startup via a convenience method in WebManager - Keep-alive ping support in websockets, can be turned on via configuration - Added per-endpoint ability to specify more strict allowed origins via the EndpointOptions * wookiee-kafka - KafkaTestHelper -- public utility class with tons of helpful methods and automation for kafka-related testing - The popular ZooMode class is now native, helpful for local Zookeeper instances for testing - resetToLatest now defaults to 'false' - process convenience functional method for consuming data - close underlying consumer when kafka readers are closed - most objects now extend AutoCloseable * wookiee-grpc - Added load balancing policy to list of args in channel creation, w/ default of RoundRobinHashedPolicy * grpc to 1.59.1, jul-to-slf4j added as dep, logback-core an explicit dep
Wookiee 2.4.2 (#234) * Process method for consumers * Netty TC to 2.0.62.Final * Scala PB to 0.11.14 * Lowercase for schema in grpc * Close kafka readers when underlying consumer is closed * Finagle to 23.11.0 * SnakeYaml to 2.2 * Match higher versions in wookiee 2.3 * 2.4.2
Wookiee 2.4.2 (#234) * Process method for consumers * Netty TC to 2.0.62.Final * Scala PB to 0.11.14 * Lowercase for schema in grpc * Close kafka readers when underlying consumer is closed * Finagle to 23.11.0 * SnakeYaml to 2.2 * Match higher versions in wookiee 2.3 * 2.4.2
Wookiee 2.4: Discovery, De-Akkafication, Helidon Webservice (#231) Support for an Akka-less Future Created a new Mediator trait that's used for static object management Global access to ActorSystem Added a WookieeSupervisor to manage new non-akka executives, and to eventually replace HarnessActor Added a new akka-less WookieeMonitor trait with health checks and other common functions Created WookieeCommandExecutive (with tests) which is the new holder for V2 commands Created new ComponentV2 that loads up without Akka and has the same functionality Support in ComponentManager for message/request to V2 Components Support for propagation of start, shutdown, and health check to a Component V2 and its children Created WookieeService parent and new ServiceV2 extensible Support for Services that aren't akka-powered Full monitoring (health and more) for ServiceV2 Removal of support for multiple Services on one Wookiee (not used) Wookiee Actor Trait Support for all common Actor operations Queued execution and overrideable mailboxes Support for state changes via 'become' Support for stash() and unstashAll() 100% code coverage WookieeActorRouter trait and instantiation methods for making WookieeActor routers RoundRobinRouter for simple routing Support in V2 command structure for routers New V2 command structure with typing and no akka dependency TestHarness upgrades to handle V2 Services and Components New WookieeOperations class which will have tools to emulate actors Removed ActorLoggingAdapter and all references Moved non-akka code out to a safe wookiee-libs module Wookiee Metrics to ComponentV2 Wookiee Zookeeper to ComponentV2 Wookiee gRPC to Component V2 Wookiee Cache to Component V2 Wookiee Memcache to Component V2 Creation of new module wookiee-discovery for akka-less gRPC clustering and messaging New trait for DiscoverableCommand which supports gRPC messaging Exec and Helper classes/traits to register/execute discoverable commands More graceful catching of errors on discoverable gRPC executions Detailed README 100% test coverage Creation of new Component wookiee-web for web client and service hosting via helidon-web.. Created WookieeRouter to handle wildcards and endpoint routing using an efficient tree Web Manager for endpoint registration and management of internal and external services Support for HTTP query parameters, headers, and path segments Error handling at each phase of processing New WookieeHttpHandler which replaces AkkaHttpBase for OOP model of endpoint creation Complete support of CORS specs for allowed Origins (config), Headers (per-endpoint), and Methods (dynamically populated) OPTIONS call able to give details on any endpoint WookieeHttpService trait for easy command adding Full websocket support in wookiee-helidon Compression support OOP registration endpoint Websocket CORS support Websocket query/params support Added functional endpoint for registration WookieeWebsocket trait for OOP support Added a WookieeWebClient powered by Helidon WebClient Support for proxy hosts Default endpoints (metrics/healthcheck) Content type support SSL support Detailed README 100% test coverage Example project 'advanced-communication' that has two interconnected Services showing the use of wookiee-helidon and wookiee-discovery Examples of functional and OOP usages of both HTTP and WS endpoints Example of communication across services using Discoverable Commands Refactor of deeply deprecated patterns in wookiee-grpc-dev Creation of LoggingAdapterIO for IO wrapped logging Scalafmt to 3.7.11, guava to 32.1.1-jre, removal of log4cats, removal of slf4j-impl, akka downgrade to 2.6.20
Fix for build versioning (#168) * Fix for Broken Pipe error from SimpleHttpServer * Will caused by failing to catch an IOException * One extra Try to prevent an NPE on shutdown * Package name change * Safe check for when context is null * Config file change to debug * Change TestHarness to allow one to input their own timeout for startup checks * Pass up time to wait * Allow one to increase the startup wait for Wookiee Test * Unused imports * updates some more * more type work * fixed type * more clean up * updating to 2.12.10 as default scala version, adding cross compile support for 2.13 * spelling typo * Cleanup and split off requests into each WeatherForecast policy method * Adds method for constructing dynamic wookiee command class * Expansion of Wookiee Test to enable multiple Wookiee instances to be created * Bring back BaseWookieeTest, for convenience for test setup * Uses akka thunk for creating command dynamically * Move command map to inside of CommandManager actor so that when we have multiple wookiees running they can each register their own commands * Get commands running through * Merged code from local pete_playground * Move away from deprecated java converters * First effort on the new dispatcher model * New signature for marshaller support * Fix weather command name * Add methods to add Commands to out Command Manager * Moved a few functions out to CommandHelper's companion object so that non-actors can access them * Moved WookieeFactory up to wookiee-core * Created unit test for Wookiee Factory * Change names from Command to Wookiee, per comments * Small changes to Command creators to support Wookiee ZK * Add shutdown convenience method * Complete transition over to ScalaTest from Specs2 * Update copyrights * Fixed typo in README.md (#149) * Remove broken test * Bump some versions for 2.13 * Changes to support cross compatibility between Scala 2.12 and 2.13 * Remove the iteratee libraries, nobody uses them, they aren't compatible with Scala 2.13, and they are just copied from the play framework * Remove all postfix * Match version tags for 2.0.0-RC * Attempted fix for pom issues * Attempted fixes for build * Release tags regex * Remote Command Implementation Agnostic * Removed support for akka remoting * Updated signatures to allow for custom remoting logic * Unit tests for both local and 'remote' cases * Joda time to latest * Fixes for Scala 2.13 * Now fix Scala 2.12 again lol * Bump deps * Use new VERSION file to attempt snapshot builds * Snapshots (#166) * Fix for Broken Pipe error from SimpleHttpServer * Will caused by failing to catch an IOException * One extra Try to prevent an NPE on shutdown * Package name change * Safe check for when context is null * Config file change to debug * Change TestHarness to allow one to input their own timeout for startup checks * Pass up time to wait * Allow one to increase the startup wait for Wookiee Test * Unused imports * updates some more * more type work * fixed type * more clean up * updating to 2.12.10 as default scala version, adding cross compile support for 2.13 * spelling typo * Cleanup and split off requests into each WeatherForecast policy method * Adds method for constructing dynamic wookiee command class * Expansion of Wookiee Test to enable multiple Wookiee instances to be created * Bring back BaseWookieeTest, for convenience for test setup * Uses akka thunk for creating command dynamically * Move command map to inside of CommandManager actor so that when we have multiple wookiees running they can each register their own commands * Get commands running through * Merged code from local pete_playground * Move away from deprecated java converters * First effort on the new dispatcher model * New signature for marshaller support * Fix weather command name * Add methods to add Commands to out Command Manager * Moved a few functions out to CommandHelper's companion object so that non-actors can access them * Moved WookieeFactory up to wookiee-core * Created unit test for Wookiee Factory * Change names from Command to Wookiee, per comments * Small changes to Command creators to support Wookiee ZK * Add shutdown convenience method * Complete transition over to ScalaTest from Specs2 * Update copyrights * Fixed typo in README.md (#149) * Remove broken test * Bump some versions for 2.13 * Changes to support cross compatibility between Scala 2.12 and 2.13 * Remove the iteratee libraries, nobody uses them, they aren't compatible with Scala 2.13, and they are just copied from the play framework * Remove all postfix * Match version tags for 2.0.0-RC * Attempted fix for pom issues * Attempted fixes for build * Release tags regex * Remote Command Implementation Agnostic * Removed support for akka remoting * Updated signatures to allow for custom remoting logic * Unit tests for both local and 'remote' cases * Joda time to latest * Fixes for Scala 2.13 * Now fix Scala 2.12 again lol * Bump deps * Use new VERSION file to attempt snapshot builds Co-authored-by: Peter Crossley <[email protected]> Co-authored-by: Alexander Clifford <[email protected]> Co-authored-by: bez_buldyrabyz <[email protected]> * Remove branch requirement * Documentation * Move remote logic params to their own signature * Remove version file and instead pump in the branch name for snapshot builds * Readme updates * Remove the remote port from all configs and change TestHarness to reference the actor system directly to allow multiple to come up at once * Remove scala parsing dependency as nobody is using it * Fix for travis build settings Co-authored-by: Peter Crossley <[email protected]> Co-authored-by: Alexander Clifford <[email protected]> Co-authored-by: bez_buldyrabyz <[email protected]>
PreviousNext