Hi,

I also tried to run the transactions unit tests using the 
org.osgi.framework.system.packages.extra property listing just the 
transaction packages that we care about, but the tests failed when I did 
that. This means setting the org.osgi.framework.system.packages property, 
as I described previously, is still the way to get this working.

Cheers

Brian DePradine
Web Services Development
IBM Hursley
External  +44 (0) 1962 816319         Internal 246319

If you can't find the time to do it right the first time, where will you 
find the time to do it again?


Brian De Pradine/UK/i...@ibmgb wrote on 20/04/2010 13:50:44:

> [image removed] 
> 
> Re: svn commit: r935639 - /incubator/aries/branches/0.1-incubating-
> RC1/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/
> unit/impl/PersistenceUnitInfoImpl.java
> 
> Brian De Pradine 
> 
> to:
> 
> aries-dev
> 
> 20/04/2010 13:51
> 
> Please respond to aries-dev
> 
> Hi Joe,
> 
> The mechanism to specify the bootclasspath was removed a while ago in 
> favour of the mechanism that David is referring to (this is currently 
the 
> way that the transaction unit tests work). In order to get this 
mechanism 
> to work for the samples you will need to add the following to the 
command 
> line (it is quite long so I suggest creating a script or batch file)
> 
> -
> 
Dorg.osgi.framework.system.packages=javax.accessibility,javax.activation,javax.activity,javax.annotation,javax.annotation.processing,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.event,javax.imageio.metadata,javax.imageio.plugins.bmp,javax.imageio.plugins.jpeg,javax.imageio.spi,javax.imageio.stream,javax.jws,javax.jws.soap,javax.lang.model,javax.lang.model.element,javax.lang.model.type,javax.lang.model.util,javax.management,javax.management.loading,javax.management.modelmbean,javax.management.monitor,javax.management.openmbean,javax.management.relation,javax.management.remote,javax.management.remote.rmi,javax.management.timer,javax.naming,javax.naming.directory,javax.naming.event,javax.naming.ldap,javax.naming.spi,javax.net,javax.net.ssl,javax.print,javax.print.attribute,javax.print.attribute.standard,javax.print.event,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.script,javax.security.auth,javax.security.auth.callback,javax.security.aut!
> 
> 
h.kerberos,javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x500,javax.security.cert,javax.security.sasl,javax.sound.midi,javax.sound.midi.spi,javax.sound.sampled,javax.sound.sampled.spi,javax.sql,javax.sql.rowset,javax.sql.rowset.serial,javax.sql.rowset.spi,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.plaf.metal,javax.swing.plaf.multi,javax.swing.plaf.synth,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.text.html.parser,javax.swing.text.rtf,javax.swing.tree,javax.swing.undo,javax.tools,javax.xml,javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.annotation.adapters,javax.xml.bind.attachment,javax.xml.bind.helpers,javax.xml.bind.util,javax.xml.crypto,javax.xml.crypto.dom,javax.xml.crypto.dsig,javax.xml.crypto.dsig.dom,javax.xml.crypto.dsig.keyinfo,javax.xml.crypto.dsig.spec,javax.xml.datatype,javax.xml.namespace,javax.xml.p!
> 
> 
arsers,javax.xml.soap,javax.xml.stream,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stax,javax.xml.transform.stream,javax.xml.validation,javax.xml.ws,javax.xml.ws.handler,javax.xml.ws.handler.soap,javax.xml.ws.http,javax.xml.ws.soap,javax.xml.ws.spi,javax.xml.xpath,org.ietf.jgss,org.omg.CORBA,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA.TypeCodePackage,org.omg.CORBA.portable,org.omg.CORBA_2_3,org.omg.CORBA_2_3.portable,org.omg.CosNaming,org.omg.CosNaming.NamingContextExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.Dynamic,org.omg.DynamicAny,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage,org.omg.IOP,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage,org.omg.Messaging,org.omg.PortableInterceptor,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.PortableServer,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.P!
> OAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServ!
> 
> 
er.ServantLocatorPackage,org.omg.PortableServer.portable,org.omg.SendingContext,org.omg.stub.java.rmi,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers,javax.transaction;partial=true;mandatory:=partial,javax.transaction.xa;partial=true;mandatory:=partial
> 
> Cheers
> 
> Brian DePradine
> Web Services Development
> IBM Hursley
> External  +44 (0) 1962 816319         Internal 246319
> 
> If you can't find the time to do it right the first time, where will you 

