incubator-deltaspike-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Struberg <strub...@yahoo.de>
Subject Re: AW: AW: AW: AW: [DISCUSS] deltaspike-jpa module features
Date Sun, 06 May 2012 22:02:08 GMT
> 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 <arne.limburg@openknowledge.de>
> To: "deltaspike-dev@incubator.apache.org" <deltaspike-dev@incubator.apache.org>
> 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:rmannibucau@gmail.com] 
> Gesendet: Sonntag, 6. Mai 2012 15:40
> An: deltaspike-dev@incubator.apache.org
> 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" 
> <arne.limburg@openknowledge.de> 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:rmannibucau@gmail.com]
>>  Gesendet: Sonntag, 6. Mai 2012 15:28
>>  An: deltaspike-dev@incubator.apache.org
>>  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" 
> <arne.limburg@openknowledge.de> 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:rmannibucau@gmail.com]
>>  > Gesendet: Sonntag, 6. Mai 2012 15:14
>>  > An: deltaspike-dev@incubator.apache.org
>>  > 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" 
> <arne.limburg@openknowledge.de> 
>>  > 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:rmannibucau@gmail.com]
>>  > > Gesendet: Sonntag, 6. Mai 2012 14:49
>>  > > An: Mark Struberg; deltaspike-dev@incubator.apache.org
>>  > > 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" 
> <struberg@yahoo.de> 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 <rmannibucau@gmail.com>
>>  > > > >To: Mark Struberg <struberg@yahoo.de>;
>>  > > > deltaspike-dev@incubator.apache.org
>>  > > > >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" 
> <struberg@yahoo.de> 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 <struberg@yahoo.de>
>>  > > > >>>To: Romain Manni-Bucau 
> <rmannibucau@gmail.com>; deltaspike <
>>  > > > deltaspike-dev@incubator.apache.org>
>>  > > > >>>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 
> <rmannibucau@gmail.com>
>>  > > > >>>>To: Mark Struberg <struberg@yahoo.de>
>>  > > > >>>>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" <struberg@yahoo.de> a
>>  écrit :
>>  > > > >>>>
>>  > > > >>>>yes, that crashes the container...
>>  > > > >>>>>
>>  > > > >>>>>
>>  > > > >>>>>
>>  > > > >>>>>
>>  > > > >>>>>
>>  > > > >>>>>>________________________________
>>  > > > >>>>>> From: Romain Manni-Bucau 
> <rmannibucau@gmail.com>
>>  > > > >>>>>>To: Mark Struberg 
> <struberg@yahoo.de>;
>>  > > > deltaspike-dev@incubator.apache.org
>>  > > > >>>>>>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" <struberg@yahoo.de> 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 
> <david.blevins@gmail.com>
>>  > > > >>>>>>>> To: 
> deltaspike-dev@incubator.apache.org; Mark Struberg 
>>  > > > >>>>>>>> <
>>  > > > struberg@yahoo.de>
>>  > > > >>>>>>>> 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
>>  > > > >>>>>>>>
>>  > > > >>>>>>>
>>  > > > >>>>>>
>>  > > > >>>>>>
>>  > > > >>>>
>>  > > > >>>>
>>  > > > >>>
>>  > > > >>>
>>  > > > >>>
>>  > > > >>
>>  > > > >
>>  > > > >
>>  > > >
>>  > >
>>  >
>> 
> 

Mime
View raw message