db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig L Russell <Craig.Russ...@Sun.COM>
Subject Re: Missing JPOX "implementation creator"
Date Tue, 25 Apr 2006 14:09:46 GMT
Hi Jörg,

To test binary compatibility, both the IUT and JPOX must be in the  
classpath. The jdo implementation never depends on "what is found  
first in the classpath". It's explicitly called out by the user's  
configuration of the pmf properties.

I wonder if we should have a test that requires the user of the TCK  
to click through a statement that says "I have read and understand  
RunRules.html". ;-)

This does raise for me a question of whether it's possible to run the  
TCK with a newer version of JPOX as the IUT and the officially  
shipped version as "the other implementation" for binary  
compatibility tests. Probably not...

Craig

On Apr 25, 2006, at 6:25 AM, Jörg von Frantzius wrote:

> Hi Michael,
>
> please excuse my ignorance, now I finally understand what the  
> difference between the jdori and iut targets is.
>
> Having read http://issues.apache.org/jira/browse/JDO-357 I only  
> then happened to have a look at RunRules.html, which was very  
> informative ;-)
>
> It seems that running the iut target will find the jpox-core- 
> SNAPSHOT.jar in the maven repository and use it, so that the iut  
> target will run even when iut_jars is empty. Maybe that's a little  
> confusing (and I'd wonder which will be found first in the  
> classpath if both JPOX is present in the maven repo and some other  
> implementation in iut_jars).
>
> Regards,
> Jörg
>
> Michael Bouschen schrieb:
>> Hi Jörg,
>>> Thanks Michelle and Erik for your answers. I simply dropped the  
>>> jpox-enhancer-SNAPSHOT.jar into iut_jars, and now it works. It's  
>>> just the CompletenessTest failing once per kind of identity now,  
>>> and I guess that's as currently expected.
>> On my side companyPMInterface.conf is the only configuration that  
>> is failing for both identity types.
>>>
>>> Just wondering a bit whether the tck20 project shouldn't claim  
>>> the jpox-enhancer-SNAPSHOT.jar as a maven dependency?
>> It already does. The goal 'maven runtck.jdori' runs the tck using  
>> the jdori i.e. JPOX. Then everything gets setup automatically and  
>> there is no need to copy any jars to the iut_jars directory. You  
>> use the goal 'maven runtck.iut' if you want to run a JDO  
>> implementation (called Implemnentation Under Test) against the  
>> tck. This does not any JPOX jars. Instead it puts all the jars in  
>> the iut_jars directory in the classpath.
>>
>> Regards Michael
>>>
>>> Regards,
>>> Jörg
>>>
>>> Michelle Caisse schrieb:
>>>> Hi Jörg ,
>>>>
>>>> I think you just need to drop the jpox enhancer jar file into  
>>>> the iut_jars directory of your tck installation, or otherwise  
>>>> get it onto your classpath.
>>>>
>>>> -- Michelle 
>>>>
>>>> Jörg von Frantzius wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> when I run the tests, I see the following error. Is there  
>>>>> anything I can do about this myself per chance?
>>>>>
>>>>> Thanks for even more hints,
>>>>> Jörg
>>>>>
>>>>>
>>>>>     1)
>>>>>     test 
>>>>> (org.apache.jdo.tck.models.fieldtypes.TestArrayCollections) 
>>>>> javax.jdo.JDOFatalException:
>>>>>     The JPOX "implementation creator" was not found in the  
>>>>> CLASSPATH.
>>>>>     To use PersistenceManager.newInstance() you need to have  
>>>>> the JPOX
>>>>>      Enhancer in the CLASSPATH.
>>>>>             at
>>>>>     org.jpox.PMFContext.getImplementationCreator 
>>>>> (PMFContext.java:90)
>>>>>             at
>>>>>      
>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForReference 
>>>>> Field(ColumnCreator.java:288)
>>>>>             at
>>>>>      
>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForField 
>>>>> (ColumnCreator.java:411)
>>>>>             at
>>>>>      
>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForJoinTable 
>>>>> s(ColumnCreator.java:145)
>>>>>             at
>>>>>     org.jpox.store.rdbms.table.ArrayTable.initialize 
>>>>> (ArrayTable.java:93)
>>>>>             at
>>>>>     org.jpox.store.rdbms.RDBMSManager 
>>>>> $ClassAdder.addClassTablesAndValidate(RDBMSManager.java:2613)
>>>>>             at
>>>>>     org.jpox.store.rdbms.RDBMSManager$ClassAdder.run 
>>>>> (RDBMSManager.java:2225)
>>>>>             at
>>>>>     org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute 
>>>>> (RDBMSManager.java:2081)
>>>>>             at
>>>>>     org.jpox.store.rdbms.RDBMSManager.addClasses 
>>>>> (RDBMSManager.java:576)
>>>>>             at
>>>>>     org.jpox.store.rdbms.RDBMSManager.addClass 
>>>>> (RDBMSManager.java:590)
>>>>>             at
>>>>>     org.jpox.store.StoreManager.getDatastoreClass 
>>>>> (StoreManager.java:983)
>>>>>             at
>>>>>     org.jpox.state.StateManagerImpl.populateStrategyFields 
>>>>> (StateManagerImpl.java:770)
>>>>>             at
>>>>>     org.jpox.state.StateManagerImpl.<init> 
>>>>> (StateManagerImpl.java:575)
>>>>>             at
>>>>>     org.jpox.AbstractPersistenceManager.internalMakePersistent 
>>>>> (AbstractPersistenceManager.java:1149)
>>>>>             at
>>>>>     org.jpox.AbstractPersistenceManager.makePersistent 
>>>>> (AbstractPersistenceManager.java:1205)
>>>>>             at
>>>>>      
>>>>> org.apache.jdo.tck.models.fieldtypes.TestArrayCollections.runTest( 
>>>>> TestArrayCollections.java:97)
>>>>>             at
>>>>>      
>>>>> org.apache.jdo.tck.models.fieldtypes.TestArrayCollections.test 
>>>>> (TestArrayCollections.java:73)
>>>>>             at sun.reflect.NativeMethodAccessorImpl.invoke0 
>>>>> (Native Method)
>>>>>             at
>>>>>     sun.reflect.NativeMethodAccessorImpl.invoke 
>>>>> (NativeMethodAccessorImpl.java:39)
>>>>>             at
>>>>>     sun.reflect.DelegatingMethodAccessorImpl.invoke 
>>>>> (DelegatingMethodAccessorImpl.java:25)
>>>>>             at org.apache.jdo.tck.JDO_Test.runBare 
>>>>> (JDO_Test.java:237)
>>>>>             at
>>>>>     org.apache.jdo.tck.util.BatchTestRunner.doRun 
>>>>> (BatchTestRunner.java:107)
>>>>>             at
>>>>>     org.apache.jdo.tck.util.BatchTestRunner.start 
>>>>> (BatchTestRunner.java:147)
>>>>>             at
>>>>>     org.apache.jdo.tck.util.BatchTestRunner.main 
>>>>> (BatchTestRunner.java:122)
>>>>>     NestedThrowablesStackTrace:
>>>>>     java.lang.ClassNotFoundException:
>>>>>     org.jpox.enhancer.ImplementationCreatorImpl
>>>>>             at java.net.URLClassLoader$1.run 
>>>>> (URLClassLoader.java:200)
>>>>>             at java.security.AccessController.doPrivileged 
>>>>> (Native Method)
>>>>>             at java.net.URLClassLoader.findClass 
>>>>> (URLClassLoader.java:188)
>>>>>             at java.lang.ClassLoader.loadClass(ClassLoader.java: 
>>>>> 306)
>>>>>             at
>>>>>     sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
>>>>>             at java.lang.ClassLoader.loadClass(ClassLoader.java: 
>>>>> 251)
>>>>>             at
>>>>>     java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>>>>>             at java.lang.Class.forName0(Native Method)
>>>>>             at java.lang.Class.forName(Class.java:242)
>>>>>             at
>>>>>     org.jpox.PMFContext.getImplementationCreator 
>>>>> (PMFContext.java:77)
>>>>>             at
>>>>>      
>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForReference 
>>>>> Field(ColumnCreator.java:288)
>>>>>             at
>>>>>      
>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForField 
>>>>> (ColumnCreator.java:411)
>>>>>             at
>>>>>      
>>>>> org.jpox.store.rdbms.table.ColumnCreator.createColumnsForJoinTable 
>>>>> s(ColumnCreator.java:145)
>>>>>             at
>>>>>     org.jpox.store.rdbms.table.ArrayTable.initialize 
>>>>> (ArrayTable.java:93)
>>>>>             at
>>>>>     org.jpox.store.rdbms.RDBMSManager 
>>>>> $ClassAdder.addClassTablesAndValidate(RDBMSManager.java:2613)
>>>>>             at
>>>>>     org.jpox.store.rdbms.RDBMSManager$ClassAdder.run 
>>>>> (RDBMSManager.java:2225)
>>>>>             at
>>>>>     org.jpox.store.rdbms.RDBMSManager$MgmtTransaction.execute 
>>>>> (RDBMSManager.java:2081)
>>>>>             at
>>>>>     org.jpox.store.rdbms.RDBMSManager.addClasses 
>>>>> (RDBMSManager.java:576)
>>>>>             at
>>>>>     org.jpox.store.rdbms.RDBMSManager.addClass 
>>>>> (RDBMSManager.java:590)
>>>>>             at
>>>>>     org.jpox.store.StoreManager.getDatastoreClass 
>>>>> (StoreManager.java:983)
>>>>>             at
>>>>>     org.jpox.state.StateManagerImpl.populateStrategyFields 
>>>>> (StateManagerImpl.java:770)
>>>>>             at
>>>>>     org.jpox.state.StateManagerImpl.<init> 
>>>>> (StateManagerImpl.java:575)
>>>>>             at
>>>>>     org.jpox.AbstractPersistenceManager.internalMakePersistent 
>>>>> (AbstractPersistenceManager.java:1149)
>>>>>             at
>>>>>     org.jpox.AbstractPersistenceManager.makePersistent 
>>>>> (AbstractPersistenceManager.java:1205)
>>>>>             at
>>>>>      
>>>>> org.apache.jdo.tck.models.fieldtypes.TestArrayCollections.runTest( 
>>>>> TestArrayCollections.java:97)
>>>>>             at
>>>>>      
>>>>> org.apache.jdo.tck.models.fieldtypes.TestArrayCollections.test 
>>>>> (TestArrayCollections.java:73)
>>>>>             at sun.reflect.NativeMethodAccessorImpl.invoke0 
>>>>> (Native Method)
>>>>>             at
>>>>>     sun.reflect.NativeMethodAccessorImpl.invoke 
>>>>> (NativeMethodAccessorImpl.java:39)
>>>>>             at
>>>>>     sun.reflect.DelegatingMethodAccessorImpl.invoke 
>>>>> (DelegatingMethodAccessorImpl.java:25)
>>>>>             at org.apache.jdo.tck.JDO_Test.runBare 
>>>>> (JDO_Test.java:237)
>>>>>             at
>>>>>     org.apache.jdo.tck.util.BatchTestRunner.doRun 
>>>>> (BatchTestRunner.java:107)
>>>>>             at
>>>>>     org.apache.jdo.tck.util.BatchTestRunner.start 
>>>>> (BatchTestRunner.java:147)
>>>>>             at
>>>>>     org.apache.jdo.tck.util.BatchTestRunner.main 
>>>>> (BatchTestRunner.java:122)
>>>>>
>>>>
>>>>
>>>
>>
>>
>>
>


Mime
View raw message