Czy TransformXls jest bezpieczny wielowątkowo?

2017-07-29 21:25
Błękitny Lew
0

Dobry wieczór Państwu:
Czy obiekt TransformXls jest bezpieczny wielowątkowo w servlecie dla poniższego przykładu??

public class GenerateXls extends HttpServlet {
   private TransformXls transformXls;

   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      transformXls = new TransformXls();
      Xls xls = transformXls.generate();
   }

public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
       transformXls = new TransformXls();
       Xls xls = transformXls.generate();
   }

}
edytowany 1x, ostatnio: furious programming, 2017-07-29 23:05

Pozostało 580 znaków

2017-07-29 22:55
0

Jakieś podziwaczenie tu widze :D
Generalnie to tak średnio, bo np. może być wywołana metoda doGet() i zanim zostanie wywołana metoda transformXls.generate(); doPost może zmienić referencję. No ale w praktyce to i tak ta klasa nie ma zewnętrznych zależności, więc ja bym zrobił :


public class GenerateXls extends HttpServlet {
   private final  TransformXls transformXls = new TransformXls(); 

   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      Xls xls = transformXls.generate();
   }

public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
       Xls xls = transformXls.generate();
   }

Zakładając że w klasie TransformXls jest niemutowalna


Nie pomagam przez PM. Pytania zadaje się na forum.
edytowany 2x, ostatnio: scibi92, 2017-07-29 22:56

Pozostało 580 znaków

2017-07-29 23:14
Błękitny Lew
0

To chyba będzie taki singleton, ponieważ tylko raz zostanie zainicjalizowana referencja do obiektuTransformXls.

Chodziło mi bardziej o coś takiego (Taki przykład):
Posiadam obiekt służący do pobierania treści strony www. Obiekt posiada start, stop, pobierz. Np metoda doGet startuje z otwarciem połaczenia, pobiera strone onetu dot cen walut oraz zamyka polaczenie.
metoda doPost otwiera polaczenie, pobiera strone oneu dot. walut, ale np jak zmieniła się cena walut, to jeszcze pobiera wahania ceny walut ze strony NBP, zapisuje do bazy a na koniec zamyka polączenie ze strona.
Zależy mi, aby taki obiekt zamockować(w zależności od jego stanu);

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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