Update: Offenbar schließt Tomcat, beginnend mit 7.0.11, die DataSource für Sie, daher ist sie nicht in der contextDestroyed-Datei der Webanwendung verfügbar. Siehe: Ссылка
Hallo,
Ich verwende Spring 3.0 und Java 1.6.
Wenn ich eine Datenquelle auf diese Weise bekomme:
%Vor%dann wird die Datenquelle geschlossen, wenn die Bean zerstört wird.
Wenn ich die Datenquelle so bekomme:
%Vor%muss ich dann explizit die Datenquelle in meinem ContextDestroyed Listener schließen?
Danke,
Paul
Ich stimme nicht zu. Ich würde Ihrer web.xml einen Listener hinzufügen und die contextDestroyed () -Methode implementieren. Diese Methode wird von Ihrem Webcontainer / Anwendungsserver aufgerufen, wenn die Webanwendung zerstört oder nicht bereitgestellt wird. Innerhalb der contextDestroyed () würde ich die Datenquelle schließen.
in der web.xml
%Vor%Der Code:
%Vor% Nein. Das DataSource
wird hier vom entfernten JNDI-Container verwaltet, und es ist der Job dieses Containers, den Lebenszyklus von DataSource
zu verwalten. Der Frühling macht nur Gebrauch davon, es schafft es nicht.
Selbst wenn du es wolltest, könntest du nicht - DataSource
hat keine close()
-Methode oder etwas ähnliches.
Tags und Links spring jndi datasource tomcat7 spring-jdbc