Skip to content

Include Postgres JDBC driver in pom.xml #6819

@poikilotherm

Description

@poikilotherm

(I looked everywhere, but I could not find an existing issue for this, thus creating a new. This is related to my old epic #5292 and had a commit for it, see df2b8cc)

Modern app servers are capable to load the JDBC driver from the deployed WAR when setting up database connections.

This makes manual installation of the Postgres driver obsolete and enables usage during integration tests with Testcontainers.

The addition to pom.xml is very simple:

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.2.12</version>
</dependency>

In addition, instead of letting the installer configure the database connection in domain.xml, we can provide the connection details either from annotations (Java EE standard compliant, should be preferred) or provide them from glassfish-resources.xml (which also support variables substitution from domain, environment or alias).

Note: the above has been skipped as beyond scope for now. Small steps.

Obviously, this affects a lot of places. Docs (#6593), installer (#6761), container images, ...
It makes updating and testing much easier: there is only ONE place to change the version, ideally by using a Maven property.

I already tested this a while ago, see links below.
What I don't remember: it's not clear if the timers database can be used for this, too. IIRC this is why I created #5345...

See also:

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions