Einstellung-Verbindung timezone mit Feder und DBCP und MySQL

Meiner Umgebung

  • Java 5
  • Frühjahr 2.5.5
  • DBCP DataSource (org.apache.Unterhaus.dbcp.BasicDataSource)
  • MySQL

Ähnliche Beiträge

Links

Mein Problem

  • Ich brauche, um auf meine Verbindung, die Zeitzone, die darauf abzielt zu verhindern, dass die Konversionen beim Umgang mit TIMESTAMP-Spalten.

Meine Idee/Forschung

  • DBCP Connection Pool nicht zu erwähnen, alles rund um Zeitzone. LINK
  • Was ich untersuchen, und fand das oK ist beschrieben auf DIESE post, exemplifikation ist:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
    destroy-method="close">
    <property name="URL" value="${database.url}" /> 
    <property name="user" value="${database.username}" /> 
    <property name="password" value="${database.passwd}" /> 
    <property name="connectionCachingEnabled" value="true"/>
    <property name="sessionTimeZone" value="GMT-3"/>
</bean>

Um Hilfe zu bitten-Bereich 🙂

  • Aber das wird nicht funktionieren!!
  • Was ich hier will ist eine einfache Weise, vorzugsweise mit Spring konfigurieren Sie die Zeitzone auf jdbc-Verbindung.

Dank im Voraus für jede Hilfe/Tipps/Rat/wissen teilen


LÖSUNG:

War meine Lösung, basierend auf Tipps gesammelt in diesem Beitrag! Vielen Dank für alles!!!

(...)
@Override
public Connection getConnection() {
    Connection conn = null;
    Statement statement = null;
    try {
        conn = super.getConnection();
        statement = conn.createStatement();
        statement.execute("SET time_zone = \'" + timezone+"\'");
    } catch (SQLException e) {
        LOG.fatal("Error while SET time_zone", e);
    } finally {
        try {
            statement.close();
        } catch (SQLException e) {
            LOG.warn("Error while closing statement", e);
        }
    }
    if(LOG.isDebugEnabled())
        LOG.debug("SET time_zone("+timezone+") for connection, succeed!");
    return conn;
}
(...)

und auf meiner Spring-Konfigurationsdatei:

<bean id="dataSource" class="com.my.package.dbcp.TimezoneEnabledDataSource" destroy-method="close">
    (...)
    <property name="timezone" value="${database.timezone}" />
    (...)
</bean>

Ich hoffe, dieser Beitrag kann jemandem helfen, in der Zukunft. Jede Frage, die ping mich!

sind Sie sicher, dass die GMT-3 erkannt wird? Haben Sie versucht America/Los_Angeles zum Beispiel (aus Gründen der Prüfung)
Ich werde zu aktualisieren meinem Beitrag mit alle meine Funde! Ich habe einfach aufhören über etwas finden in Bezug auf DBCP-Konfigurationen!
Ich werde überprüfen, in einigen Stunden, ich bin nicht @ home, aber als peer den link erwähne ich die Fehlermeldung beschwert sich über die Eigenschaft( Ungültige Eigenschaft 'sessionTimeZone'), nicht der Wert.

InformationsquelleAutor rafa.ferreira | 2011-05-11

Schreibe einen Kommentar