Hello Suryaa

I wasn't aware that Apache Derby was going to be retired. Thanks for the information! Then yes, we should definitively transition to another database. Apache SIS is already compatible with HSQL, H2 and PostgreSQL, with those 3 databases tested in JUnit tests. It may also be compatible with other databases, we have just not tried other. In the meantime (before the transition to another database), for using the current version of SIS with a different database, replace the `sis-embedded-data` dependency by `sis-epsg` and follow the instructions there:

https://sis.apache.org/epsg.html#existing

Users can specify their own `javax.sql.DataSource` providing connections to an initially empty database. If the `sis-epsg` JAR file is present in the dependencies, it will automatically creates the EPSG tables when first needed (note that if the EPSG tables already exist, they will not be updated. Therefore, upgrading `sis-epsg` is not sufficient for upgrading the tables, the tables must also be deleted for forcing a recreation). For a programmatic shutdown, one possible way is to first invoke `Configuration.shutdown()` then close the `DataSource` in the database-specific way. If this way is not convenient, SIS uses JVM shutdown hooks internally, but does not currently provides public API for interacting with them.

For the roadmap, we plan to make a 1.6 release this week for addressing a security issue in the reading of XML documents (GML, GPX or ISO 19139). I propose that we keep Derby for that release, then transition to another database just after. The intent is to keep the differences compared to 1.5 small enough for reducing the risk that some users perceive the changes as a barrier for upgrading to 1.6.

    Regards

        Martin


Le 20/01/2026 à 13:38, Suryaa Charan Shivakumar a écrit :
Hello team,

Happy new year! We have been experimenting with using Apache SIS within Apache AsterixDB to support EPSG CRS definitions. Currently, each AsterixDB worker node runs an embedded Apache Derby instance within its JVM to service queries requiring CRS information.

Given the recent retirement of the Apache Derby project <https://db.apache.org/derby/#Derby+Retired>, we are evaluating our migration options and have two primary questions:

 1. Migration to H2/HSQL: Are there official plans for Apache SIS to
    migrate its default EPSG metadata provider from Derby to another
    engine like H2 or HSQL? Specifically, can we use H2 directly with
    the current version of Apache SIS for EPSG lookups, and has this
    combination been tested or verified for compatibility?
 2. Programmatic Shutdown: Since we run these as embedded instances
    across many worker nodes, we are looking for a reliable way to
    programmatically shut down the database instance to free up
    resources. We noted that H2 offers straightforward ways to trigger
    a shutdown via code; does Apache SIS provide a standardized hook
    to manage the lifecycle (specifically the closure) of the
    underlying EPSG database?

We would appreciate any guidance or roadmaps you can share regarding these embedded database transition.

Best Regards,
Suryaa Charan

Reply via email to