X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=test%2Fenterprise%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsupport%2Fpersistence%2FJpaBuilder.java;h=8356ea2e52019b1d707df0d9d79ab4189a4eff76;hb=9ceca02f8774188df9159b703dd38a31783ed956;hp=4d1921f5abf5a7c8f7d06d5bbd0f1824f4f96b02;hpb=5e33a52ba36ac928b9863ddd79d2d09f6a308af6;p=utils diff --git a/test/enterprise/src/main/java/org/wamblee/support/persistence/JpaBuilder.java b/test/enterprise/src/main/java/org/wamblee/support/persistence/JpaBuilder.java index 4d1921f5..8356ea2e 100644 --- a/test/enterprise/src/main/java/org/wamblee/support/persistence/JpaBuilder.java +++ b/test/enterprise/src/main/java/org/wamblee/support/persistence/JpaBuilder.java @@ -12,7 +12,7 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */ + */ package org.wamblee.support.persistence; import java.util.Map; @@ -26,6 +26,7 @@ import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; import javax.persistence.Persistence; +import javax.persistence.PersistenceException; import javax.sql.DataSource; import org.wamblee.support.jndi.StubInitialContextFactory; @@ -93,12 +94,17 @@ public class JpaBuilder { throw new RuntimeException("JNDI problem", e); } factory = createFactory(); - execute(new JpaUnitOfWork() { - public Void execute(EntityManager aEm) { - // Empty, just to trigger database schema creation. - return null; - } - }); + try { + execute(new JpaUnitOfWork() { + public Void execute(EntityManager aEm) { + // Empty, just to trigger database schema creation. + return null; + } + }); + } catch (PersistenceException e) { + factory.close(); + throw e; + } } /** @@ -122,11 +128,11 @@ public class JpaBuilder { // jpaProps.put("javax.persistence.provider", // HibernatePersistence.class.getName()); - EntityManagerFactory factory = Persistence.createEntityManagerFactory( + EntityManagerFactory emf = Persistence.createEntityManagerFactory( persistenceUnit.getUnitName(), jpaProps); - LOGGER.info("Using " + factory.getClass()); - return factory; + LOGGER.info("Using " + emf.getClass()); + return emf; } /**