EntityManagerProducer.java
package org.flasby.transactions;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Disposes;
import jakarta.enterprise.inject.Produces;
import jakarta.persistence.EntityManager;
import jakarta.persistence.Persistence;
import lombok.extern.slf4j.Slf4j;
@ApplicationScoped
@Slf4j
public class EntityManagerProducer {
@Produces
@MyDB
public EntityManager createEntityManager() {
log.info("Creating EntityManager");
return Persistence.createEntityManagerFactory("H2").createEntityManager();
}
public void close(@Disposes @MyDB EntityManager entityManager) {
log.info("Closing EntityManager");
entityManager.close();
}
}