We need to coordinate this effort with Geronimo and OpenJPA.
Geronimo already has an initial set of the required API updates in the
geronimo-jpa_2.0_spec [1] to support RFC 143.
OpenJPA has had several people approach the community about supporting
RFC 143. We need to keep in mind, that most of this extender code will
eventually live in OpenJPA (or a copy of it), as OpenJPA needs to be
enabled for OSGi out-of-the-box just as Eclipselink is today and not
dependent on Aries for that enablement. Also, in true open source
fashion, we should make sure Aries is JPA provider neutral and works
with Ecliseplink and other providers.
[1]
https://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-jpa_2.0_spec
[2] https://svn.apache.org/repos/asf/openjpa/trunk/openjpa-osgi/
-Donald
Timothy Ward wrote:
RFC 143 is really an internal requirements document from the OSGi enterprise
expert group. The latest version of the Persistence Unit Service draft
specification is available in the early draft of the 4.2 enterprise release.
http://www.osgi.org/download/osgi-4.2-enterprise-early-draft4.pdf
There have been (and continue to be) a number of changes in this area,
including the part of the extender that is responsible for registering
providers. I don't want to stop anyone from getting started on JPA, I just want
to make sure that we focus our efforts on things that aren't throw-away.
I think working on Aries 79, combining the Meta-Persistence header into the
persistence.xml search could be a good place to start.
Regards,
Tim
Date: Thu, 10 Dec 2009 11:17:20 +0000
Subject: Re: [jira] Commented: (ARIES-77) Implement extender for detecting
provider bundles and registering provider service.
From: [email protected]
To: [email protected]
Hi Timothy
I got latest rfc-0143. Hopefully is the latest :).
Have a look at summary of responsibilities:
Extender Responsibilities
1.
Detect Provider bundles
2.
Register providers as services using the provider name and version
service properties
3.
Detect persistence unit bundles based on the presence of persistence.xml
4.
Read all of the persistence unit metadata from the persistence.xml file
5.
Associate a provider with each persistence unit (using the name and
version resolving)
6.
Add exports from associated provider to persistence unit bundle imports
7.
Create PersistenceUnitInfoService from persistence unit metadata and
additional context info
8.
Register persistence units as services with persistence unit name and
version as service properties
Provider Responsibilities
1.
When createEntityManagerFactory() is invoked, look up the
PersistenceUnitInfoService for the named persistence unit and see if the
provider is set to the calling provider
2.
Use the information from the PersistenceUnitInfoService to access the
classes and resources to create an EntityManagerFactory
3.
Use the JDBC service to access the driver (or JTA data source in a
container) and obtain a data source from which it can obtain connections.
Cheers,
Adam
On Thu, Dec 10, 2009 at 11:08 AM, Timothy Ward <[email protected]>wrote:
Hi,
I'm afraid I can't comment on JIRAs yet, because my id hasn't come through,
but I wanted to warn you that the public draft of the OSGi Persistence Unit
Service doesn't do this.
At one point it seemed like this might be a nice idea, but the current
draft (which is still changing), doesn't require an extender to detect and
register providers. In fact, it expects providers to register themselves so
I'm not sure that this is a valuable feature to move across from the
contribution.
Tim
Date: Wed, 9 Dec 2009 20:26:18 +0000
From: [email protected]
To: [email protected]
Subject: [jira] Commented: (ARIES-77) Implement extender for detecting
provider bundles and registering provider service.
>
[
https://issues.apache.org/jira/browse/ARIES-77?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12788292#action_12788292]
Lin Sun commented on ARIES-77:
------------------------------
FYI - the IBM initial contributed code has this function (in
persistenceprovidermanager.java).
Implement extender for detecting provider bundles and registering
provider service.
-----------------------------------------------------------------------------------
Key: ARIES-77
URL: https://issues.apache.org/jira/browse/ARIES-77
Project: Aries
Issue Type: New Feature
Components: JPA
Affects Versions: Incubation
Reporter: Adam Wojtuniak
Assignee: Adam Wojtuniak
1.Detect Provider bundles
2.Register providers as services using the provider name and version
service properties
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
_________________________________________________________________
View your other email accounts from your Hotmail inbox. Add them now.
http://clk.atdmt.com/UKM/go/186394592/direct/01/
_________________________________________________________________
Have more than one Hotmail account? Link them together to easily access both
http://clk.atdmt.com/UKM/go/186394591/direct/01/