http://docs.oracle.com/cd/B31017_01/web.1013/b28221/usclient005.htm it explains this usage...IMO it doesnt change a lot the issue Le 6 mai 2012 16:09, "Romain Manni-Bucau" <[email protected]> a écrit :
> Yep but an em needs an emf ;) > Le 6 mai 2012 16:05, "Arne Limburg" <[email protected]> a > écrit : > >> OK, I think, this is not correct since it expresses a dependency to an >> EntityManager and not to an EntityManagerFactory (in opposition to >> @PersistenceUnit). >> >> -----Ursprüngliche Nachricht----- >> Von: Romain Manni-Bucau [mailto:[email protected]] >> Gesendet: Sonntag, 6. Mai 2012 16:00 >> An: [email protected] >> Betreff: Re: AW: AW: AW: AW: AW: [DISCUSS] deltaspike-jpa module features >> >> It tomee we create the entitymanagerfactory associated. >> Le 6 mai 2012 15:53, "Arne Limburg" <[email protected]> a >> écrit : >> >> > OK and the meaning of this annotation at class-level would be: >> > "a dependency on a container-managed entity manager and its associated >> > persistence context." That's perfectly the semantics we need ;-) >> > >> > But what would a jee container do when he observes such annotation at >> > class-level? I can't read it from the spec... >> > I think, we have to try... Or does someone at this list know? >> > >> > -----Ursprüngliche Nachricht----- >> > Von: Romain Manni-Bucau [mailto:[email protected]] >> > Gesendet: Sonntag, 6. Mai 2012 15:49 >> > An: [email protected] >> > Betreff: Re: AW: AW: AW: AW: [DISCUSS] deltaspike-jpa module features >> > >> > The container will scan persistencecontext annotation with no link >> > with cdi. >> > Le 6 mai 2012 15:46, "Arne Limburg" <[email protected]> a >> > écrit : >> > >> > > If so, what would be the semantic of such definition? >> > > Btw. that classes would only become CDI beans when the deployment is >> > > in the correct project stage. Otherwise we would veto them away, >> > > before they become beans... >> > > And, which part of the jee container would scan that class? My guess >> > > is, that it would be the responsibility of the CDI implementation. >> > > And >> > > - just a second guess - they ignore it... >> > > >> > > I'll take a look into the JPA spec to see what the official semantic >> > > of the usage I proposed would be. But, I am afraid that this is >> > > underspecified... >> > > >> > > -----Ursprüngliche Nachricht----- >> > > Von: Romain Manni-Bucau [mailto:[email protected]] >> > > Gesendet: Sonntag, 6. Mai 2012 15:40 >> > > An: [email protected] >> > > Betreff: Re: AW: AW: AW: [DISCUSS] deltaspike-jpa module features >> > > >> > > Cdi is in jee so jee containers scans cdi beans and same for >> > > resources (@persistencontext). >> > > Le 6 mai 2012 15:36, "Arne Limburg" <[email protected]> >> > > a écrit : >> > > >> > > > If not, we can use other annotations, but I think jee containers >> > > > just scan EJBs... >> > > > >> > > > -----Ursprüngliche Nachricht----- >> > > > Von: Romain Manni-Bucau [mailto:[email protected]] >> > > > Gesendet: Sonntag, 6. Mai 2012 15:28 >> > > > An: [email protected] >> > > > Betreff: Re: AW: AW: [DISCUSS] deltaspike-jpa module features >> > > > >> > > > Not sure it works in a jee container. >> > > > >> > > > - Romain >> > > > Le 6 mai 2012 15:26, "Arne Limburg" >> > > > <[email protected]> a écrit : >> > > > >> > > > > You could configure your production jta-datasource in the >> > > > > persistence.xml and add the following bean to your test >> deployment: >> > > > > >> > > > > @Exclude(exceptIfProjectStage = >> > > > > ProjectStage.IntegrationTest.class) >> > > > > @PersistenceContext(unitName = "myPU", properties = >> > > > > @PersistenceProperty(name = >> > > > > "javax.persistence.nonJtaDataSource", >> > > > > value = >> > > > > "java:/comp/env/myDS")) >> > > > > public class MyIntegrationTestConfiguration { } >> > > > > >> > > > > For local testing, you could even switch off JNDI: >> > > > > @Exclude(exceptIfProjectStage = ProjectStage.Development.class) >> > > > > @PersistenceContext(unitName = "myPU", properties = >> > > > > {@PersistenceProperty(name = >> > > > > "javax.persistence.transactionType", >> > > > > value = "RESOURCE_LOCAL"), >> > > > > >> > > > > @PersistenceProperty(name = >> > > > > "javax.persistence.jdbc.url", value = "jdbc:h2:mem:myDB"), ...}) >> > > > > public class MyDevelopmentConfiguration { } >> > > > > >> > > > > WDYT? >> > > > > >> > > > > Romain, >> > > > > Noone needs to repackage his application, since we can put this >> > > > > properties into a map and use it as the second parameter of >> > > > emf.createEntityManager... >> > > > > >> > > > > - Arne >> > > > > >> > > > > -----Ursprüngliche Nachricht----- >> > > > > Von: Romain Manni-Bucau [mailto:[email protected]] >> > > > > Gesendet: Sonntag, 6. Mai 2012 15:14 >> > > > > An: [email protected] >> > > > > Betreff: Re: AW: [DISCUSS] deltaspike-jpa module features >> > > > > >> > > > > How do you manage it from persistence.xml if you dont repackage >> > > > > your archive as Mark said? >> > > > > >> > > > > Personally i agree ;) >> > > > > >> > > > > - Romain >> > > > > Le 6 mai 2012 15:06, "Arne Limburg" >> > > > > <[email protected]> a écrit : >> > > > > >> > > > > > OK, >> > > > > > but do we really need a container-independent way for >> > > JNDI-DataSources? >> > > > > > What's the use case for it? >> > > > > > The user always knows his container and thus his specific >> > JNDI-name. >> > > > > > >> > > > > > I think we need an easy way for users to configure different >> > > > > > JNDI-DataSources for different deployment scenarios, like >> > > > > > - a JTA-datasource for my JBoss AS 7 in production >> > > > > > - a Non-JTA-datasource from another JNDI-location for the >> > > > > > Tomcat for testing >> > > > > > - a RESOURCE_LOCAL EntityManager for local testing... >> > > > > > >> > > > > > We need to find an easy way for the users to configure the >> > > > > > JNDI-location, but imho we don't need to handle different >> > > > > > JNDI-locations >> > > > > in our code? >> > > > > > >> > > > > > WDYT? Am I missing a use case? >> > > > > > >> > > > > > Cheers, >> > > > > > Arne >> > > > > > >> > > > > > -----Ursprüngliche Nachricht----- >> > > > > > Von: Romain Manni-Bucau [mailto:[email protected]] >> > > > > > Gesendet: Sonntag, 6. Mai 2012 14:49 >> > > > > > An: Mark Struberg; [email protected] >> > > > > > Betreff: Re: [DISCUSS] deltaspike-jpa module features >> > > > > > >> > > > > > ConfigurableDataSource doesnt solve it. If you build the emf >> > > > > > from persistence info you manage it yourself. It should be IMO >> > > > > > a compatibility mode and spec you be fixed. >> > > > > > >> > > > > > But well, the most important subjects are not here, >> > > > > > pagination, dynamic dao etc are really more valuable. >> > > > > > >> > > > > > - Romain >> > > > > > Le 6 mai 2012 14:44, "Mark Struberg" <[email protected]> a >> écrit : >> > > > > > >> > > > > > > >> > > > > > > >> > > > > > > The problem here is that this is NOT under our control - >> > > > > > > this is not even CDI related! >> > > > > > > >> > > > > > > You need to _exactly_ specify the JNDI location in your >> > > > > persistence.xml. >> > > > > > > And this info get's parsed by JPA or the EE container at >> > > > > > > deploy >> > > time. >> > > > > > > >> > > > > > > >> > > > > > > Maybe there's a trick with a PersistenceUnitInfo. But since >> > > > > > > those are also managed by the server (and thus show the same >> > > > > > > unspecified >> > > > > > > behaviour) we imo cannot leverage those. >> > > > > > > >> > > > > > > LieGrue, >> > > > > > > strub >> > > > > > > >> > > > > > > >> > > > > > > >________________________________ >> > > > > > > > From: Romain Manni-Bucau <[email protected]> >> > > > > > > >To: Mark Struberg <[email protected]>; >> > > > > > > [email protected] >> > > > > > > >Sent: Sunday, May 6, 2012 2:37 PM >> > > > > > > >Subject: Re: [DISCUSS] deltaspike-jpa module features >> > > > > > > > >> > > > > > > > >> > > > > > > >I understand. On another side how many differeny locations >> > > > > > > >are >> > > > there? >> > > > > > > Isnt it manageable? >> > > > > > > >- Romain >> > > > > > > >Le 6 mai 2012 14:29, "Mark Struberg" <[email protected]> a >> > > > > > > >écrit >> > > : >> > > > > > > > >> > > > > > > > >> > > > > > > >> >> > > > > > > >>PS: I _fully_ agree that this mess should best get fixed >> > > > > > > >>in >> > EE7. >> > > > > > > >>But >> > > > > > > sadly we also need to support older containers! >> > > > > > > >> >> > > > > > > >>I know about folks who have OWB and CODI running on old >> > > > > > > >>WebSphere >> > > > > > > >>6 and >> > > > > > > 7 servers. And others who use OWB on WebLogic 10.3. And >> > > > > > > those companies are big banks, stock exchanges and >> > > > > > > insurrance companies >> > > > > > > - they cannot easily upgrade to a new server... >> > > > > > > >> >> > > > > > > >>LieGrue, >> > > > > > > >>strub >> > > > > > > >> >> > > > > > > >> >> > > > > > > >> >> > > > > > > >> >> > > > > > > >> >> > > > > > > >>>________________________________ >> > > > > > > >>> From: Mark Struberg <[email protected]> >> > > > > > > >>>To: Romain Manni-Bucau <[email protected]>; >> > > > > > > >>>deltaspike < >> > > > > > > [email protected]> >> > > > > > > >>>Sent: Sunday, May 6, 2012 2:14 PM >> > > > > > > >>>Subject: Re: [DISCUSS] deltaspike-jpa module features >> > > > > > > >>> >> > > > > > > >>> >> > > > > > > >>> >> > > > > > > >>>No, the container is NOT buggy, because it's simply NOT >> > defined! >> > > > > > > >>>That's the whole mess about JNDI... >> > > > > > > >>> >> > > > > > > >>>LieGrue, >> > > > > > > >>>strub >> > > > > > > >>> >> > > > > > > >>> >> > > > > > > >>> >> > > > > > > >>> >> > > > > > > >>>>________________________________ >> > > > > > > >>>> From: Romain Manni-Bucau <[email protected]> >> > > > > > > >>>>To: Mark Struberg <[email protected]> >> > > > > > > >>>>Sent: Sunday, May 6, 2012 2:01 PM >> > > > > > > >>>>Subject: Re: [DISCUSS] deltaspike-jpa module features >> > > > > > > >>>> >> > > > > > > >>>> >> > > > > > > >>>>So this container is buggy, report an issue ;) Thinking >> > > > > > > >>>>of it this jndi path issue couldnt be resolved by >> > > > > > > configresolvers in ds? >> > > > > > > >>>>- Romain >> > > > > > > >>>>Le 6 mai 2012 13:58, "Mark Struberg" <[email protected]> >> > > > > > > >>>>a >> > > > écrit : >> > > > > > > >>>> >> > > > > > > >>>>yes, that crashes the container... >> > > > > > > >>>>> >> > > > > > > >>>>> >> > > > > > > >>>>> >> > > > > > > >>>>> >> > > > > > > >>>>> >> > > > > > > >>>>>>________________________________ >> > > > > > > >>>>>> From: Romain Manni-Bucau <[email protected]> >> > > > > > > >>>>>>To: Mark Struberg <[email protected]>; >> > > > > > > [email protected] >> > > > > > > >>>>>>Sent: Sunday, May 6, 2012 1:52 PM >> > > > > > > >>>>>>Subject: Re: [DISCUSS] deltaspike-jpa module features >> > > > > > > >>>>>> >> > > > > > > >>>>>> >> > > > > > > >>>>>>Mark, did you try providing a name starting with java:? >> > > > > > > >>>>>>- Romain >> > > > > > > >>>>>>Le 6 mai 2012 13:49, "Mark Struberg" >> > > > > > > >>>>>><[email protected]> a >> > > > > écrit : >> > > > > > > >>>>>> >> > > > > > > >>>>>> >> > > > > > > >>>>>>> >> > > > > > > >>>>>>>David, exactly this doesn't work out in practice! >> > > > > > > >>>>>>> >> > > > > > > >>>>>>>look at jboss5 datasource xml as an example: >> > > > > > > >>>>>>> >> > > > > > > >>>>>>><?xml version="1.0" encoding="UTF-8"?> <datasources> >> > > > > > > >>>>>>> <local-tx-datasource> >> > > > > > > >>>>>>> <jndi-name>myDS</jndi-name> >> > > > > > > >>>>>>> >> > > > > > > <connection-url>jdbc:postgresql://someserver:5432/someDb</co >> > > > > > > nn >> > > > > > > ec >> > > > > > > ti >> > > > > > > on >> > > > > > > -u >> > > > > > > rl> >> > > > > > > >>>>>>> <user-name>user</user-name> >> > > > > > > >>>>>>> <password>pwd</password> >> > > > > > > >>>>>>> >> > > > > > > <driver-class>org.postgresql.Driver</driver-class> >> > > > > > > >>>>>>> </local-tx-datasource> </datasources> >> > > > > > > >>>>>>> >> > > > > > > >>>>>>>This will create the following JNDI location in >> JBossAS5: >> > > > > > > >>>>>>>java:/myDS >> > > > > > > >>>>>>> >> > > > > > > >>>>>>>NO comp, NO lang, NO other qualifier. >> > > > > > > >>>>>>> >> > > > > > > >>>>>>>Configuring the same in Geronimo gives you >> > > > > > > >>>>>>>java:/comp/env/myDS and it's again COMPLETEY >> > > > > > > >>>>>>>different in JBossAS6, AS7, Glassfish, >> > > > > > > TomEE, etc >> > > > > > > >>>>>>> >> > > > > > > >>>>>>> >> > > > > > > >>>>>>>Thus: which JNDI location would you configure in your >> > > > > > > persistence.xml? >> > > > > > > >>>>>>> >> > > > > > > >>>>>>>That's the reason why we came up with the >> > > > > ConfigurableDataSource. >> > > > > > > >>>>>>> >> > > > > > > >>>>>>>Of course, we need to extend this concept and create >> > > > > > > >>>>>>>a >> > > > > > > >>>>>>> >> > > > > > > >>>>>>> >> > > > > > > >>>>>>>public interface ConfigurableXaDataSource extends >> > > > > > > ConfigurableDataSource, XaDataSource {} >> > > > > > > >>>>>>> >> > > > > > > >>>>>>>See what I mean? >> > > > > > > >>>>>>> >> > > > > > > >>>>>>>LieGrue, >> > > > > > > >>>>>>>strub >> > > > > > > >>>>>>> >> > > > > > > >>>>>>> >> > > > > > > >>>>>>> >> > > > > > > >>>>>>> >> > > > > > > >>>>>>>----- Original Message ----- >> > > > > > > >>>>>>>> From: David Blevins <[email protected]> >> > > > > > > >>>>>>>> To: [email protected]; Mark >> > > > > > > >>>>>>>> Struberg < >> > > > > > > [email protected]> >> > > > > > > >>>>>>>> Cc: >> > > > > > > >>>>>>>> Sent: Sunday, May 6, 2012 1:25 PM >> > > > > > > >>>>>>>> Subject: Re: [DISCUSS] deltaspike-jpa module >> > > > > > > >>>>>>>> features >> > > > > > > >>>>>>>> >> > > > > > > >>>>>>>> >> > > > > > > >>>>>>>> On May 6, 2012, at 2:37 AM, Mark Struberg wrote: >> > > > > > > >>>>>>>> >> > > > > > > >>>>>>>>>> In plain Tomcat or Jetty servers this needs to >> > > > > > > >>>>>>>>>> be configured in a >> > > > > > > container-specific way. >> > > > > > > >>>>>>>>> The problem with the container specific stuff is >> > > > > > > >>>>>>>>> that every >> > > > > > > container >> > > > > > > >>>>>>>> serves the xml configured datasource on a different >> > > > > > > >>>>>>>> location in >> > > > > > > JNDI! So you >> > > > > > > >>>>>>>> cannot provide a container independent >> > > > > > > >>>>>>>> implementation that way :/ >> > > > > > > >>>>>>>> >> > > > > > > >>>>>>>> The portable way would be to declare your >> > > > > > > >>>>>>>> datasource properly via >> > > > > > > >>>>>>>> @Resource(name="java:app/Foo", >> > > > > > > >>>>>>>> type=DataSource.class) or via <resource-ref> xml. >> > > > > > > >>>>>>>> >> > > > > > > >>>>>>>> Most servers can map those references with little >> > > > > > > >>>>>>>> to no >> > > > > config. >> > > > > > > >>>>>>>> >> > > > > > > >>>>>>>> >> > > > > > > >>>>>>>> -David >> > > > > > > >>>>>>>> >> > > > > > > >>>>>>> >> > > > > > > >>>>>> >> > > > > > > >>>>>> >> > > > > > > >>>> >> > > > > > > >>>> >> > > > > > > >>> >> > > > > > > >>> >> > > > > > > >>> >> > > > > > > >> >> > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >
