Umgebung
- Wildfly 10
Pool-Size dfinieren
Die standalone.xml, die mit Wildfly ausgeliefert wird, hat leider im Bereich Datasource keine Eintragungen für die Pool-Size. Daher vergisst man leicht, diese für produktive Systeme anzupassen.
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS"> <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url> <driver>h2</driver> <security> <user-name>sa</user-name> <password>sa</password> </security> </datasource>
Um die Defaultwerte der relevanten Attribute herauszufinden, empfiehlt es sich auf der Seite https://wildscribe.github.io/Wildfly/10.0.0.Final/subsystem/datasources/xa-data-source/index.html nachzuschlagen. Dort finden sich alle erlaubten Attribute und deren Standardwerte. Für die Pool-Size ist ein minimaler Wert von 0 und ein maximaler Wert von 20 die Vorgabe. In produktiven Systemen, die sicher auch nicht h2 verwenden, sind diese Werte deutlich zu gering. Um die Pool-Size und damit die möglichen DB-Verbindungen zu erhöhen, muss ein Block Pool in jede datasource Definition aufgenommen werden.
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS"> <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url> <driver>h2</driver> <pool> <min-pool-size>10</min-pool-size> <max-pool-size>80</max-pool-size> <prefill>true</prefill> </pool> <security> <user-name>sa</user-name> <password>sa</password> </security> </datasource>
Wenn das Attribut prefill gesetzt wird, wird der Pool mit der minimalen Anzahl von Verbindungen initial befüllt.