我刚刚开始使用 Armeria 并努力完全理解一些事情。
我实现DecoratingHttpServiceFunction
是为了向具有 Hibernate 会话的服务提供请求。
@Override
public HttpResponse serve(HttpService delegate, ServiceRequestContext ctx, HttpRequest req) {
... // setup session for the request context
HttpResponse response = delegate.serve(ctx, req);
... // close session
return response;
}
Run Code Online (Sandbox Code Playgroud)
但显然会话在服务实际被调用之前关闭,并且返回的请求delegate.serve
是DeferredHttpResponse
. 我的方法是完全错误还是有更好的方法来做我想做的事?