Witam
Mam pewien problem, z którym od dłuższego czasu nie mogę sobie poradzić.
Pojawił się on gdy do aplikacji wprowadziłem scope - sesyjny, dokładniej do kontenera springowego.
Dokonałem integracji springa z vaadinem zgodnie z tym artykułem
http://java.dzone.com/articles/vaadin-spring-integration
Dodałem servlert do deskryptora wdrożenia.
<servlet> <servlet-name>SpringVaadinServlet</servlet-name> <servlet-class>pl.com.vaadin.servlet.SpringApplicationServlet</servlet-class> <init-param> <param-name>applicationBean</param-name> <param-value>applicationBean</param-value> </init-param> </servlet>W pliku applicationContext.xml powiązałem główne okno z servletem.
<bean name="applicationBean" class="pl.com.ui.main.MainVindowImpl"> <property name="centerViewImpl" ref="centerViewImpl" /> <property name="leftViewImpl" ref="leftViewImpl" /> </bean>Wszystko działało dobrze do momentu gdy zmieniłem zasięg komponentów w kontenerze.
(Z dokumentacji wiadomo, że komponent bez podanego scope jest singletonem. )
Jak widać do głównego okna dodałem referencje dwóch innych komponentów, które tez mam zarejestrowane w kontenerze springowym.
W momencie gdy zmieniłem zasięg właśnie tych dwóch komponentów na session, dostałem po dwa różne egzemplarze każdego komponentu. Nie wiem jak się pozbyć tych niepotrzebnych egzemplarzy.
Oczywiście aplikacje odpalam na serwerze aplikacyjnym tomcat 6.
Jeśli ktoś zna problem lub domyśla się w czym leży przyczyna , wdzięczny był bym za wskazówki.
Pozdrawiam.