Jak zwrócić InputStreamResource i zresetować httpRequest

0

Hej,
Mam taki kawałek kodu:

HttpClient client ... ( wstrzykiwany )
....
....
public Resource someMethod(String url) {
     HttpGet request = new HttpGet(url);
     try {
           HttpResponse response = client.execute(method);
           return new InputStreamResource(respone.getEntity().getContent());
     } catch(IOException e) {
           throw new ...
     } finally {
         request.reset();
     }

Problem w tym że gdy próbuję zwrócić nowy InputStreamResource to leci wyjątek socked closed, z powodu wywołania request.reset() w bloku finally.
Pytanie brzmi, co właściwie robi ten reset (opis metody w dokumentacji jest dla mnie troche niezrozumiały), i czy jest on tutaj konieczny? Jak mam zwrócić jednocześnie nowy inputStreamResource i wykonać reset na requescie? Kiedy usunę blok finally wszystko działa ok, ale boje się że pozornie a pod spodem robi się jakiś bałagan.

@Shalom @cerrato @jarekr000000 @lion137 może ktoś ze znanych mi tu ekspertó rzuciłby okiem

2

Ale co to w ogóle za klasa? Skąd? Z jakiej libki? To jest Apache HTTP Client? Co niby ma robić ta metoda reset i czemu? Moim zdaniem to jakieś dziwne rzeczy teraz robisz, bo siłą rzeczy jak chcesz zwrócic bezpośrednio inputstream z requestu to NIE MOŻESZ go zamknąć. Pytanie co robisz z nim dalej, ale jak zwracasz przez jakieś springowe InputStreamResource to nie musisz nic więcej robić, ta klasa sobie poradzi z posprzątaniem. Wywal to finally i tyle.

Przy okazji, tak na marginesie: wrzucanie do kodu jakichś losowych instrukcji których się nie rozumie, to jest słaba praktyka. Nie rozumiesz dokumentacji? To patrzysz w źródła...

1 użytkowników online, w tym zalogowanych: 0, gości: 1