You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An annotated service now allows specifying multiple RequestConverterFunctions for service method parameters. #1412
publicclassMyService {
@Get("/info")
publicStringgetInfo(@RequestConverter(FirstConverter.class)
@RequestConverter(SecondConverter.class)
MyInfoRequestrequest) { ... }
// In old Armeria:// public String getInfo(@RequestObject(FirstConverter.class) // MyInfoRequest request) { ... }
}
Added RequestLog.requestStartTimeMicros() and responseStartTimeMicros() which provide timestamps with microsecond precision. This feature is available for Java 9 or above only. #1427
You can now inject different script for different requests in DocService. Previously, you were allowed to specify only one script for all requests. #1400
Improvements
You do not need to specify @RequestObject annotation for service method parameters anymore. #1412
@RequestConverter(MyInfoRequestConverter.class)
publicclassMyService {
@Get("/info")
publicStringgetInfo(MyInfoRequestrequest) { ... }
// In old Armeria:// public String getInfo(@RequestObject MyInfoRequest request) { ... }
}
Improved the overall performance by reducing unnecessary event loop task scheduling. #1424
Improved the gRPC performance especially for the services with large payloads by reducing unnecessary memory copies. #1429
Bug fixes
Fixed a bug where HttpFileService does not invalidate cache when a file is modified, deleted or created. #1404
Fixed a bug where ClosedSessionException is raised when UnprocessedRequestException is expected. #1406
Fixed a bug where RequestLog does not reach COMPLETE availability in some cases. #1415
HttpClient does not normalize the request path unnecessarily anymore. #1416#1417
Breaking changes
@RequestObject does not have a value anymore. Use @RequestConverter annotation instead. #1412