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</connection-url>
<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
>