openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scherer, Annette" <Annette.Sche...@huk-coburg.de>
Subject EntityManager in Application Server Clusters
Date Tue, 28 Jul 2009 13:44:26 GMT
Hello,

I use OpenJPA in a distributed J2EE Environment. I implemented a Session Bean, which lazy
creates EntityManager and EntityManager Factory:

private EntityManager getEm() {
	if (this.em == null) {
		this.em = this.getEmf().createEntityManager();	
	}
	return this.em;
}

private EntityManagerFactory getEmf() {
	if (this.emf == null) {
		this.emf = Persistence.createEntityManagerFactory("Selektionen_DB");
	}
	return this.emf;
}

I persisted simple test objects with em.persist(...). Following calls with em.find(....) failed
in following constellation
- persist on clone 1 
- find on clone 2



When creating EntityManager on each call (see code fragment below, without lazy init), it
works fine. But that connat be best practice, because I suppose, this approach ist not as
performant, it needs to be.

private EntityManager getEm() {
	this.em = this.getEmf().createEntityManager();	
	return this.em;
}

private EntityManagerFactory getEmf() {
	if (this.emf == null) {
		this.emf = Persistence.createEntityManagerFactory("Selektionen_DB");
	}
	return this.emf;
}


Which good practise do you propose?


Thank you for support
Annette Scherer
Abteilung Informatik


Mime
View raw message