Hi Daniel!

The @PersistenceContext is only used in case you have a real JavaEE container 
like TomEE, WildFly, etc.

In any other case the manual creation of the EntityManagerFactory is fine. 
Although I'd only create the EMF once, e.g. in a @PostConstruct method in your 
@ApplicationScoped bean. 
Or you use the DeltaSpike @UnitName.
I just figured that our Docs (and JavaDocs) do not yet contain my latest 
changes. 

By default using @UnitName("MYDB") the PersistenceConfigurationProviderImpl 
will load a file persistence-MYDB.properties.

In addition you can also use deltaspike-config to override/extend those 
persistence settings:
https://github.com/apache/deltaspike/blob/master/deltaspike/modules/jpa/impl/src/main/java/org/apache/deltaspike/jpa/impl/entitymanager/PersistenceConfigurationProviderImpl.java#L46

Just use a property
deltaspike.persistence.config.MYDB.some.jpa.property.
This will lead to having 'some.jpa.property' added to the EntityManagerFactory 
property map.

LieGrue,
strub


> Am 30.08.2018 um 06:55 schrieb Daniel Dias Dos Santos 
> <[email protected]>:
> 
> Hello everyone,
> 
> I have an example of a simple app using the Data module of the deltaSpike and 
> following what it says in the link:
> 
> http://deltaspike.apache.org/documentation/jpa.html
> 
> but instead of using JPA I am using Data in TomCat .
> 
> my class manufactures this as in documentation: 
> 
> public class JUGFactory {
> 
>       @PersistenceContext
>     private EntityManager entityManager;
> 
>     @Produces
>     @RequestScoped
>     public EntityManager createEntityManager()
>     {
>         return this.entityManager;
>     }
> 
>     public void closeEntityManager(@Disposes EntityManager entityManager)
>     {
>         if (entityManager.isOpen())
>         {
>             entityManager.close();
>         }
>     }
> }
> 
> 
> but in this way when executing the action, he throws me an exception 
> (attached)
> 
> now it is left as follows: 
> 
> @ApplicationScoped
> public class JUGFactory {
> 
>       @Produces
>       @RequestScoped
>       public EntityManager criarEntityManager() {
>               EntityManagerFactory emf = 
> Persistence.createEntityManagerFactory("soujava-rio");
>               return emf.createEntityManager();
>       }
> 
>       public void closeEntityManager(@Disposes EntityManager manager) {
>               manager.close();
>       }
> }
> 
> it works normal .
> 
> thanks.
> 
> --
> Daniel Dias dos Santos
> Java Developer
> SouJava & JCP Member
> GitHub: https://github.com/Daniel-Dos
> Linkedin: http://br.linkedin.com/in/danieldiassantos
> Twitter: http://twitter.com/danieldiasjava
> <Exception.txt>

Reply via email to