hi steffen,

you can easily have a look at the details (see [1]).

regards,
gerhard

[1] http://jsfatwork.irian.at/downloads/examples.zip

http://www.irian.at

Your JSF/JavaEE powerhouse -
JavaEE Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces



2013/3/20 <[email protected]>

> Hi gerhard,****
>
> ** **
>
> ok i’ll test it with 1.1.8.****
>
> But why is this a problem of OWB and not of CODI?****
>
> ** **
>
> By the way, why does it work when we annotate the complete class? Whats
> the difference?****
>
> ** **
>
> In your example
> http://jsfatwork.irian.at/semistatic/jsf_fullstack_cdi.html the
> @transactional is in the service. When we do so ****
>
> the interceptor (TransactionalInterceptorStrategy) throws a Nullpointer
> because no entityManager is available in Service. Entitymanger ist Injected
> in Dao like in your example.****
>
> ** **
>
> Mit freundlichen Grüssen / With best regards
> Steffen Herter ****
>
> Finanzen, Controlling, IT ZF-Konzern/Finance, Controlling, IT ZF Group****
>
> Informatik ZF-Konzern/Information Technology ZF Group****
>
> FC Engineering Applikationen ZF-Konzern/FC Engineering Application ZF Group
> ****
>
>
> *ZF Friedrichshafen AG*
> D-88038 Friedrichshafen, Deutschland/Germany
> Telefon/Phone +49 -7541 77-8801, Telefax/Fax +49 7541 77-908801
> mailto:[email protected] <[email protected]> ****
>
> Vorsitzender des Aufsichtsrats/Chairman of the Supervisory Board: Prof.
> Dr. Giorgio Behr
> Vorstand/Board of Management: Dr. Stefan Sommer (Vorsitzender/CEO), Dr.
> Konstantin Sauer, Dr. Peter Ottenbruch, Jürgen Holeksa, Dr. Gerhard Wagner,
> Reinhard Buhl, Rolf Lutz, Wilhelm Rehm****
>
> Sitz/Headquarters: Friedrichshafen
> Handelsregistereintrag Amtsgericht Ulm HRB 630206/Trade register of the
> municipal court of Ulm HRB 630206****
>
> ** **
>
> *Von:* Gerhard Petracek [mailto:[email protected]]
> *Gesendet:* Mittwoch, 20. März 2013 12:05
>
> *An:* MyFaces Development
> *Betreff:* Re: Apache Myfaces12 Codi Tomcat 7 - Transaction Problems****
>
> ** **
>
> hi steffen,****
>
> ** **
>
> yes - it's the same as you would annotate all methods manually.****
>
> owb v1.1.8 will be released within the next days.****
>
> please file an issue at [1], if it still happens with v1.1.8.****
>
> ** **
>
> regards,****
>
> gerhard****
>
> ** **
>
> [1] https://issues.apache.org/jira/browse/OWB****
>
> ** **
>
> http://www.irian.at
>
> Your JSF/JavaEE powerhouse -
> JavaEE Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces****
>
> ** **
>
> 2013/3/20 <[email protected]>****
>
> Hi gerhard,****
>
>  ****
>
> OWB Version is 1.0.0. But this happens also with OWB 1.1.6.****
>
> Annotation the doa class with @transactional  works. But the consequence
> is that every method in the doa class (find, refresh, update) is running in
> a transaction!?!?****
>
>  ****
>
> Regards****
>
> Steffen****
>
>  ****
>
>  ****
>
> *Von:* Gerhard Petracek [mailto:[email protected]]
> *Gesendet:* Mittwoch, 20. März 2013 10:58****
>
>
> *An:* MyFaces Development
> *Betreff:* Re: Apache Myfaces12 Codi Tomcat 7 - Transaction Problems****
>
>  ****
>
> hi steffen,****
>
>  ****
>
> it would be great to get further details.****
>
> esp. the concrete version of owb you are using and if it also happens with
> annotating the class (instead of the methods).****
>
>  ****
>
> regards,****
>
> gerhard****
>
>  ****
>
> http://www.irian.at
>
> Your JSF/JavaEE powerhouse -
> JavaEE Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces****
>
> ** **
>
> 2013/3/20 <[email protected]>****
>
> Hi gerhard,****
>
>  ****
>
> thanks for your Reply.****
>
> I think that the TransactionalInterceptor and
> TransactionalInterceptorStrategy gets calles from codi
>  (org.apache.myfaces.extensions.cdi.jpa.impl.transaction) and no
> Transaction is available.****
>
> This Interceptor to start a Transaction is not called when we use generics
> in the *IpersonDaoSuperInterface.*****
>
>  ****
>
> Regards****
>
> steffen****
>
>  ****
>
> *Von:* Gerhard Petracek [mailto:[email protected]]
> *Gesendet:* Mittwoch, 20. März 2013 10:20
> *An:* MyFaces Development
> *Betreff:* Re: Apache Myfaces12 Codi Tomcat 7 - Transaction Problems****
>
>  ****
>
> short addition - that means:****
>
>  ****
>
> codi isn't responsible to trigger the interceptor itself.****
>
> that's the part openwebbeans has to do.****
>
>  ****
>
> regards,****
>
> gerhard****
>
>  ****
>
> http://www.irian.at
>
> Your JSF/JavaEE powerhouse -
> JavaEE Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces****
>
>  ****
>
>  ****
>
> 2013/3/20 Gerhard Petracek <[email protected]>****
>
> hi steffen,****
>
>  ****
>
> first of all: welcome @ myfaces****
>
>  ****
>
> if EntityTransaction#begin and (#commit or #rollback) get called, the part
> done by codi is fine and it's a different issue.****
>
>  ****
>
> regards,****
>
> gerhard****
>
>
> http://www.irian.at
>
> Your JSF/JavaEE powerhouse -
> JavaEE Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces****
>
>  ****
>
> 2013/3/20 <[email protected]>****
>
>  ****
>
> Hello,****
>
>  ****
>
> Problem with codi(1.0.5) Transactions and Java (1.6/1.7) generics.****
>
>  ****
>
> Infrastructure:****
>
> Myfaces12****
>
> Jpa2 (eclipslink 2.4)****
>
> Codi 1.0.5****
>
> Tomcat 7****
>
> OpenWebBeans 1****
>
>  ****
>
> See Classes below****
>
> Problem is:****
>
>  ****
>
>  ****
>
> When we inject the Interface *IpersonDao* in the Service Class
> (PersonServerImpl) and do the following:****
>
>  ****
>
> dao.delete(person) à *No* Transaction is openend and nothing happens!!!!!*
> ***
>
>  ****
>
> doa.persist(person)à Transaction is opened and entity is saved.****
>
>  ****
>
> Difference is that in the *IpersonDaoSuperInterface *the delete function
> contains generic arguments and the persist fuction has a concrete Object
> (person). But we need the generic type for all function in the *
> IpersonDaoSuperInterface.*****
>
> * *****
>
> When we inject the Concrete Implementation of the dao* (*  @Inject
> private PersonDao dao*) *in* *PersonServerImpl the delete function also
> works*.*****
>
> * *****
>
> *Question.*****
>
> *Why cant we inject the Dao Interface when we use java generics in the
> interface hierarchy???*****
>
>  ****
>
>  ****
>
>  ****
>
> Service Class:****
>
>  ****
>
> public class PersonServerImpl implements PersonService****
>
> {****
>
>  ****
>
>   @Inject****
>
>   private IPersonDao dao;****
>
>  ****
>
>   public void removePerson(Person person)****
>
>   {****
>
>     dao.delete(person);****
>
>   }****
>
>  ****
>
>   public Person savePerson(Person person)****
>
>   {****
>
>     return dao.persist(person);****
>
>   }****
>
>  ****
>
> }****
>
>  ****
>
> Dao Class:****
>
>  ****
>
> public class PersonDao implements IPersonDao****
>
> {****
>
> *@Transactional*****
>
>   public void delete(Person entity)****
>
>   {****
>
>     em.remove(em.merge(entity));****
>
>   }****
>
> *@Transactional*****
>
>   public Person persist(Person entity)****
>
>   {****
>
>     em.persist(entity);****
>
>     return entity;****
>
>   }****
>
>  ****
>
> …****
>
> }****
>
>  ****
>
> IpersonDao Interface:****
>
>  ****
>
> public interface IPersonDao extends *IpersonDaoSuperInterface*<Person> ***
> *
>
> {****
>
>  ****
>
>     public abstract List<Person> loadAll();****
>
>  ****
>
>     public abstract Person loadById(Serializable id);****
>
>  ****
>
>     public abstract List<Person> findByLastName(String lastname);****
>
> }****
>
>  ****
>
> IpersonDaoSuperInterface:****
>
>  ****
>
> public interface *IpersonDaoSuperInterface*<T extends DbObject> ****
>
> {****
>
>     public abstract void delete(T entity);****
>
>  ****
>
>      public abstract Person  persist(Person  entity);****
>
>  ****
>
>      public abstract T  update(T  entity);****
>
> }****
>
>  ****
>
> * *****
>
> *Thanks fore help*****
>
> * *****
>
> steffen****
>
>  ****
>
>  ****
>
>  ****
>
>  ****
>
>  ****
>
>  ****
>
>  ****
>
>  ****
>
> ** **
>

Reply via email to