confused what Java implementation better to use. I incline to pure Java
implementation.
But what about stability and rationality of existed solutions?
As for confusion, in the past there was the JCA lib that defines an API and offers a JNI-based implementation, and the separate CAJ implementation of that API in pure Java.
For a while now, they have been merged, so from
https://github.com/epics-base/jca you get that same JCA API with the one and only implementation, CAJ, included. It's the lib that has been
used by for example CS-Studio for decades.