Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java
index 6cf5974826..51d3c4ae42 100644
--- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java
+++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/Repository.java
@@ -2309,6 +2309,13 @@ public class Repository extends Container<Object> implements InternalRepository,
for (InternalCDOPackageUnit packageUnit : packageUnits)
{
packageRegistry.putPackageUnit(packageUnit);
+
+ // Bug 521029: Initialize EPackages early from the main thread to avoid multi-threading issues.
+ // This could be made optional at some point.
+ for (InternalCDOPackageInfo packageInfo : packageUnit.getPackageInfos())
+ {
+ packageInfo.getEPackage(true); // Trigger initialization.
+ }
}
}
finally

Back to the top