Details
Description
The JDO API has two JNDI dependencies:
JDOHelper.getPersistenceManagerFactory(String jndiLocation, Context context) and
JDOHelper.getPersistenceManagerFactory(String jndiLocation, Context context, ClassLoader loader)
The JNDI dependency complicates building and running the TCK (because of the non-free nature of the implementation). It is also the only part of the API that stops it being compatible with Android. The CI runs currently have all tests disabled that depend on JNDI (TBD, how does it compile without the classes???).
There are many options for simplifying this issue:
- Drop JNDI support? Is JNDI still used? Probably yes, see JDBC, JPA, EJB, JMS.
- Move the two methods into a separate JDOJNDIHelper. This would (probably) allow us to more easily exclude it from builds when desired, for example using Java 9 modules.
- Provide a dummy implementation of the JNDI classes. This would allow compiling the API without problems (also on Android), but we would still need to exclude it from tests.
- Switch to a free leightweight implementation, e.g. https://github.com/h-thurow/Simple-JNDI or https://github.com/dattack/standalone-jndi
Attachments
Issue Links
- relates to
-
JDO-832 Remove RunTCK option jdo.tck.skipJndi
- Resolved
- links to