keycloak-scim/topics/database/datasource.adoc

47 lines
2.2 KiB
Text
Raw Normal View History

2016-04-27 21:01:22 +00:00
=== Modify the {{book.project.name}} Datasource
After declaring your JDBC driver, you have to modify the existing datasource configuration that {{book.project.name}} uses
2016-04-29 16:09:09 +00:00
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
2016-04-27 21:01:22 +00:00
that set's 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>
----
2016-04-29 20:12:12 +00:00
Search for the `datasource` definition for `KeycloakDS`. You'll first need to modify the `connection-url`. The
2016-04-29 16:09:09 +00:00
documentation for your vendor's JDBC implementation should specify the format for this connection URL value.
2016-04-27 21:01:22 +00:00
2016-04-29 20:12:12 +00:00
Next define the `driver` you will use. This is the logical name of the JDBC driver you declared in the previous section of this
2016-04-27 21:01:22 +00:00
chapter.
It is expensive to open a new connection to a database ever time you want to perform a transaction. To compensate, the datasource
2016-04-29 20:12:12 +00:00
implementation maintains a pool of open connections. The `max-pool-size` specifies the maximum number of connections it will pool.
2016-04-27 21:01:22 +00:00
You may want to change the value of this depending on the load of your system.
2016-04-29 16:09:09 +00:00
Finally, with PostgreSQL at least, you need to define the database username and password that is needed to connect to the database. You
2016-04-27 21:01:22 +00:00
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 and details features of datasources, please see the link:{{book.appserver.datasource.link}}[the datasource configuration chapter]
2016-04-29 16:09:09 +00:00
of the {{book.appserver.admindoc.name}}.
2016-04-27 21:01:22 +00:00