> find the time to do it again?
> 
> 
> Joe Bohn <[email protected]> wrote on 19/04/2010 20:30:06:
> 
> > [image removed] 
> > 
> > Re: svn commit: r935639 - /incubator/aries/branches/0.1-incubating-
> > RC1/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/
> > unit/impl/PersistenceUnitInfoImpl.java
> > 
> > Joe Bohn 
> > 
> > to:
> > 
> > aries-dev
> > 
> > 19/04/2010 20:30
> > 
> > Please respond to aries-dev
> > 
> > 
> > I didn't have any success specifying bootclasspath when starting 
equinox 
> 
> >   ... same linkage error.  I also tried to removing the geronimo-jta 
> > spec from the config.ini to eliminate the possibility of it being 
loaded 
> 
> > from 2 different classloaders ...  but still the same result.
> > 
> > Joe
> > 
> > 
> > 
> > On 4/19/10 1:25 PM, Joe Bohn wrote:
> > >
> > > Thanks David. I was just speaking about this with Jarek as well. So 
it
> > > seems that the problem is that some transaction classes are loaded 
> from
> > > the system bundle. At one time we were including the geronimo-jta 
spec
> > > jar in the Xbootclasspath when starting equinox to avoid this issue. 

> But
> > > then something was changed (don't recall what at the moment) so that 

> was
> > > no longer necessary. I'll try adding the spec back to the 
> Xbootclasspath
> > > when starting equinox to confirm that resolves the issue. If anybody
> > > recalls what had changed that removed that requirement - and why it 
no
> > > longer seems to be working - please let me know.
> > >
> > > Joe
> > >
> > > On 4/19/10 1:05 PM, David Jencks wrote:
> > >> Karaf has some goo like
> > >>
> > >> javax.transaction; javax.transaction.xa; version=1.1; partial=true;
> > >> mandatory:=partial, \
> > >>
> > >> about exporting from the system bundle which is supposed to avoid 
> some
> > >> linkage problems. Do the samples have the same goo?
> > >>
> > >> thanks
> > >> david jencks
> > >>
> > >> On Apr 19, 2010, at 9:54 AM, Joe Bohn wrote:
> > >>
> > >>> It certainly looks like this fix is necessary (the one to return 
the
> > >>> JTA_DATASOURCE rather than the NON_JTA_DATASOURCE) - but I want to
> > >>> warn you that it surfaces another problem. I don't know the 
details
> > >>> of how to fix this yet but we need to get it resolved. This is
> > >>> especially important because it looks like you are getting ready 
to
> > >>> create a new RC and I think this error will prevent that from 
> passing
> > >>> if not resolved:
> > >>>
> > >>> To recreate the error just run Blog for JPA or AriesTrader 
> configured
> > >>> for container managed JPA.
> > >>>
> > >>> java.lang.LinkageError: loader constraint violation: when 
resolving
> > >>> interface method
> > >>> "javax.transaction.Transaction.enlistResource(Ljavax/
> > transaction/xa/XAResource;)Z"
> > >>> the class loader (instance of
> > >>> org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) of the
> > >>> current class, 
org/apache/aries/transaction/jdbc/ConnectionWrapper,
> > >>> and the class loader (instance of
> > >>> org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) for
> > >>> resolved class, javax/transaction/Transaction, have different 
Class
> > >>> objects for the type javax/transaction/xa/XAResource used in the
> > >>> signature
> > >>> at
> > >>> org.apache.aries.transaction.jdbc.ConnectionWrapper.<init>
> > (ConnectionWrapper.java:67)
> > >>>
> > >>> at
> > >>> 
> > 
> 
org.apache.aries.transaction.jdbc.XADatasourceEnlistingWrapper.getEnlistedConnection
> > (XADatasourceEnlistingWrapper.java:85)
> > >>>
> > >>> at
> > >>> 
> > 
> 
org.apache.aries.transaction.jdbc.XADatasourceEnlistingWrapper.getConnection
> > (XADatasourceEnlistingWrapper.java:50)
> > >>>
> > >>> at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
> > >>> at
> > >>> sun.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAccessorImpl.java:25)
> > >>>
> > >>> at java.lang.reflect.Method.invoke(Method.java:597)
> > >>> at
> > >>> org.apache.aries.jndi.services.ServiceHelper
> > $JNDIServiceDamper.invoke(ServiceHelper.java:99)
> > >>>
> > >>> at $Proxy13.getConnection(Unknown Source)
> > >>> at
> > >>> org.apache.openjpa.lib.jdbc.DelegatingDataSource.getConnection
> > (DelegatingDataSource.java:131)
> > >>>
> > >>> at
> > >>> org.apache.openjpa.lib.jdbc.DecoratingDataSource.getConnection
> > (DecoratingDataSource.java:106)
> > >>>
> > >>> at
> > >>> org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary
> > (DBDictionaryFactory.java:91)
> > >>>
> > >>> at
> > >>> 
> > 
> 
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance
> > (JDBCConfigurationImpl.java:595)
> > >>>
> > >>> at
> > >>> org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration
> > (MappingRepository.java:1489)
> > >>>
> > >>> at
> > >>> org.apache.openjpa.lib.conf.Configurations.configureInstance
> > (Configurations.java:507)
> > >>>
> > >>> at
> > >>> org.apache.openjpa.lib.conf.Configurations.configureInstance
> > (Configurations.java:432)
> > >>>
> > >>> at
> > >>> 
> 
org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:104)
> > >>>
> > >>> at
> > >>> org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate
> > (MetaDataRepositoryValue.java:68)
> > >>>
> > >>> at
> > >>> 
> org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
> > >>> at
> > >>> 
> > 
> 
org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance
> > (OpenJPAConfigurationImpl.java:939)
> > >>>
> > >>> at
> > >>> 
> > 
> 
org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance
> > (OpenJPAConfigurationImpl.java:930)
> > >>>
> > >>> at 
> org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:343)
> > >>> at 
> org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:315)
> > >>> at
> > >>> org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker
> > (AbstractBrokerFactory.java:218)
> > >>>
> > >>> at
> > >>> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker
> > (AbstractBrokerFactory.java:202)
> > >>>
> > >>> at
> > >>> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker
> > (DelegatingBrokerFactory.java:156)
> > >>>
> > >>> at
> > >>> 
> > 
> 
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager
> > (EntityManagerFactoryImpl.java:213)
> > >>>
> > >>> at
> > >>> 
> > 
> 
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager
> > (EntityManagerFactoryImpl.java:57)
> > >>>
> > >>> at
> > >>> 
> > 
> 
org.apache.aries.jpa.container.context.transaction.impl.JTAPersistenceContextRegistry.getCurrentPersistenceContext
> > (JTAPersistenceContextRegistry.java:122)
> > >>>
> > >>> at
> > >>> 
> > 
> 
org.apache.aries.jpa.container.context.transaction.impl.JTAEntityManager.getPersistenceContext
> > (JTAEntityManager.java:73)
> > >>>
> > >>> at
> > >>> 
> > 
> 
org.apache.aries.jpa.container.context.transaction.impl.JTAEntityManager.persist
> > (JTAEntityManager.java:220)
> > >>>
> > >>> at
> > >>> 
> > 
> 
org.apache.aries.samples.ariestrader.persist.jpa.cm.TradeJpaCm.createQuote
> > (TradeJpaCm.java:444)
> > >>>
> > >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >>> at
> > >>> sun.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.java:39)
> > >>>
> > >>> at
> > >>> sun.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAccessorImpl.java:25)
> > >>>
> > >>> at java.lang.reflect.Method.invoke(Method.java:597)
> > >>> at
> > >>> org.apache.aries.blueprint.proxy.Collaborator$1.invoke
> > (Collaborator.java:66)
> > >>>
> > >>> at
> > >>> org.apache.aries.blueprint.proxy.Collaborator.invoke
> > (Collaborator.java:151)
> > >>>
> > >>> at
> > >>> org.apache.aries.samples.ariestrader.persist.jpa.cm.
> > $TradeJpaCm360369157.createQuote(Unknown
> > >>> Source)
> > >>> at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> > >>> at
> > >>> sun.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAccessorImpl.java:25)
> > >>>
> > >>> at java.lang.reflect.Method.invoke(Method.java:597)
> > >>> at
> > >>> 
> > org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe
> > $JdkProxyFactory$1.invoke(AbstractServiceReferenceRecipe.java:614)
> > >>>
> > >>> at $Proxy15.createQuote(Unknown Source)
> > >>> at
> > >>> org.apache.aries.samples.ariestrader.web.TradeBuildDB.<init>
> > (TradeBuildDB.java:183)
> > >>>
> > >>> at
> > >>> 
> > org.apache.aries.samples.ariestrader.web.TradeConfigServlet.service
> > (TradeConfigServlet.java:418)
> > >>>
> > >>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> > >>> at
> > >>> 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
> > >>> at
> > >>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> > (ServletHandler.java:1157)
> > >>>
> > >>> at
> > >>> org.ops4j.pax.web.service.internal.WelcomeFilesFilter.doFilter
> > (WelcomeFilesFilter.java:169)
> > >>>
> > >>> at
> > >>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> > (ServletHandler.java:1148)
> > >>>
> > >>> at
> > >>> 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
> > >>> at
> > >>> 
> > 
> 
org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.handle
> > (HttpServiceServletHandler.java:64)
> > >>>
> > >>> at
> > >>> 
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> > >>> at
> > >>> 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> > >>> at
> > >>> 
> > org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.handle
> > (HttpServiceContext.java:111)
> > >>>
> > >>> at
> > >>> 
> > 
> 
org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle
> > (JettyServerHandlerCollection.java:64)
> > >>>
> > >>> at
> > >>> 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> > >>> at org.mortbay.jetty.Server.handle(Server.java:322)
> > >>> at
> > >>> 
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
> > >>> at
> > >>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete
> > (HttpConnection.java:864)
> > >>>
> > >>> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
> > >>> at 
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> > >>> at 
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> > >>> at
> > >>> org.mortbay.io.nio.SelectChannelEndPoint.run
> > (SelectChannelEndPoint.java:409)
> > >>>
> > >>> at
> > >>> org.mortbay.thread.QueuedThreadPool$PoolThread.run
> > (QueuedThreadPool.java:520)
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>>
> > >>> I discovered this in trunk while attempting to run the AriesTrader
> > >>> sample - but the same is also true of the Blog sample. When we
> > >>> attempt to use declarative transaction support after the change be
> > >>>
> > >>>
> > >>> On 4/19/10 11:59 AM, [email protected] wrote:
> > >>>> Author: hughesj
> > >>>> Date: Mon Apr 19 15:59:35 2010
> > >>>> New Revision: 935639
> > >>>>
> > >>>> URL: http://svn.apache.org/viewvc?rev=935639&view=rev
> > >>>> Log:
> > >>>> ARIES-287 fix a couple egregious errors in 
PersistenceUnitInfoImpl 
> -
> > >>>> this time in the 0.1-incubating release candidate branch
> > >>>>
> > >>>> Modified:
> > >>>> incubator/aries/branches/0.1-incubating-RC1/jpa/jpa-container/
> > src/main/java/org/apache/aries/jpa/container/unit/impl/
> > PersistenceUnitInfoImpl.java
> > >>>>
> > >>>>
> > >>>> Modified:
> > >>>> incubator/aries/branches/0.1-incubating-RC1/jpa/jpa-container/
> > src/main/java/org/apache/aries/jpa/container/unit/impl/
> > PersistenceUnitInfoImpl.java
> > >>>>
> > >>>> URL:
> > >>>> http://svn.apache.org/viewvc/incubator/aries/branches/0.1-
> > incubating-RC1/jpa/jpa-container/src/main/java/org/apache/aries/jpa/
> > container/unit/impl/PersistenceUnitInfoImpl.java?
> > rev=935639&r1=935638&r2=935639&view=diff
> > >>>>
> > >>>> 
> > 
> 
==============================================================================
> > >>>>
> > >>>> ---
> > >>>> incubator/aries/branches/0.1-incubating-RC1/jpa/jpa-container/
> > src/main/java/org/apache/aries/jpa/container/unit/impl/
> > PersistenceUnitInfoImpl.java
> > >>>> (original)
> > >>>> +++
> > >>>> incubator/aries/branches/0.1-incubating-RC1/jpa/jpa-container/
> > src/main/java/org/apache/aries/jpa/container/unit/impl/
> > PersistenceUnitInfoImpl.java
> > >>>> Mon Apr 19 15:59:35 2010
> > >>>> @@ -80,17 +80,20 @@ public class PersistenceUnitInfoImpl imp
> > >>>> if(jarFiles != null) {
> > >>>> for(String jarFile : jarFiles){
> > >>>> URL url = bundle.getResource(jarFile);
> > >>>> - if(url == null)
> > >>>> + if(url == null) {
> > >>>> _logger.error("The persistence unit {} in bundle {} listed the 
jar
> > >>>> file {}, but " +
> > >>>> "{} could not be found in the bundle", new
> > >>>> Object[]{getPersistenceUnitName(),
> > >>>> bundle.getSymbolicName() + "_" + bundle.getVersion(), jarFile,
> > >>>> jarFile});
> > >>>> + } else {
> > >>>> + urls.add(url);
> > >>>> + }
> > >>>> }
> > >>>> }
> > >>>> return urls;
> > >>>> }
> > >>>>
> > >>>> public DataSource getJtaDataSource() {
> > >>>> - String jndiString = (String)
> > >>>> unit.getPersistenceXmlMetadata().get
> > (ParsedPersistenceUnit.NON_JTA_DATASOURCE);
> > >>>>
> > >>>> + String jndiString = (String)
> > >>>> unit.getPersistenceXmlMetadata().get
> > (ParsedPersistenceUnit.JTA_DATASOURCE);
> > >>>>
> > >>>> DataSource toReturn = null;
> > >>>> if(jndiString != null) {
> > >>>> try {
> > >>>>
> > >>>>
> > >>>>
> > >>>
> > >>>
> > >>> --
> > >>> Joe
> > >>
> > >>
> > >
> > >
> > 
> > 
> > -- 
> > Joe
> 
> 
> 
> 
> 
> 
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number 

> 741598. 
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 
3AU
> 
> 
> 
> 
> 






Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU





Reply via email to