Fast, testable, Scala services built on TwitterServer and Finagle
inject-server: Remove deprecated c.t.inject.server.DeprecatedLogging trait. This trait was introduced as a placeholder shim to ensure that JUL util-logging Flags were still defined within a Finatra server such that servers did not fail upon startup if Flag values were being set. The default behavior during Flag parsing is to error if a Flag value is passed for a Flag not defined within the application.
We have removed the shim and the trait (and thus the Flag definitions), as it is not expected that users use util-logging JUL Flags for logging configuration with Finatra servers since Finatra uses the SLF4J-API. Logging configuration should be done on the choosen SLF4J-API logging implementation. If your server fails to start after this change, please ensure you are not passing values for the JUL util-logging Flags. 5b5ccf4f
finatra: Removed kafka
and kafka-streams
modules from finatra core library.
Note: We published a stand-alone finatra-kafka client with deprecation announcement to serve as exit pathway for current users.
Announcement: finagle blog 27e2c9c4
finatra: Update Jackson library to version 2.13.3 a4065f19
inject-modules: Deprecate c.t.inject.modules.LoggerModule. Update c.t.inject.app.App to mix in the util/util-slf4j-jul-bridge Slf4jBridge trait. The LoggerModule does not provide a solution inline with the best practices for bridging JUL to the SLF4J-API and users are encouraged to instead mix in the c.t.util.logging.Slf4jBridge into the main class of their application if necessary. The updates to c.t.inject.app.App will now properly bridge JUL to the SLF4J-API early in the constructor of the application catching any log messages emitted to JUL before where the bridging would have been attempted when using the LoggerModule.
Note that Slf4jBridge trait is already mixed into the c.t.server.TwitterServer trait and thus no further action is necessary forbridging JUL to the SLF4J-API in extensions of c.t.server.TwitterServer. 83360745
inject-slf4j: Deprecate c.t.inject.logging.Logging trait and methods. Users are encouraged to use the c.t.util.logging.Logging trait directly. There are no replacements for c.t.inject.logging.Logging#debugFutureResult and c.t.inject.logging.Logging#time. 084257a9
http-server: (BREAKING API CHANGE) Allow for customization of the building of the HTTP and HTTPS ListeningServer constructs. This allows users to specify any additional configuration over the Finagle Service[-R, +R] that is constructed by the HttpRouter. The c.t.finatra.http.HttpServerTrait#build method has been replaced by two more specific versions: #buildHttpListeningServer and #buildHttpsListeningServer which are used in postWarmup to create the appropriate ListeningServer given it has a defined port value.
We also update the EmbeddedHttpServer and EmbeddedHttpClient to allow for being able to run both the HTTP and HTTPS listening servers in tests. This is done by setting the httpsPortFlag to the value of https.port which will enable the binding of the HTTPS listening server to the ephemeral port in tests. 13a600ff
mysql-client: Add base client configuration in EmbeddedMysqlServer to enable for more robust testing setup. This would allow users to add configurations like charset. Added a overridable function createRichClient to MysqlClientModuleTrait to allow creating the mysql client in other ways like newRichClient(Finagle.Name, String). dc1de215