You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by dr...@apache.org on 2011/03/09 23:15:43 UTC
svn commit: r1080032 - in
/tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa:
JpaModule.java JpaSymbols.java
Author: drobiazko
Date: Wed Mar 9 22:15:43 2011
New Revision: 1080032
URL: http://svn.apache.org/viewvc?rev=1080032&view=rev
Log:
TAP5-1472: Added early startup for EntityManagerFactories.
Modified:
tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/JpaModule.java
tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/JpaSymbols.java
Modified: tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/JpaModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/JpaModule.java?rev=1080032&r1=1080031&r2=1080032&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/JpaModule.java (original)
+++ tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/JpaModule.java Wed Mar 9 22:15:43 2011
@@ -37,6 +37,7 @@ import org.apache.tapestry5.ioc.OrderedC
import org.apache.tapestry5.ioc.ScopeConstants;
import org.apache.tapestry5.ioc.annotations.Contribute;
import org.apache.tapestry5.ioc.annotations.Scope;
+import org.apache.tapestry5.ioc.annotations.Startup;
import org.apache.tapestry5.ioc.annotations.Symbol;
import org.apache.tapestry5.ioc.services.FactoryDefaults;
import org.apache.tapestry5.ioc.services.MasterObjectProvider;
@@ -113,6 +114,7 @@ public class JpaModule
final MappedConfiguration<String, String> configuration)
{
configuration.add(JpaSymbols.PROVIDE_ENTITY_VALUE_ENCODERS, "true");
+ configuration.add(JpaSymbols.EARLY_START_UP, "true");
}
@Contribute(ValueEncoderSource.class)
@@ -134,7 +136,6 @@ public class JpaModule
for (final String className : info.getManagedClassNames())
{
-
final Metamodel metamodel = emf.getMetamodel();
final Class<?> clazz = loadClass(info, className);
@@ -156,6 +157,21 @@ public class JpaModule
}
}
+ @Startup
+ public static void startupEarly(final EntityManagerSource entityManagerSource,
+ @Symbol(JpaSymbols.EARLY_START_UP)
+ final boolean earlyStartup)
+ {
+ if (!earlyStartup)
+ return;
+
+ for (final PersistenceUnitInfo info : entityManagerSource.getPersistenceUnitInfos())
+ {
+ entityManagerSource.create(info.getPersistenceUnitName());
+ }
+
+ }
+
private static Class loadClass(final PersistenceUnitInfo info, final String className)
{
try
Modified: tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/JpaSymbols.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/JpaSymbols.java?rev=1080032&r1=1080031&r2=1080032&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/JpaSymbols.java (original)
+++ tapestry/tapestry5/trunk/tapestry-jpa/src/main/java/org/apache/tapestry5/jpa/JpaSymbols.java Wed Mar 9 22:15:43 2011
@@ -17,4 +17,9 @@ package org.apache.tapestry5.jpa;
public class JpaSymbols
{
public static final String PROVIDE_ENTITY_VALUE_ENCODERS = "tapestry.jpa.provide-entity-value-encoders";
+
+ /**
+ * If "true", then JPA will be started up at application launch, rather than lazily.
+ */
+ public static final String EARLY_START_UP = "tapestry.jpa.early-startup";
}