{"id":15987465,"url":"https://github.com/sbesson/omero-server-jep403","last_synced_at":"2026-03-19T20:36:28.896Z","repository":{"id":236963858,"uuid":"793519984","full_name":"sbesson/omero-server-jep403","owner":"sbesson","description":"A minimal OMERO.server running on strongly encapsulated JDK","archived":false,"fork":false,"pushed_at":"2024-04-30T07:40:12.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-23T20:22:56.829Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sbesson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-29T11:30:59.000Z","updated_at":"2024-04-30T13:34:03.000Z","dependencies_parsed_at":"2024-04-29T12:54:06.152Z","dependency_job_id":null,"html_url":"https://github.com/sbesson/omero-server-jep403","commit_stats":null,"previous_names":["sbesson/omero-server-jep403"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbesson%2Fomero-server-jep403","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbesson%2Fomero-server-jep403/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbesson%2Fomero-server-jep403/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sbesson%2Fomero-server-jep403/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sbesson","download_url":"https://codeload.github.com/sbesson/omero-server-jep403/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244020898,"owners_count":20385035,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-08T03:23:23.128Z","updated_at":"2026-01-03T20:09:30.940Z","avatar_url":"https://github.com/sbesson.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"OMERO.server on JDK 17+\n=======================\n\nThis repository is a minimal Docker-based example of the issues\nassociated with running OMERO.server up to 5.6.10 against JDK 17\nLTS and later.\n\nThe Docker compose defines 4 containers: a PSQL database container\nand 3 containers with OMERO.server running on Java 11, 17 and 21.\nThese containers can be built and started using the standard\n``docker compose`` commands:\n\n    docker compose build\n    docker compose up -d\n\nWithin each container, the ``init.sh`` script will initialize the database\nand sets a minimal OMERO configuration including self-signed certificates.\n\nJava 11\n-------\n\nOn the Java 11 container, it should be possible to start OMERO.server\nimmediately after running the initialization script\n\n    docker compose exec jdk11 bash\n    (OMERO.venv) omero@e85df0ecd93b:~$ ./init.sh\n    ...\n    UPDATE 1\n    COMMIT\n    OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)\n    certificates created: /OMERO/certs/server.key /OMERO/certs/server.pem /OMERO/certs/server.p12\n    (OMERO.venv) omero@e85df0ecd93b:~$ omero admin start\n    WARNING: Your server has not been configured for production use.\n    See https://docs.openmicroscopy.org/omero/latest/sysadmins/server-performance.html?highlight=poolsize\n    for more information.\n    Creating /opt/omero/OMERO.current/var/master\n    Initializing /opt/omero/OMERO.current/var/log\n    Creating /opt/omero/OMERO.current/var/registry\n    No descriptor given. Using etc/grid/default.xml\n    Waiting on startup. Use CTRL-C to exit\n\n\nJava 17+\n--------\n\nOn the Java 17 and 21 container, running `omero admin start` immediately\nafter running the initialization script will lead to a startup failure due\nto the strong encapsulation enforcement in Java 17 and later\nA workaround is to set ``--add-opens`` and ``--add-exports`` using the\n``omero.jvmcfg.append`` configuration:\n\n    docker compose exec jdk17 bash\n    (OMERO.venv) omero@72b42ffbf2c3:~$ ./init.sh\n    ...\n    UPDATE 1\n    COMMIT\n    OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)\n    certificates created: /OMERO/certs/server.key /OMERO/certs/server.pem /OMERO/certs/server.p12\n    (OMERO.venv) omero@72b42ffbf2c3:~$ omero config set omero.jvmcfg.append '--add-opens java.base/java.lang=ALL-UNNAMED --add-exports java.naming/com.sun.jndi.ldap=ALL-UNNAMED'\n    (OMERO.venv) omero@72b42ffbf2c3:~$ omero admin start\n    WARNING: Your server has not been configured for production use.\n    See https://docs.openmicroscopy.org/omero/latest/sysadmins/server-performance.html?highlight=poolsize\n    for more information.\n    Creating /opt/omero/OMERO.current/var/master\n    Initializing /opt/omero/OMERO.current/var/log\n    Creating /opt/omero/OMERO.current/var/registry\n    No descriptor given. Using etc/grid/default.xml\n    Waiting on startup. Use CTRL-C to exit\n    (OMERO.venv) omero@72b42ffbf2c3:~$\n\nReferences\n----------\n\nSee also:\n\n* [Migrating from JDK 8](https://docs.oracle.com/en/java/javase/17/migrate/migrating-jdk-8-later-jdk-releases.html#GUID-7BB28E4D-99B3-4078-BDC4-FC24180CE82B)\n* [JEP 403](https://openjdk.org/jeps/403)\n* https://github.com/ome/openmicroscopy/issues/6383\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbesson%2Fomero-server-jep403","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsbesson%2Fomero-server-jep403","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsbesson%2Fomero-server-jep403/lists"}