Added info-level logging for default unit detection
Issue: SPR-11333
This commit is contained in:
parent
b4e48d6749
commit
88730bdaa5
|
|
@ -35,6 +35,9 @@ import javax.persistence.ValidationMode;
|
||||||
import javax.persistence.spi.PersistenceUnitInfo;
|
import javax.persistence.spi.PersistenceUnitInfo;
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
import org.springframework.context.ResourceLoaderAware;
|
import org.springframework.context.ResourceLoaderAware;
|
||||||
import org.springframework.context.weaving.LoadTimeWeaverAware;
|
import org.springframework.context.weaving.LoadTimeWeaverAware;
|
||||||
|
|
@ -119,6 +122,8 @@ public class DefaultPersistenceUnitManager
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected final Log logger = LogFactory.getLog(getClass());
|
||||||
|
|
||||||
private String[] persistenceXmlLocations = new String[] {DEFAULT_PERSISTENCE_XML_LOCATION};
|
private String[] persistenceXmlLocations = new String[] {DEFAULT_PERSISTENCE_XML_LOCATION};
|
||||||
|
|
||||||
private String defaultPersistenceUnitRootLocation = ORIGINAL_DEFAULT_PERSISTENCE_UNIT_ROOT_LOCATION;
|
private String defaultPersistenceUnitRootLocation = ORIGINAL_DEFAULT_PERSISTENCE_UNIT_ROOT_LOCATION;
|
||||||
|
|
@ -397,6 +402,7 @@ public class DefaultPersistenceUnitManager
|
||||||
public void preparePersistenceUnitInfos() {
|
public void preparePersistenceUnitInfos() {
|
||||||
this.persistenceUnitInfoNames.clear();
|
this.persistenceUnitInfoNames.clear();
|
||||||
this.persistenceUnitInfos.clear();
|
this.persistenceUnitInfos.clear();
|
||||||
|
|
||||||
List<SpringPersistenceUnitInfo> puis = readPersistenceUnitInfos();
|
List<SpringPersistenceUnitInfo> puis = readPersistenceUnitInfos();
|
||||||
for (SpringPersistenceUnitInfo pui : puis) {
|
for (SpringPersistenceUnitInfo pui : puis) {
|
||||||
if (pui.getPersistenceUnitRootUrl() == null) {
|
if (pui.getPersistenceUnitRootUrl() == null) {
|
||||||
|
|
@ -439,18 +445,29 @@ public class DefaultPersistenceUnitManager
|
||||||
*/
|
*/
|
||||||
private List<SpringPersistenceUnitInfo> readPersistenceUnitInfos() {
|
private List<SpringPersistenceUnitInfo> readPersistenceUnitInfos() {
|
||||||
List<SpringPersistenceUnitInfo> infos = new LinkedList<SpringPersistenceUnitInfo>();
|
List<SpringPersistenceUnitInfo> infos = new LinkedList<SpringPersistenceUnitInfo>();
|
||||||
|
String defaultName = this.defaultPersistenceUnitName;
|
||||||
boolean buildDefaultUnit = (this.packagesToScan != null || this.mappingResources != null);
|
boolean buildDefaultUnit = (this.packagesToScan != null || this.mappingResources != null);
|
||||||
|
boolean foundDefaultUnit = false;
|
||||||
|
|
||||||
PersistenceUnitReader reader = new PersistenceUnitReader(this.resourcePatternResolver, this.dataSourceLookup);
|
PersistenceUnitReader reader = new PersistenceUnitReader(this.resourcePatternResolver, this.dataSourceLookup);
|
||||||
SpringPersistenceUnitInfo[] readInfos = reader.readPersistenceUnitInfos(this.persistenceXmlLocations);
|
SpringPersistenceUnitInfo[] readInfos = reader.readPersistenceUnitInfos(this.persistenceXmlLocations);
|
||||||
for (SpringPersistenceUnitInfo readInfo : readInfos) {
|
for (SpringPersistenceUnitInfo readInfo : readInfos) {
|
||||||
infos.add(readInfo);
|
infos.add(readInfo);
|
||||||
if (this.defaultPersistenceUnitName != null &&
|
if (defaultName != null && defaultName.equals(readInfo.getPersistenceUnitName())) {
|
||||||
this.defaultPersistenceUnitName.equals(readInfo.getPersistenceUnitName())) {
|
foundDefaultUnit = true;
|
||||||
buildDefaultUnit = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buildDefaultUnit) {
|
if (buildDefaultUnit) {
|
||||||
infos.add(buildDefaultPersistenceUnitInfo());
|
if (foundDefaultUnit) {
|
||||||
|
if (logger.isInfoEnabled()) {
|
||||||
|
logger.info("Found explicit default unit with name '" + defaultName + "' in persistence.xml - " +
|
||||||
|
"overriding local default unit settings ('packagesToScan'/'mappingResources')");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
infos.add(buildDefaultPersistenceUnitInfo());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return infos;
|
return infos;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue