46 lines
2.2 KiB
Text
Executable file
46 lines
2.2 KiB
Text
Executable file
|
|
=== Modify the {{book.project.name}} Datasource
|
|
|
|
After declaring your JDBC driver, you have to modify the existing datasource configuration that {{book.project.name}} uses
|
|
to connect it to your new external database. You'll do
|
|
this within the same configuration file and XML block that you registered your JDBC driver in. Here's an example
|
|
that sets up the connection to your new database:
|
|
|
|
.Declare Your JDBC Drivers
|
|
[source,xml]
|
|
----
|
|
<subsystem xmlns="urn:jboss:domain:datasources:4.0">
|
|
<datasources>
|
|
...
|
|
<datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true">
|
|
<connection-url>jdbc:postgresql://localhost/keycloak</connection-url>
|
|
<driver>postgresql</driver>
|
|
<pool>
|
|
<max-pool-size>20</max-pool-size>
|
|
</pool>
|
|
<security>
|
|
<user-name>William</user-name>
|
|
<password>password</password>
|
|
</security>
|
|
</datasource>
|
|
...
|
|
</datasources>
|
|
</subsystem>
|
|
----
|
|
|
|
Search for the `datasource` definition for `KeycloakDS`. You'll first need to modify the `connection-url`. The
|
|
documentation for your vendor's JDBC implementation should specify the format for this connection URL value.
|
|
|
|
Next define the `driver` you will use. This is the logical name of the JDBC driver you declared in the previous section of this
|
|
chapter.
|
|
|
|
It is expensive to open a new connection to a database every time you want to perform a transaction. To compensate, the datasource
|
|
implementation maintains a pool of open connections. The `max-pool-size` specifies the maximum number of connections it will pool.
|
|
You may want to change the value of this depending on the load of your system.
|
|
|
|
Finally, with PostgreSQL at least, you need to define the database username and password that is needed to connect to the database. You
|
|
may be worried that this is in clear text in the example. There are methods to obfuscate this, but this is beyond the
|
|
scope of this guide.
|
|
|
|
NOTE: For more information about datasource features, see link:{{book.appserver.doc_base_url}}{{book.appserver.version}}{{book.appserver.datasource_ref.link}}[{{book.appserver.datasource_ref.name}}]
|
|
in the _{{book.appserver.admindoc.name}}_.
|