| The EntityManagerFactoryBuilderImpl calls the buildBootstrapServiceRegistry like this:
final BootstrapServiceRegistry bsr = buildBootstrapServiceRegistry( integrationSettings, providedClassLoader, providedClassLoaderService);
final StandardServiceRegistryBuilder ssrBuilder = StandardServiceRegistryBuilder.forJpa( bsr );
final MergedSettings mergedSettings = mergeSettings( persistenceUnit, integrationSettings, ssrBuilder );
It would be better if we did it like this:
final MergedSettings mergedSettings = mergeSettings( persistenceUnit, integrationSettings, ssrBuilder );
final BootstrapServiceRegistry bsr = buildBootstrapServiceRegistry( mergedSettings, providedClassLoader, providedClassLoaderService);
final StandardServiceRegistryBuilder ssrBuilder = StandardServiceRegistryBuilder.forJpa( bsr );
This way, we can use the PersistenceUnit properties as well, when scanning for an IntegratorProvider. Currently, passing the IntegratorProvider works only in Spring, not in Java EE applications using the persistence.xml configuration file. |