in knights/openjpa-knight/src/main/java/org/apache/geronimo/arthur/knight/openjpa/OpenJPAExtension.java [77:99]
private void registerDBCP2IfPresent(final Context context) {
try {
final Class<?> evictionPolicy = context.loadClass("org.apache.commons.pool2.impl.DefaultEvictionPolicy");
final ClassReflectionModel model = new ClassReflectionModel();
model.setName(evictionPolicy.getName());
model.setAllPublicConstructors(true);
context.register(model);
context.register(new ResourceBundleModel("org.apache.commons.dbcp2.LocalStrings"));
// dbcp2 depends on commons-logging in a hardcoded way (don't ask)
addCommonsLogging(context).forEach(it -> {
final ClassReflectionModel reflect = new ClassReflectionModel();
reflect.setName(it.getName());
reflect.setAllPublicConstructors(true);
reflect.setAllDeclaredConstructors(true);
context.register(reflect);
});
} catch (final NoClassDefFoundError | Exception e) {
// no-op
}
}