Hello Joerg, I don't think Erik wants to reinvent JTA. Probably a multi DBS PMF implementation will rely on a JTA TM. But you also have to cover non transactional data sources. I think the proposed options are here to cover this.
Best Regards, ....: Eric Samson, Founder & CTO, Xcalia Service your Data! -----Message d'origine----- De : Joerg von Frantzius [mailto:[EMAIL PROTECTED] Envoyé : lundi 5 novembre 2007 10:29 À : [email protected] Cc : [EMAIL PROTECTED] Objet : Re: multiple databases one PM/TX Hi Erik, there is one thing that I don't understand about this proposed feature (which may be just me not seeing the obvious point of course :) Running 2PC on multiple data sources is handled already by J2EE implementations, and, as far as I recall, there are also libraries available that provide a JTA without a full blown J2EE server. Why would you want to duplicate this already existing and available functionality in JDO? Regards, Jörg Erik Bengtson schrieb: > In JPOX we are implementing the access to multiple datastores within a > single PM/TX. If not too late, I’m wonder if you like to hear a > proposal to standardize the configuration of the “jdoconfig” and jdo > metadata to be able to handle this scenario. It may sound overkill, > but IMO is a major advance over JPA. > > To introduce the subject, the goal is to handle persistence in > multiple databases (e.g. derby, oracle, DB4O, Versant, XML) within a > single JDO transaction/ single PM. From the user point of view, there > are two items that must be configured, jdo metadata, jdo > configuration, in which would be part of this proposal, so I show below an > example of the configurations: > > /jdoconfig/ sequence unbounded PMF > /jdoconfig/ sequence unbounded Resource > > /PMF/ > /PMF/@Class > /PMF/@TransactionTimeout > /PMF/@... > /Resource/ > /Resource/@Name > /Resource/Connection Settings/ > /Resource/Connection Settings/@ConnectionFactoryName > /Resource/Connection Settings/@ConnectionClientID /Resource/Connection > Settings/@ReadOnly /Resource/Connection Settings/@... > /Resource/Transaction/ > /Resource/Transaction/@TwoPhaseCommit > /Resource/Transaction/@Timeout > > ConnectionClientID > ---------------------------- > ConnectionClientID is the identifier for the connection. Some > databases such as Oracle use this to identify the end user (not the > connection user). > ConnectionClientID would accept the values: > > 1 - CredentialMapping - the CredentialMapping takes the principal of > the running application and sets it as client id - eg. > ConnectionClientID=CredentialMapping > 2 - Identity – the client id is taken from the id right after the > Identity word > - eg. ConnectionClientID=Identity:MyUser > > ReadOnly > ---------------------------- > ReadOnly (accepts true, false) will block write operations to this > connection > > TwoPhaseCommit > -------------------------- > Two options: > > 1 – LastLoggingResource - If the resource is non XA, push down this > resource in commit order. > 2 – Emulated – Emulates non XA protocol. Heuristics errors could > happen > > Example: > > <jdoconfig> > > <pmf name=”snowdog” default-resource=”Oracle”> </pmf> > > <resource name=”ERP”> > <connection connectionfactoryname=”BSCS_Hot”/> > </resource> > > <resource name=”PeopleSoft”> > <connection connectionfactoryname=”PS_Onyx”/> </resource> > > <resource name=”Oracle”> > <connection connectionfactoryname=”ORA_Vinci” > connection-client-id=”CredentialMapping”/> > <transaction two-phase-commit=”LLR” timeout=”30”/> </resource> > > <resource name=”Xml”> > <connection readonly=”true”/> > <extension> > <jpox:xml file=”file:/usr/home/myxml.xml”/> </extension> </resource> > > > </jdoconfig> > > <jdo> > <package> > <class name=”Invoice” resource=”ERP”/> <class name=”ClassData”/> <!-- > uses default-resource --> <class name=”Person” resource=”PeopleSoft”/> > <class name=”ReferenceData” resource=”Xml”/> </package> </jdo> > > > > > Quoting Michelle Caisse <[EMAIL PROTECTED]>: > > >> Hi, >> >> We will have our regular meeting Friday, October 26 at 9 am PDT to >> discuss JDO TCK issues and status. >> >> Dial-in numbers are: >> 866 230-6968 294-0479# >> International: +1 865 544-7856 >> >> Agenda: >> >> 1. Subquery spec update >> 2. Other issues >> >> Action Items from weeks past: >> >> [Oct 12 2007] AI Michael take a look at subquery tck tests. >> https://issues.apache.org/jira/browse/JDO-446 >> >> [Sep 14 2007] AI Matthew provide examples for 8.6.1.1 jdoconfig.xml. >> >> [June 22 2007] AI Craig discuss svn:eol-style on email. >> >> [June 22 2007] AI Craig write a proposal on annotation overrides for >> the expert group. >> >> [May 25 2007] AI everyone Download the Grails demo from grails.org >> and check it out. Also look at Grails/Groovy ExpandoMetaClass that >> has the magic to avoid reflection and enhancement. >> >> [May 25 2007] AI Matthew Adams prepare a proposal with just the >> basics of schema synchronization with jdo and orm metadata. >> >> [May 18 2007] AI Craig update http://wiki.apache.org/jdo/ >> CurrentDevelopment wiki page >> >> [Apr 27 2007] AI Craig review Query API and send email to experts. >> >> [Apr 27 2007] AI Erik file a JIRA regarding JPA style transactions >> and attach his discussion document to it. >> >> [Mar 9 2007] AI Craig: Update the spec to require that the key of the >> listener is the class name of the listener, for consistency with >> proposed xml.. >> >> [Mar 2 2007] AI Craig: update the JDOHelper class to include a string >> constant "META-INF/jdo.xml" and a new method >> getPersistenceManagerFactory taking no arguments. >> >> [Aug 11 2006] AI Craig propose some semantics for behavior if user >> tries to add to a list where the ordering element is incorrect. >> >> [Jul 14 2006] AI: Erik document 220 annotations that don't have a >> corresponding JDO concept. >> >> [Jun 23 2006] AI Martin look at what Hibernate and TopLink support >> for Enum types. In progress. >> >> [Apr 14 2006] AI Craig: update the roadmap for JDO. In progress. >> >> [Nov 4 2005] AI Martin: Update Martin's wiki with discusion of JDK 1.5 >> issues. In progress >> >> [Sep 2 2005] AI: To recruit members, update the web site. Articles on >> TheServerSide directing attention to the site. T-shirts, logo. AI: >> Craig write a ServerSide article. >> >> -- Michelle >> >> > > > > > >
