Czy TransformXls jest bezpieczny wielowątkowo?

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();
   }
   
}
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

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);

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