Please Explain Hibernate/ORM Installation / Initialization Internals

I’ve probably accumulated 60+ hours trying to get ORM to work reliably in Lucee docker images. I keep thinking I’ve worked around it, but then I’ll get the No ORM Engine installed! error when trying to run my application in the container.

My assertions about image building:

  • Provided the same Dockerfile/context, a build that runs to completion on System A and System B should yield identical results.
  • If there are any problems with the build (e.g., a download server is inaccessible for whatever reason), the build should fail, rather than hide the problem.

I suspect that due to some quirks with Lucee server, neither of those assertions are satisfied.

Due to some beefs (A, B) with the official image, I build my own, but I use the same build procedure.

On one of my build/runtime environments (a vagrant RHEL VirtualBox VM running on an OSX host), I intermittently get images that result in my application throwing No ORM Engine installed! errors.

Could someone please give me a detailed rundown of how the ORM extension gets initialized? (Which files gets copied, from where to where, at which point in the process; whether any downloads take place, etc.) Only then can I troubleshoot in a sane way.

I’ve seen the install extensions on demand thread, but it’s too high-level to understand the plumbing.

Thanks in advance,
Jamie

Refs

I suppose I’ll have to continue down the rabbit hole myself, but at the moment, I’m stuck trying to step-debug Lucee server: https://lucee.daemonite.io/t/hacking-debugging-lucee-core-and-dealing-with-debugging-timeout/4962

we’re using this in the Dockerfile

ENV LUCEE_EXTENSIONS “FAD1E8CB-4F45-4184-86359145767C29DE;name=Hibernate;version=3.5.5.59,E6634E1A-4CC5-4839-A83C67549ECA8D5B;name=MongoDB”

our projects connect to a few different MS SQL server versions using 4.0 MSSQL drivers, seem to have a lot of errors and problems with other versions of hibernate but this one has been pretty solid