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
>

Reply via email to