Couldnt this debate wait spec feedbacks? a lot of other JPA stuff is doable before i think
- Romain 2012/5/7 Mark Struberg <[email protected]> > > But, I am afraid that this is underspecified... > good guess, same here ;) > > Since this stuff is NOT covered by the CDI spec, I expect that not CDI but > the EE container scans those annotations. And another guess: it will give a > damn about enabled or disabled beans ... > > We are in a very grey area I assume. > > LieGrue, > strub > > > ----- Original Message ----- > > From: Arne Limburg <[email protected]> > > To: "[email protected]" < > [email protected]> > > Cc: > > Sent: Sunday, May 6, 2012 3:48 PM > > Subject: AW: AW: AW: AW: [DISCUSS] deltaspike-jpa module features > > > > 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</connec > >> > > > 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 > >> > > > >>>>>>>> > >> > > > >>>>>>> > >> > > > >>>>>> > >> > > > >>>>>> > >> > > > >>>> > >> > > > >>>> > >> > > > >>> > >> > > > >>> > >> > > > >>> > >> > > > >> > >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > > >
