Konfigurieren Sie die Grails-App für die Verwendung des JDBC-Verbindungspools

8

Dieser Artikel schlägt Tomcat 7 vor Apps sollten statt eines commons-dbcp-Verbindungspools einen JDBC-Verbindungspool verwenden. Letzteres ist jedoch der Standard für eine Grails-App, und es ist nicht offensichtlich, wie Sie sie ändern können.

Ich vermute, dass ich eine Spring-Bean in resources.groovy definieren muss, die eine standardmäßig erstellte Bean überschreibt, aber ich habe keine Ahnung, was diese Bean heißen soll oder welche Eigenschaften ich einstellen muss.

    
Dónal 03.03.2012, 23:14
quelle

2 Antworten

12

Am einfachsten wäre es, das jdbc-pool -Plugin zu verwenden. Da die Konfigurationsoptionen für diesen Pool absichtlich dem Commons DBCP sehr ähnlich sind (sie sind hier ) Sie können das Plugin verwenden, um die Jar-Abhängigkeit zu definieren und das Umschalten der Klasse für Sie zu verwalten. Das Plugin wurde in einem Jahr nicht aktualisiert, daher ist es ein bisschen veraltet (das Plugin verwendet die Version 1.0.9.0, aber die das letzte ist 1.0.9.3 ), also möchten Sie vielleicht die Plugin-Abhängigkeit ohne das jar definieren und eins für die neuere Version hinzufügen. Es ist in ebr repo, also müssen Sie das zu Ihrer BuildConfig.groovy hinzufügen (siehe plugins Version für wie er es gemacht hat).

Es gibt Konfigurationshinweise für den Pool hier und eine Reihe von Blogposts vom Autor hier .

Wenn Sie dies ohne Verwendung des Plugins konfigurieren möchten, fügen Sie ebr repo und die jar-Abhängigkeit zu BuildConfig.groovy :

hinzu %Vor%

und erstellen Sie eine Überschreibung für die dataSource -Bohne in resources.groovy :

%Vor%

Es ist praktisch, Zeichenfolgen in Anführungszeichen mit ${} Platzhaltern zu verwenden, um die Platzhalterfunktionalität von Spring zu nutzen und DRY zu behalten, da Sie den Treiber und die Verbindungsinformationen bereits in DataSource.groovy festgelegt haben.

    
Burt Beckwith 04.03.2012, 00:42
quelle
3

In DataSource.groovy verwende ich Folgendes:

%Vor%

Und alles andere wird von Tomcat definiert - das muss nur passen. In resources.groovy

muss keine dataSource-Bean definiert werden     
doelleri 04.03.2012 00:15
quelle