-
1. Re: EntityManager injection failed because of a closed EntityManagerFactory
aslak Feb 8, 2012 12:38 PM (in response to twasyl)Heya
What does your TestClass look like?
-aslak-
-
2. Re: EntityManager injection failed because of a closed EntityManagerFactory
twasyl Feb 9, 2012 3:02 AM (in response to aslak)Hi,
My TestClass is this one:
{code:java}
@RunWith(Arquillian.class)
public class DaoTest {
@EJB
private ConfigurationDAORemote configurationDAO;
@Deployment
public static JavaArchive createTestArchive() {
return ShrinkWrap.create(JavaArchive.class, "test.jar")
.addClasses(ConfigurationDAORemote.class,
ConfigurationDAO.class,
Configuration.class,
ConfigurationException.class)
.addAsManifestResource(EmptyAsset.INSTANCE, ArchivePaths.create("beans.xml"))
.addAsManifestResource("META-INF/persistence.xml", ArchivePaths.create("persistence.xml"));
}
@Test
public void test() {
Assert.assertNotNull(this.configurationDAO);
Configuration<Boolean> cnf = this.configurationDAO.getConfiguration("LDAP_HOSTNAME");
Assert.assertNotNull("The configuration is null", cnf);
Assert.assertFalse(cnf.getTypedValue());
}
}
{code}
My EJB (implementation side) looks like this (if it could help):
{code:java}
@Singleton
@Startup
public class ConfigurationDAO implements ConfigurationDAORemote {
@PersistenceContext(unitName = "Poc-PU")
private EntityManager em;
@Override
public Configuration getConfiguration(String paramName) {
Configuration config;
try {
config = this.em.find(Configuration.class, paramName);
} catch (Exception ex) {
Logger.getLogger(Configuration.class.getName()).log(Level.SEVERE, null, ex);
config = null;
}
return config;
}
}
{code}
Many thanks.
Thierry.