myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthias Wessendorf <mat...@apache.org>
Subject Re: [Ext-CDI] @Transactional
Date Tue, 16 Mar 2010 13:32:52 GMT
On Tue, Mar 16, 2010 at 1:18 AM, Arne Limburg
<arne.limburg@openknowledge.de> wrote:
> Hi Matthias,
>
> I used Weld to test it and it does not complain anything ;-)

I was guessing that ;-)

> I wonder why it is a problem to have the EntityManagerProducer @ApplicationScoped. The
returned EntityManagers are @Dependent scoped. I'll take a look at what the spec says about
this. I need to do some rework to make the EntityManagerProducer @Dependent scoped. The state
must be moved to another bean that is @ApplicationScoped. That bean then can be injected into
the EntityManagerProducer.
>

I think I will do some OWB debugging (and double checking the spec)
2nite, regarding the error that we see.

> Regards,
> Arne
>
> --
>
> Arne Limburg - Enterprise Developer
> OpenKnowledge GmbH, Oldenburg
> Bismarckstraße 13, 26122 Oldenburg
> Mobil: +49 (0) 170 - 2733627
> Tel: +49 (0) 441 - 4082-0
> Fax: +49 (0) 441 - 4082-111
> arne.limburg@openknowledge.de
> http://www.openknowledge.de
>
> Registergericht: Amtsgericht Oldenburg, HRB 4670
> Geschäftsführer: Lars Röwekamp, Jens Schumann
>
> -----Ursprüngliche Nachricht-----
> Von: mwessendorf@gmail.com [mailto:mwessendorf@gmail.com] Im Auftrag von Matthias Wessendorf
> Gesendet: Dienstag, 16. März 2010 05:44
> An: MyFaces Development
> Betreff: Re: [Ext-CDI] @Transactional
>
> HEllo Arne,
>
> what version of OWB did you use?
> Or did you use Weld?
>
> on deployment I get the following error (2times):
> SEVERE:
> org.apache.webbeans.exception.WebBeansConfigurationException: Bean
> Name:null,WebBeans Type:MANAGED,API
> Types:[java.lang.Object,org.apache.myfaces.codi.EntityManagerProducer],Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]scope
> can not define other scope except @Dependent to inject InjectionPoint
>        at org.apache.webbeans.container.BeanManagerImpl.validate(BeanManagerImpl.java:1001)
>        at org.apache.webbeans.config.BeansDeployer.validate(BeansDeployer.java:346)
>        at org.apache.webbeans.config.BeansDeployer.validateInjectionPoints(BeansDeployer.java:301)
>        at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:154)
>        at org.apache.webbeans.lifecycle.AbstractLifeCycle.startApplication(AbstractLifeCycle.java:120)
>        at org.apache.webbeans.web.lifecycle.WebContainerLifecycle.startApplication(WebContainerLifecycle.java:75)
>        at org.apache.webbeans.servlet.WebBeansConfigurationListener.contextInitialized(WebBeansConfigurationListener.java:66)
>        at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548)
>        at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
>        at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1239)
>        at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
>        at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:466)
>        at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:124)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
>        at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>        at org.mortbay.jetty.Server.doStart(Server.java:224)
>        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>        at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
>        at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:441)
>        at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:383)
>        at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210)
>        at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
>
>
>
> yes, the message is not easy to read, but it is basically complaining, that the
> EntityManagerProducer is not having @Dependent scope (since it has
> @ApplicationScoped).
>
> Good night,
> Matthias
>
> On Fri, Mar 5, 2010 at 3:30 PM, Arne Limburg
> <arne.limburg@openknowledge.de> wrote:
>> Hi,
>>
>>
>>
>> I have attached my source to EXTCDI-4.
>>
>> This is how you could use it, how it works and the limitations it has:
>>
>>
>>
>> First you have to qualify your EntityManager injection point with the
>> provided @PersistenceContext annotation. Then you can use the @Transactional
>> annotation.
>>
>> You will get the same (extended) EntityManager for all beans in the same
>> scope and different EntityManagers for beans from other scopes.
>>
>>
>>
>> The EntityManagerProducer then checks whether an entity manager for that
>> persistence unit and scope exists, creates one if not, and returns the
>> entity manager.
>>
>>
>>
>> In the current implementation you have to specify the unitName of your
>> persistence unit both at the @PersistenceContext annotation and the
>> @Transactional annotation. This is very ugly, we should define a sensible
>> default behavior here. The advantage is that you can have injected multiple
>> persistence units within one scope.
>>
>>
>>
>> Other potential problems:
>>
>> I don't know if the detection of the current scope works correctly when an
>> EntityManager is injected in a bean with @Dependent scope or when a
>> @Transactional annotation is used on a bean with @Dependent scope
>>
>> I don't know if the closing of the EntityManager works correct (i.e. if the
>> scope is still active when the EntityManager gets destroyed). Or could we
>> simply close the EntityManager, if it is open assuming that all beans in
>> that scope will be destroyed at the same time?
>>
>>
>>
>> What do you think?
>>
>>
>>
>> Regards,
>>
>> Arne
>>
>>
>>
>> --
>>
>>
>>
>> Arne Limburg - Enterprise Developer
>>
>> OpenKnowledge GmbH, Oldenburg
>>
>> Bismarckstraße 13, 26122 Oldenburg
>>
>> Mobil: +49 (0) 170 - 2733627
>>
>> Tel: +49 (0) 441 - 4082-0
>>
>> Fax: +49 (0) 441 - 4082-111
>>
>> arne.limburg@openknowledge.de
>>
>> http://www.openknowledge.de
>>
>>
>>
>> Registergericht: Amtsgericht Oldenburg, HRB 4670
>>
>> Geschäftsführer: Lars Röwekamp, Jens Schumann
>>
>>
>>
>> Von: Gerhard Petracek [mailto:gerhard.petracek@gmail.com]
>> Gesendet: Donnerstag, 4. März 2010 20:39
>> An: MyFaces Development
>> Betreff: Re: [Ext-CDI] @Transactional
>>
>>
>>
>> hi arne,
>>
>>
>>
>> i created a jira issue for it [1].
>>
>> could you please upload your implementation.
>>
>> + a short description about the possible usages as well as restrictions (if
>> present).
>>
>>
>>
>> thx & regards,
>>
>> gerhard
>>
>>
>>
>> [1] https://issues.apache.org/jira/browse/EXTCDI-4
>>
>> http://www.irian.at
>>
>> Your JSF powerhouse -
>> JSF Consulting, Development and
>> Courses in English and German
>>
>> Professional Support for Apache MyFaces
>>
>> 2010/2/20 Arne Limburg <arne.limburg@openknowledge.de>
>>
>> Hi,
>>
>>
>>
>> I've updated my code at
>>
>> http://wiki.apache.org/myfaces/Extensions/CDI/DevDoc/Drafts/Transactional
>>
>> It is not really tested and lacks some fallback-scenarios (i.e.
>> null-handling, etc.), but it is a starting point to inject scoped
>> EntityManagers for every CDI-scope.
>>
>>
>>
>> Regards,
>>
>> Arne
>>
>>
>>
>> --
>>
>>
>>
>> Arne Limburg - Enterprise Developer
>>
>> OpenKnowledge GmbH, Oldenburg
>>
>> Bismarckstraße 13, 26122 Oldenburg
>>
>> Mobil: +49 (0) 151 - 108 22 942
>>
>> Tel: +49 (0) 441 - 4082-0
>>
>> Fax: +49 (0) 441 - 4082-111
>>
>> arne.limburg@openknowledge.de
>>
>> http://www.openknowledge.de
>>
>>
>>
>> Registergericht: Amtsgericht Oldenburg, HRB 4670
>>
>> Geschäftsführer: Lars Röwekamp, Jens Schumann
>>
>>
>>
>> Von: Gerhard Petracek [mailto:gerhard.petracek@gmail.com]
>>
>> Gesendet: Montag, 15. Februar 2010 13:44
>>
>> An: MyFaces Development
>> Betreff: Re: [Ext-CDI] @Transactional
>>
>>
>>
>> hi arne,
>>
>>
>>
>> thx for providing the source code.
>>
>> i'll have a look at it after the jsfdays.
>>
>>
>>
>> one of the goals is to provide an alternative conversation scope for cdi
>> which allows to use the conversation concepts provided by orchestra.
>>
>> so we have to ensure that it works with every custom cdi scope.
>>
>> (cdi conversations would be the default scope)
>>
>>
>>
>> regards,
>>
>> gerhard
>>
>> http://www.irian.at
>>
>> Your JSF powerhouse -
>> JSF Consulting, Development and
>> Courses in English and German
>>
>> Professional Support for Apache MyFaces
>>
>> 2010/2/15 Arne Limburg <arne.limburg@openknowledge.de>
>>
>> Hi,
>>
>> I've prototyped some code that injects conversation-scoped EntityManagers
>> reading the unitName from the qualifier annotation and added @Transactional
>> support for this EntityManagers. This code needs some thinking though, e.g.
>> how to handle the default-case (no unitName specified)...
>>
>> If you want to take a look at it, I have created a Wiki page and added my
>> code as attachment:
>> http://wiki.apache.org/myfaces/Extensions/CDI/DevDoc/Drafts/Transactional
>>
>> This code could be a starting point to implement Orchestra-like
>> conversations (starting with CDI-Conversations)...
>>
>> Regards,
>> Arne
>>
>> --
>>
>> Arne Limburg - Enterprise Developer
>> OpenKnowledge GmbH, Oldenburg
>> Bismarckstraße 13, 26122 Oldenburg
>> Mobil: +49 (0) 151 - 108 22 942
>> Tel: +49 (0) 441 - 4082-0
>> Fax: +49 (0) 441 - 4082-111
>> arne.limburg@openknowledge.de
>> http://www.openknowledge.de
>>
>> Registergericht: Amtsgericht Oldenburg, HRB 4670
>> Geschäftsführer: Lars Röwekamp, Jens Schumann
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Mark Struberg [mailto:struberg@yahoo.de]
>>
>> Gesendet: Samstag, 13. Februar 2010 20:27
>>
>> An: MyFaces Development
>> Betreff: AW: [Ext-CDI] @Transactional
>>
>>> I am afraid supporting multiple persistence-units in that
>>> scenario is very difficult...
>>
>> Nope, it's really easy. I simply use Qualifiers to distinguish between them.
>>
>> @Qualifier
>> public @instance Core {}
>>
>> @Qualifier
>> public @instance Other {}
>>
>> ----
>> @RequestScoped
>> public class EMProducer {
>> private @PersistenceContext(unitName="core") EntityManager emCore;
>> private @PersistenceContext(unitName="other") EntityManager emOther;
>>
>>
>> public @Produces @Core EntityManager getCoreEM() {return emCore;}
>> public @Produces @Other EntityManager getOtherEM() {return emOther;}
>>
>>
>> Injection happens with
>>
>> private @Inject @Core EntityManager
>>
>>
>> Got the idea?
>>
>> LieGrue,
>> strub
>>
>> --- Arne Limburg <arne.limburg@openknowledge.de> schrieb am Sa, 13.2.2010:
>>
>>> Von: Arne Limburg <arne.limburg@openknowledge.de>
>>> Betreff: AW: [Ext-CDI] @Transactional
>>> An: "MyFaces Development" <dev@myfaces.apache.org>
>>> Datum: Samstag, 13. Februar 2010, 20:06
>>> Hi Mark,
>>>
>>> thank you for your feedback. I was aware of the requirement
>>> of CDI-containers to inject JavaEE resources in a
>>> JavaEE-environment, but Gerhard and I are thinking about a
>>> generic non-JavaEE-solution for EntityManager-injection. And
>>> at least weld does no injection of JavaEE-resources in this
>>> case. How does OpenWebBeans?
>>> I am afraid supporting multiple persistence-units in that
>>> scenario is very difficult...
>>>
>>> Nonetheless it would be nice to see your
>>> multiple-database-handling TransactionInterceptor in CODI.
>>>
>>> Regards,
>>> Arne
>>>
>>> --
>>>
>>> Arne Limburg - Enterprise Developer
>>> OpenKnowledge GmbH, Oldenburg
>>> Bismarckstraße 13, 26122 Oldenburg
>>> Mobil: +49 (0) 151 - 108 22 942
>>> Tel: +49 (0) 441 - 4082-0
>>> Fax: +49 (0) 441 - 4082-111
>>> arne.limburg@openknowledge.de
>>> http://www.openknowledge.de
>>
>>>
>>> Registergericht: Amtsgericht Oldenburg, HRB 4670
>>> Geschäftsführer: Lars Röwekamp, Jens Schumann
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Mark Struberg [mailto:struberg@yahoo.de]
>>>
>>> Gesendet: Samstag, 13. Februar 2010 15:39
>>> An: MyFaces Development
>>> Betreff: AW: [Ext-CDI] @Transactional
>>>
>>> Hi!
>>>
>>> The JSR-299 spec defines that we have to support injection
>>> of EE-Resources.
>>>
>>> This was more explicit in the old version of the spec, but
>>> unless the wording got shortened, I still think injection of
>>> @PersistenceUnit and @PersistenceContext must be supported
>>> by any JSR-299 container (at least in an EE environment).
>>>
>>> For OpenWebBeans, you can simply use our
>>> openwebbeans-resource plugin. Please note that this is
>>> necessary because OWB is modular, and openwebbeans-impl (the
>>> core) will have no EE dependencies at all (not even JSF,
>>> JPA, etc!) This will get picked up automatically if it is
>>> available in the classpath, e.g. you can simply define the
>>> following maven dependency:
>>>
>>>         <dependency>
>>>
>>> <groupId>org.apache.openwebbeans</groupId>
>>>
>>> <artifactId>openwebbeans-resource</artifactId>
>>>
>>> <version>${owb.version}</version>
>>>         </dependency>
>>>
>>> OWB supports 2 different scenarios. If you are not running
>>> in a JTA aware container like e.g. OpenEJB, you will
>>> automatically use a simple resource version of an SPI
>>> implementation which uses
>>> Persistence#createEntityManagerFactory(unitName) for
>>> injecting (Thus getting an extended EM). If you use e.g.
>>> OpenEJB, we are able to get the injectable resources
>>> directly from there (thus getting a transactional EM).
>>>
>>> Once this is available, you can simply create a producer
>>> method for the EntityManager:
>>>
>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/samples/reservation/src/main/java/org/apache/webbeans/reservation/util/EntityManagerUtil.java
>>
>>>
>>> There is also an example on how to implement a
>>> TransactionalInterceptor:
>>>
>>> https://svn.apache.org/repos/asf/openwebbeans/trunk/samples/reservation/src/main/java/org/apache/webbeans/reservation/intercept/TransactionalInterceptor.java
>>
>>>
>>> In my company, I already implemented a
>>> TransactionalInteceptor which is capable of handling
>>> multiple databases at a time and also correctly handles
>>> nested transactions. I hope to migrate this over to CODI in
>>> the near future.
>>>
>>>
>>> LieGrue,
>>> strub
>>>
>>>
>>> --- Arne Limburg <arne.limburg@openknowledge.de>
>>> schrieb am Sa, 13.2.2010:
>>>
>>> > Von: Arne Limburg <arne.limburg@openknowledge.de>
>>> > Betreff: AW: [Ext-CDI] @Transactional
>>> > An: "'MyFaces Development'" <dev@myfaces.apache.org>
>>> > Datum: Samstag, 13. Februar 2010, 14:42
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > Hi Gerhard,
>>> >
>>> >
>>> >
>>> > OK, I got what you did,
>>> > basically I did the same. You are right,
>>> > that was pretty straight-forward, but I had to
>>> hard-code
>>> > the persistence-unit
>>> > name.
>>> >
>>> >
>>> >
>>> > I have two ideas to inject the
>>> > persistence-unit name into the
>>> > producer-method for the EntityManager:
>>> >
>>> >
>>> >
>>> > First idea: A
>>> > @PersistenceUnitName qualifier-annotation to
>>> > inject the name into the producer-method. Client code
>>> would
>>> > have somethink like
>>> >
>>> > public class Configuration
>>> > {
>>> >
>>> >
>>> >
>>> >   @Produces
>>> > @PersistenceUnitName
>>> >
>>> >   String
>>> > getPersistenceUnitName() {
>>> >
>>> > ...
>>> >
>>> > Not really nice, but the
>>> > simplest solution to generify it.
>>> >
>>> >
>>> >
>>> > Second idea:
>>> >
>>> > The @PersistenceContext
>>> > qualifier has a @Nonbind attribute
>>> > persistenceUnitName which we can extract in the
>>> producer
>>> > method. But then we
>>> > get in scoping issues. Especially when having
>>> multiple
>>> > persistence-units within
>>> > one deployment. The second problem is: How can the
>>> > @Transactional annotation
>>> > know the persistence-unit-name.
>>> >
>>> >
>>> >
>>> > Any other ideas?
>>> >
>>> >
>>> >
>>> > Regards,
>>> >
>>> > Arne
>>> >
>>> >
>>> >
>>> > --
>>> >
>>> >
>>> >
>>> > Arne Limburg - Enterprise
>>> > Developer
>>> >
>>> > OpenKnowledge GmbH,
>>> > Oldenburg
>>> >
>>> > Bismarckstraße 13, 26122
>>> > Oldenburg
>>> >
>>> > Mobil: +49 (0) 151 - 108 22
>>> > 942
>>> >
>>> > Tel: +49 (0) 441 -
>>> > 4082-0
>>> >
>>> > Fax: +49 (0) 441 -
>>> > 4082-111
>>> >
>>> > arne.limburg@openknowledge.de
>>> >
>>> >
>>> > http://www.openknowledge.de
>>
>>> >
>>> >
>>> >
>>> >
>>> > Registergericht: Amtsgericht
>>> > Oldenburg, HRB 4670
>>> >
>>> > Geschäftsführer: Lars
>>> > Röwekamp, Jens Schumann
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > Von: Gerhard Petracek
>>> > [mailto:gerhard.petracek@gmail.com]
>>>
>>> >
>>> > Gesendet: Samstag, 13. Februar 2010 14:32
>>> >
>>> > An: MyFaces Development
>>> >
>>> > Betreff: Re: [Ext-CDI] @Transactional
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > hi arne,
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > i used the EntityManager to get
>>> > an EntityTransaction.
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > you have to use cdi to create and
>>> > inject it.
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > (i used some producer methods.)
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > i created @PersistenceUnit which
>>> > is a cdi qualifier and
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > @Transactional which is a cdi
>>> > interceptor binding.
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > basically it works and it isn't
>>> > hard to use.
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > however, we have to think about an
>>> > approach to provide as
>>> > much as possible in a generic way.
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > regards,
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > gerhard
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > http://www.irian.at
>>
>>> >
>>> >
>>> >
>>> > Your JSF powerhouse -
>>> >
>>> > JSF Consulting, Development and
>>> >
>>> > Courses in English and German
>>> >
>>> >
>>> >
>>> > Professional Support for Apache MyFaces
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > 2010/2/13 Arne Limburg <arne.limburg@openknowledge.de>
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > Hi
>>> > Gerhard,
>>> >
>>> >
>>> >
>>> > Did
>>> > you mean "i used
>>> > UserTransaction"? If not, how do you receive your
>>> > EntityTransaction?
>>> >
>>> >
>>> >
>>> > I am
>>> > working on a solution to
>>> > get request-scoped EntityManagers injected within a
>>> > servlet-container that does
>>> > not even support the web-profile (which are the
>>> current
>>> > jetty and the current
>>> > tomcat). I am not able to get an EntityManager
>>> injected via
>>> > @PersistenceContext
>>> > in that environment. So it would be nice if there were
>>> some
>>> > CDI-Extension to
>>> > achieve this. The implementation would be pretty
>>> > straight-forward except the
>>> > configuration of the persistence-unit name and the
>>> handling
>>> > of different
>>> > persistence-units within one CDI-deployment
>>> > unit.
>>> >
>>> >
>>> >
>>> > Using
>>> > JTA-Transactions vs.
>>> > resource-local EntityTransactions is another issue
>>> > here.
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > Regards,
>>> >
>>> > Arne
>>> >
>>> >
>>> >
>>> > --
>>> >
>>> >
>>> >
>>> > Arne
>>> > Limburg - Enterprise
>>> > Developer
>>> >
>>> > OpenKnowledge GmbH,
>>> > Oldenburg
>>> >
>>> > Bismarckstraße
>>> > 13, 26122 Oldenburg
>>> >
>>> > Mobil: +49 (0) 151
>>> > - 108 22 942
>>> >
>>> > Tel: +49 (0) 441 -
>>> > 4082-0
>>> >
>>> > Fax: +49 (0) 441 -
>>> > 4082-111
>>> >
>>> > arne.limburg@openknowledge.de
>>> >
>>> >
>>> > http://www.openknowledge.de
>>> >
>>> >
>>> >
>>> > Registergericht:
>>> > Amtsgericht Oldenburg,
>>> > HRB 4670
>>> >
>>> > Geschäftsführer:
>>> > Lars Röwekamp, Jens
>>> > Schumann
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > Von: Gerhard
>>> > Petracek [mailto:gerhard.petracek@gmail.com]
>>> >
>>> >
>>> > Gesendet: Freitag, 12. Februar 2010 19:59
>>> >
>>> > An: MyFaces Development
>>> >
>>> > Betreff: Re: [Ext-CDI] @Transactional
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > hi
>>> > arne,
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > yes
>>> > - i used EntityTransaction in the prototype and it
>>> works
>>> > pretty well in a
>>> > servlet container (that was the base idea).
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > regards,
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > gerhard
>>> >
>>> >
>>> >
>>> > http://www.irian.at
>>
>>> >
>>> >
>>> >
>>> > Your JSF powerhouse -
>>> >
>>> > JSF Consulting, Development and
>>> >
>>> > Courses in English and German
>>> >
>>> >
>>> >
>>> > Professional Support for Apache MyFaces
>>> >
>>> >
>>> >
>>> > 2010/2/12
>>> > Arne Limburg <arne.limburg@openknowledge.de>
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > Hi
>>> > folks,
>>> >
>>> >
>>> >
>>> > I saw the discussion of adding an
>>> > @Transactional-Annotation to your
>>> > CDI extensions. I think Gerhard wrote it. I wonder if
>>> it
>>> > deals with JTA
>>> > transactions (which indeed would be pretty
>>> > straight-forward) or with
>>> > EntityTransactions of an resource-local EntityManager.
>>> I am
>>> > working on the
>>> > latter one and just would want to know if someone else
>>> is
>>> > working on such
>>> > stuff. I think it would be great, when we could
>>> archive
>>> > injection of
>>> > resource-local EntityManagers with transaction-support
>>> to
>>> > deploy it on a tomcat
>>> > or jetty. What do you think?
>>> >
>>> >
>>> >
>>> > Regards,
>>> >
>>> > Arne
>>> >
>>> >
>>> >
>>> > --
>>> >
>>> >
>>> >
>>> > Arne Limburg - Enterprise
>>> > Developer
>>> >
>>> > OpenKnowledge GmbH, Oldenburg
>>> >
>>> > Bismarckstraße
>>> > 13, 26122 Oldenburg
>>> >
>>> > Mobil:
>>> > +49 (0) 151 - 108 22 942
>>> >
>>> > Tel:
>>> > +49 (0) 441 - 4082-0
>>> >
>>> > Fax:
>>> > +49 (0) 441 - 4082-111
>>> >
>>> > arne.limburg@openknowledge.de
>>> >
>>> >
>>> > http://www.openknowledge.de
>>
>>> >
>>> >
>>> >
>>> >
>>> > Registergericht:
>>> > Amtsgericht Oldenburg, HRB 4670
>>> >
>>> > Geschäftsführer:
>>> > Lars Röwekamp, Jens Schumann
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>>
>>>
>>> __________________________________________________
>>> Do You Yahoo!?
>>> Sie sind Spam leid? Yahoo! Mail verfügt über einen
>>> herausragenden Schutz gegen Massenmails.
>>> http://mail.yahoo.com
>>>
>>
>> __________________________________________________
>> Do You Yahoo!?
>> Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz
>> gegen Massenmails.
>> http://mail.yahoo.com
>>
>>
>>
>>
>
>
>
> --
> Matthias Wessendorf
>
> blog: http://matthiaswessendorf.wordpress.com/
> sessions: http://www.slideshare.net/mwessendorf
> twitter: http://twitter.com/mwessendorf
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Mime
View raw message