That's exactly what I was looking for. Thanks Shawn! Am Freitag, den 22.03.2019, 09:58 -0700 schrieb [email protected]: > Jersey supports org.glassfish.jersey.server.CloseableService that > lets you register Closeable objects to be closed when the request is > complete: > public Response streamData(..., @Context CloseableService closer) { > ... > closer.add(closeable); > return Response.ok(...).build(); > } > > > On Friday, March 1, 2019 at 3:10:26 PM UTC-6, Matthias Müller wrote: > > Hi, > > > > I'm looking for a robust mechanism to close Resources that have > > been opened within a request scope. My application streams lots of > > data from a backend and that connection remains open until it is > > acively closed. Sometimes I spot resource leaks and suspect that > > they are caused by aborted requests. This is the code I use: > > > > @GET //@Produces(...) public Response streamData(...) > > { ... Stream<Pojo> ps = null; try { // connect to > > db and obtain data stream for <key> ps = loadData(db, > > key); // apply detailed encoding instrunctions and create a > > StreamingOutput final StreamingOutput stream = > > Encoder.encodeData(ps, encodingArgs); return > > Response.ok(stream).build(); } catch (Exception e) > > { closeOnException(ps); // wrapper for > > ps.close(); throw e; } } > > > > > > What it handles are exceptions that occur *before* the Response is > > built, but I can hardly control what happens afterwards. So I am > > looking for a bullet-proof mechanism or hook that allows me to > > close any resources that were opened within the request scope. > > @UnitOfWork is a mechanism that is very close to what I want, but > > it is closely coupled to Hibernate. What I need is a hook that > > accepts any instance of Closeable/Autocloseable that is used within > > the executed method. > > > > -Matthias > > > > -- > > You received this message because you are subscribed to the Google > Groups "dropwizard-user" group. > > To unsubscribe from this group and stop receiving emails from it, > send an email to [email protected]. > > For more options, visit https://groups.google.com/d/optout. >
-- You received this message because you are subscribed to the Google Groups "dropwizard-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
