My request to update the bundled JPA API to 2.1, or at least extract the
JAR for easy replacement (http://bugs.caucho.com/view.php?id=5678) was
turned down with reference to the <server-default> / <jvm-classpath>
I have finally gotten around to trying this, with the Hibernate JPA 2.1
API (which is the only implementation I know of). The classpath is
indeed overridden, however it does not work due to the Amber
implementation, even if unused. This is because
AmberPersistenceProvider.getProviderUtil() returns null, and the
javax.persistence.PersistenceUtil implementation assumes that the
ProviderUtil of all providers are non-null.
I have been able to deregister Amber from the
PersistenceProviderResolver using reflection, but again, this would have
been sooo much easier if only there was a separate JAR.
A separate JAR would also have avoided the problem with the fact that
the <jvm-classpath> config assumes the server is spawned by the
watchdog, and thus does not work with the IntelliJ IDEA plugin, that
doesn't support explicitly reordering JARs.
resin-interest mailing list