Skip to main content

[jsr342-experts] Re: Platform default data source and JMS connection factory

  • From: Antonio Goncalves <antonio.goncalves@...>
  • To: jsr342-experts@...
  • Subject: [jsr342-experts] Re: Platform default data source and JMS connection factory
  • Date: Mon, 21 May 2012 10:16:19 +0200

Hi all,

I was thinking about the default datasource... and a default persistence.xml. With a default datasource, here is what a minimal persistence.xml could look like in a managed environment :

<?xml version="1.0" encoding="UTF-8"?>
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             version="2.1">

    <persistence-unit name="defaultPU" transaction-type="JTA">
        <jta-data-source>java:global/defaultDataSource</jta-data-source>
        <properties>
            <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
        </properties>
    </persistence-unit>
</persistence>

I don't know what are the plans on the JPA 2.1 expert group, but it would be great to standardise more properties, like the generation of tables at deployment. So we could have something like 

    <persistence-unit name="defaultPU" transaction-type="JTA">
        <jta-data-source>java:global/defaultDataSource</jta-data-source>
        <properties>
            <property name="javax.persistence.generateddl" value="create-drop"/>
        </properties>
    </persistence-unit>

If we have all the needed configuration by default, then, why not having a default persistence.xml with a default persistence unit being produced by the container ? We could just then write (without any extra configuration) :

@Stateless
public class MyService {

    @Inject
    private EntityManager entityManager;
}

Again, that's inreasing the easy of development. Any thoughts ?

Antonio

On Sun, Apr 15, 2012 at 7:13 PM, Adam Bien <abien@...> wrote:

On 22.03.2012, at 23:23, Linda DeMichiel wrote:

> In view of the feedback we've received on this issue, our conclusion is
> that we should adopt approach 3.
>
> To summarize, in the data source case, the following will apply:
>
> The Java EE Platform requires that a Java EE Product Provider
> provide a database in the operational environment.  The Java EE
> Product Provider must also provide a preconfigured, default data
> source for use by the application in accessing this database.
>
> The Java EE Product Provider must make the default data source
> accessible to the application under the JNDI name
> java:comp/defaultDataSource.
>
> The Application Component Provider or Deployer may explicitly bind a
> DataSource resource reference to the default data source using the
> lookup element of the Resource annotation or the lookup-name element
> of the resource-ref deployment descriptor element.  For example,
>
> @Resource(name="myDataSource", lookup="java:comp/defaultDataSource")
> DataSource myDS;

+1 but:

@Inject
DataSource myDS; should work as well. (I would require a default producer to do the job).
>
> If a DataSource resource reference is not mapped to a specific data
> source by the Application Component Provider or Deployer, it must be
> mapped by the Java EE Product Provider to a preconfigured data source
> for the Java EE Product Provider's default database.  For example, in
> the absence of any action on the part of the developer or deployer,
> the following will map to a preconfigured data source for the
> product's default database:
>
> @Resource(name="myDataSource")
> DataSource myDS;
>
>
> And similarly for default JMS Connection Factory, whose JNDI name is
> java:comp/defaultJMSConnectionFactory.
>
>
> -Linda
>
>




--
Antonio Goncalves
Software architect and Java Champion

Web site | TwitterBlog | LinkedInParis JUG


[jsr342-experts] Re: Platform default data source and JMS connection factory

Antonio Goncalves 05/21/2012

[jsr342-experts] Re: Platform default data source and JMS connection factory

Linda DeMichiel 05/21/2012

[jsr342-experts] Re: Platform default data source and JMS connection factory

Antonio Goncalves 05/21/2012

[jsr342-experts] Re: Platform default data source and JMS connection factory

Linda DeMichiel 05/21/2012
 
 
Close
loading
Please Confirm
Close