Wildfly – Pool-Size der Datenbankverbindungen


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.

Du hast Fragen oder Anmerkungen? Kontakt: arndt@schoenb.de

,