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</conn > > > > > 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 > > > > > >>>>>>>> > > > > > >>>>>>> > > > > > >>>>>> > > > > > >>>>>> > > > > > >>>> > > > > > >>>> > > > > > >>> > > > > > >>> > > > > > >>> > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >
