JDOFatalDataStoreException
Hello,
I have some strange behaviors with KodoJDO, I use the last version.
1 - Runing error
=============
When I start an application that use Kodo, the VM do the following error ;
A nonfatal internal JIT (3.10.107(x)) error 'Relocation error: NULL
relocation target' has occurred in :
'org/apache/crimson/parser/Parser2.maybeComment (Z)Z': Interpreting
method. Please report this error in detail to
http://java.sun.com/cgi-bin/bugreport.cgi
I also use VisualAge as IDE, and it sounds that VA has also some problems
with Kodo !
Maybe the jar has some problems ? I cannot use Kodo with VA due to this
problem.
2 - I start the schema tool
=====================
When I start the schema tool, I have the following error. and no more
information
Exception in thread "main" java.lang.ExceptionInInitializerError:
javax.jdo.JDOFatalDataStoreException
NestedExceptions:
java.sql.SQLException
at
com.techtrader.modules.jdo.impl.jdbc.JDBCPersistenceManagerFactory.setup(JDBCPersistenceManagerFactory.java,Compiled
Code)
at
com.techtrader.modules.jdo.runtime.PersistenceManagerFactoryImpl.privateSetup(PersistenceManagerFactoryImpl.java:496)
at
com.techtrader.modules.jdo.runtime.PersistenceManagerFactoryImpl.getPersiste
nceManager(PersistenceManagerFactoryImpl.java:61)
at
com.techtrader.modules.jdo.runtime.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:50)
at
lds.osl.jdo.JDOContextFactory.getCurrentPersistenceManager(JDOContextFactory.java:49)
at lds.ecm.cbo.CBOCode.getInstancesOf(CBOCode.java:56)
at lds.ecm.cbo.CBOCode.getInstancesOf(CBOCode.java:76)
at lds.ecm.cbo.CBOCode.getInstanceOf(CBOCode.java:42)
at lds.ecm.cbo.CBOCurrency.getInstance(CBOCurrency.java:80)
at lds.ecm.cbo.CBOCurrency.getDefaultInstance(CBOCurrency.java:69)
at lds.ecm.instruments.Instrument.<init>(Instrument.java:18)
at lds.ecm.instruments.Instrument.<clinit>(Instrument.java)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java, Compiled Code)
at
com.techtrader.modules.jdo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java,
Compiled Code)
( Can we have direct support from techtrader, I have sent severals mails
without answer )
Please help me for theses problems
Regards
Christophe Demez
LDS
testing - please ignore.
<[email protected]> wrote in message
news:[email protected]...
Hello,
I have some strange behaviors with KodoJDO, I use the last version.
1 - Runing error
=============
When I start an application that use Kodo, the VM do the following error ;
A nonfatal internal JIT (3.10.107(x)) error 'Relocation error: NULL
relocation target' has occurred in :
'org/apache/crimson/parser/Parser2.maybeComment (Z)Z': Interpreting
method. Please report this error in detail to
http://java.sun.com/cgi-bin/bugreport.cgi
I also use VisualAge as IDE, and it sounds that VA has also some problems
with Kodo !
Maybe the jar has some problems ? I cannot use Kodo with VA due to this
problem.
2 - I start the schema tool
=====================
When I start the schema tool, I have the following error. and no more
information
Exception in thread "main" java.lang.ExceptionInInitializerError:
javax.jdo.JDOFatalDataStoreException
NestedExceptions:
java.sql.SQLException
at
com.techtrader.modules.jdo.impl.jdbc.JDBCPersistenceManagerFactory.setup(JDB
CPersistenceManagerFactory.java,Compiled
>
Code)
at
com.techtrader.modules.jdo.runtime.PersistenceManagerFactoryImpl.privateSetu
p(PersistenceManagerFactoryImpl.java:496)
>
at
com.techtrader.modules.jdo.runtime.PersistenceManagerFactoryImpl.getPersiste
>
nceManager(PersistenceManagerFactoryImpl.java:61)
at
com.techtrader.modules.jdo.runtime.PersistenceManagerFactoryImpl.getPersiste
nceManager(PersistenceManagerFactoryImpl.java:50)
>
at
lds.osl.jdo.JDOContextFactory.getCurrentPersistenceManager(JDOContextFactory
..java:49)
>
at lds.ecm.cbo.CBOCode.getInstancesOf(CBOCode.java:56)
at lds.ecm.cbo.CBOCode.getInstancesOf(CBOCode.java:76)
at lds.ecm.cbo.CBOCode.getInstanceOf(CBOCode.java:42)
at lds.ecm.cbo.CBOCurrency.getInstance(CBOCurrency.java:80)
at lds.ecm.cbo.CBOCurrency.getDefaultInstance(CBOCurrency.java:69)
at lds.ecm.instruments.Instrument.<init>(Instrument.java:18)
at lds.ecm.instruments.Instrument.<clinit>(Instrument.java)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java, Compiled Code)
at
com.techtrader.modules.jdo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java,
>
Compiled Code)
( Can we have direct support from techtrader, I have sent severals mails
without answer )
Please help me for theses problems
Regards
Christophe Demez
LDS
Similar Messages
-
Reverse Mapping Tutorial - Finder.java queries the wrong table?!
I have been almost successful in running the Reverse Mapping Tutorial, by
creating Java Classes from the hsqldb sample database, and running the JDO
Enhancer on them.
However, I cannot get he Finder.java to work. It seems to look in the wrong
table: MAGAZINEX instead of MAGAZINE?
Did anyone have trouble with this step, or ran it successfully?
Liviu
PS: here is the trace:
0 [main] INFO kodo.Runtime - Starting Kodo JDO version 2.4.2
(kodojdo-2.4.2-20030326-1841) with capabilities: [Enterprise Edition
Features, Standard Edition Features, Lite Edition Features, Evaluation
License, Query Extensions, Datacache Plug-in, Statement Batching, Global
Transactions, Developer Tools, Custom Database Dictionaries, Enterprise
Databases]
70 [main] WARN kodo.Runtime - WARNING: Kodo JDO Evaluation expires in 25
days. Please contact [email protected] for information on extending your
evaluation period or purchasing a license.
68398 [main] INFO kodo.MetaData -
com.solarmetric.kodo.meta.JDOMetaDataParser@19eda2c: parsing source:
file:/C:/Documents%20and%20Settings/default/jbproject/JDO/classes/reversetut
orial.jdo
74577 [main] INFO jdbc.JDBC - [ C:24713456; T:31737213; D:22310332 ] open:
jdbc:hsqldb:hsql_sample_database (sa)
75689 [main] INFO jdbc.JDBC - [ C:24713456; T:31737213; D:22310332 ] close:
com.solarmetric.datasource.PoolConnection@17918f0[[requests=0;size=0;max=70;
hits=0;created=0;redundant=0;overflow=0;new=0;leaked=0;unavailable=0]]
75699 [main] INFO jdbc.JDBC - [ C:24713456; T:31737213; D:22310332 ] close
connection
77331 [main] INFO jdbc.JDBC - Using dictionary class
"com.solarmetric.kodo.impl.jdbc.schema.dict.HSQLDictionary" to connect to
"HSQL Database Engine" (version "1.7.0") with JDBC driver "HSQL Database
Engine Driver" (version "1.7.0")
1163173 [main] INFO jdbc.JDBC - [ C:3093871; T:31737213; D:22310332 ] open:
jdbc:hsqldb:hsql_sample_database (sa)
1163293 [main] INFO jdbc.SQL - [ C:3093871; T:31737213; D:22310332 ]
preparing statement <17940412>: SELECT DISTINCT MAGAZINEX.JDOCLASSX FROM
MAGAZINEX
1163313 [main] INFO jdbc.SQL - [ C:3093871; T:31737213; D:22310332 ]
executing statement <17940412>: [reused=1;params={}]
1163443 [main] INFO jdbc.JDBC - [ C:3093871; T:31737213; D:22310332 ]
close:
com.solarmetric.datasource.PoolConnection@2f356f[[requests=1;size=0;max=70;h
its=0;created=1;redundant=0;overflow=0;new=1;leaked=0;unavailable=0]]
1163443 [main] INFO jdbc.JDBC - [ C:3093871; T:31737213; D:22310332 ] close
connection
Hit uncaught exception javax.jdo.JDOFatalDataStoreException
javax.jdo.JDOFatalDataStoreException:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
[SQL=SELECT DISTINCT MAGAZINEX.JDOCLASSX FROM MAGAZINEX]
[PRE=SELECT DISTINCT MAGAZINEX.JDOCLASSX FROM MAGAZINEX]
Table not found: S0002 Table not found: MAGAZINEX in statement [SELECT
DISTINCT MAGAZINEX.JDOCLASSX FROM MAGAZINEX] [code=-22;state=S0002]
NestedThrowables:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
[SQL=SELECT DISTINCT MAGAZINEX.JDOCLASSX FROM MAGAZINEX]
[PRE=SELECT DISTINCT MAGAZINEX.JDOCLASSX FROM MAGAZINEX]
Table not found: S0002 Table not found: MAGAZINEX in statement [SELECT
DISTINCT MAGAZINEX.JDOCLASSX FROM MAGAZINEX]
at
com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwFatal(SQLException
s.java:17)
at
com.solarmetric.kodo.impl.jdbc.ormapping.SubclassProviderImpl.getSubclasses(
SubclassProviderImpl.java:283)
at
com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.getPrimaryMappingField
s(ClassMapping.java:1093)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.executeQuery(JDBCSto
reManager.java:704)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCQuery.executeQuery(JDBCQuery.java
:93)
at com.solarmetric.kodo.query.QueryImpl.executeWithMap(QueryImpl.java:792)
at com.solarmetric.kodo.query.QueryImpl.execute(QueryImpl.java:595)
at reversetutorial.Finder.main(Finder.java:32)
NestedThrowablesStackTrace:
java.sql.SQLException: Table not found: S0002 Table not found: MAGAZINEX in
statement [SELECT DISTINCT MAGAZINEX.JDOCLASSX FROM MAGAZINEX]
at org.hsqldb.Trace.getError(Trace.java:226)
at org.hsqldb.jdbcResultSet.<init>(jdbcResultSet.java:6595)
at org.hsqldb.jdbcConnection.executeStandalone(jdbcConnection.java:2951)
at org.hsqldb.jdbcConnection.execute(jdbcConnection.java:2540)
at org.hsqldb.jdbcStatement.fetchResult(jdbcStatement.java:1804)
at org.hsqldb.jdbcStatement.executeQuery(jdbcStatement.java:199)
at
org.hsqldb.jdbcPreparedStatement.executeQuery(jdbcPreparedStatement.java:391
at
com.solarmetric.datasource.PreparedStatementWrapper.executeQuery(PreparedSta
tementWrapper.java:93)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedQueryI
nternal(SQLExecutionManagerImpl.java:771)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeQueryInternal(
SQLExecutionManagerImpl.java:691)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeQuery(SQLExecu
tionManagerImpl.java:372)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeQuery(SQLExecu
tionManagerImpl.java:356)
at
com.solarmetric.kodo.impl.jdbc.ormapping.SubclassProviderImpl.getSubclasses(
SubclassProviderImpl.java:246)
at
com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.getPrimaryMappingField
s(ClassMapping.java:1093)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.executeQuery(JDBCSto
reManager.java:704)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCQuery.executeQuery(JDBCQuery.java
:93)
at com.solarmetric.kodo.query.QueryImpl.executeWithMap(QueryImpl.java:792)
at com.solarmetric.kodo.query.QueryImpl.execute(QueryImpl.java:595)
at reversetutorial.Finder.main(Finder.java:32)The reason I did not run importtool is because ... I actually ran it, but it
was not successfull. **!
I now tried the solutions directory, from the kodo distribution, and that
failed as well. Here is what I did:
- I went to reversetutorial/solutions, and compiled all the classes, and
then placed them into a reversetutorial folder (to match the package)
- ran "rd-importtool reversetutorial.mapping" (the mapping file from the
solutions directory), which failed as below:
0 [main] INFO kodo.MetaData - Parsing metadata resource
"file:/C:/kodo/reversetutorial/solutions/reversetutorial.mapping".
Exception in thread "main"
com.solarmetric.rd.kodo.meta.JDOMetaDataNotFoundException: No JDO metadata
was found for type "class reversetutorial.Article".
FailedObject:class reversetutorial.Article
at
com.solarmetric.rd.kodo.meta.JDOMetaDataRepositoryImpl.getMetaData(JDOMetaDa
taRepositoryImpl.java:148)
at
com.solarmetric.rd.kodo.impl.jdbc.meta.MappingRepository.getMetaData(Mapping
Repository.java:147)
at
com.solarmetric.rd.kodo.impl.jdbc.meta.MappingRepository.getMapping(MappingR
epository.java:158)
at
com.solarmetric.rd.kodo.impl.jdbc.meta.compat.ImportTool.getMapping(ImportTo
ol.java:126)
at
com.solarmetric.rd.kodo.impl.jdbc.meta.compat.ImportTool.importMappings(Impo
rtTool.java:57)
at
com.solarmetric.rd.kodo.impl.jdbc.meta.compat.ImportTool.run(ImportTool.java
:408)
at
com.solarmetric.rd.kodo.impl.jdbc.meta.compat.ImportTool.main(ImportTool.jav
a:385)
Any idea why? The solutions directory should work, right? I even tried
specifying a kodo.properties file, but it did not seem to help.
Liviu
"Abe White" <[email protected]> wrote in message
news:[email protected]...
Running the reversemappingtool creates classes, metadata files, and a
.mapping file. That .mapping file contains all the O/R mapping
information for how the generated classes map to your existing database
tables. What the importtool does is just transfer that mapping
information to the metadata files, in the form of <extension> elements.
The reason this is a separate step will be clear once Kodo 3.0 comes out.
So in sum, the importtool does not affect the database in any way. It
just moves information from one format (.mapping file) to another
(<extension> elements in the .jdo file). -
How to insert a new record to table with foreign key
I have 3 tables like this :
CREATE TABLE PERSON (
PK INTEGER NOT NULL,
NAME VARCHAR(10),
SSNUM INTEGER,
MGR INTEGER);
ALTER TABLE PERSON ADD CONSTRAINT PK_PERSON PRIMARY KEY (PK);
ALTER TABLE PERSON ADD CONSTRAINT FK_PERSON FOREIGN KEY (MGR) REFERENCES
PERSON (PK);
/* Tables
CREATE TABLE PROJECT (
PK INTEGER NOT NULL,
CODE_NAME INTEGER);
ALTER TABLE PROJECT ADD CONSTRAINT PK_PROJECT PRIMARY KEY (PK);
/* Tables
CREATE TABLE XREF (
PERSON INTEGER NOT NULL,
PROJECT INTEGER NOT NULL);
ALTER TABLE XREF ADD CONSTRAINT PK_XREF PRIMARY KEY (PERSON, PROJECT);
ALTER TABLE XREF ADD CONSTRAINT FK_XREF1 FOREIGN KEY (PERSON) REFERENCES
PERSON (PK);
ALTER TABLE XREF ADD CONSTRAINT FK_XREF2 FOREIGN KEY (PROJECT) REFERENCES
PROJECT (PK);
I do like the way of "ReverseTutoral" and the file .jdo here :
<?xml version="1.0" encoding="UTF-8"?>
<jdo>
<package name="reversetutorial">
<class name="Person" objectid-class="PersonId">
<extension vendor-name="kodo" key="class-column" value="none"/>
<extension vendor-name="kodo" key="lock-column" value="none"/>
<extension vendor-name="kodo" key="table" value="PERSON"/>
<field name="name">
<extension vendor-name="kodo" key="data-column"
value="NAME"/>
</field>
<field name="person">
<extension vendor-name="kodo" key="pk-data-column"
value="MGR"/>
</field>
<field name="persons">
<collection element-type="Person"/>
<extension vendor-name="kodo" key="inverse"
value="person"/>
<extension vendor-name="kodo" key="inverse-owner"
value="person"/>
</field>
<field name="pk" primary-key="true">
<extension vendor-name="kodo" key="data-column"
value="PK"/>
</field>
<field name="ssnum">
<extension vendor-name="kodo" key="data-column"
value="SSNUM"/>
</field>
<field name="xrefs">
<collection element-type="Xref"/>
<extension vendor-name="kodo" key="inverse"
value="person"/>
<extension vendor-name="kodo" key="inverse-owner"
value="person"/>
</field>
</class>
<class name="Project" objectid-class="ProjectId">
<extension vendor-name="kodo" key="class-column" value="none"/>
<extension vendor-name="kodo" key="lock-column" value="none"/>
<extension vendor-name="kodo" key="table" value="PROJECT"/>
<field name="codeName">
<extension vendor-name="kodo" key="data-column"
value="CODE_NAME"/>
</field>
<field name="pk" primary-key="true">
<extension vendor-name="kodo" key="data-column"
value="PK"/>
</field>
<field name="xrefs">
<collection element-type="Xref"/>
<extension vendor-name="kodo" key="inverse"
value="project"/>
<extension vendor-name="kodo" key="inverse-owner"
value="project"/>
</field>
</class>
<class name="Xref" objectid-class="XrefId">
<extension vendor-name="kodo" key="class-column" value="none"/>
<extension vendor-name="kodo" key="lock-column" value="none"/>
<extension vendor-name="kodo" key="table" value="XREF"/>
<field name="person">
<extension vendor-name="kodo" key="pk-data-column"
value="PERSON"/>
</field>
<field name="person2" primary-key="true">
<extension vendor-name="kodo" key="data-column"
value="PERSON"/>
</field>
<field name="project">
<extension vendor-name="kodo" key="pk-data-column"
value="PROJECT"/>
</field>
<field name="project2" primary-key="true">
<extension vendor-name="kodo" key="data-column"
value="PROJECT"/>
</field>
</class>
</package>
</jdo>
Data of those tables are :
PERSON :
| PK | NAME | SSNUM | MGR |
| 1 | ABC | 1 | 1 |
| 2 | DEF | 5 | 1 |
PROJECT
| PK | CODE_NAME |
| 1 | 12 |
| 2 | 13 |
And now I want to add a new record into table XREF : insert into XREF
values (1,1);
public void createData() {
Xref xref = new Xref();
Person person = new Person(1);
Project project = new Project(1);
xref.setPerson(person);
xref.setProject(project);
person.getXrefs().add(xref);
person.getXrefs().add(xref);
pm.currentTransaction().begin();
pm.makePersistent(xref);
pm.currentTransaction().commit();
I don't know why Kodo automatically insert new record to table PERSON ->
confilct Primary Key. The errors are :
0 [main] INFO kodo.Runtime - Starting Kodo JDO version 2.4.1
(kodojdo-2.4.1-20030126-1556) with capabilities: [Enterprise Edition
Features, Standard Edition Features, Lite Edition Features, Evaluation
License, Query Extensions, Datacache Plug-in, Statement Batching, Global
Transactions, Developer Tools, Custom Database Dictionaries, Enterprise
Databases, Custom ClassMappings, Custom ResultObjectProviders]
41 [main] WARN kodo.Runtime - WARNING: Kodo JDO Evaluation expires in 29
days. Please contact [email protected] for information on extending
your evaluation period or purchasing a license.
1627 [main] INFO kodo.MetaData -
com.solarmetric.kodo.meta.JDOMetaDataParser@e28b9: parsing source:
file:/D:/AN/Test/classes/reversetutorial/reversetutorial.jdo
3092 [main] INFO jdbc.JDBC - [ C:23387093; T:19356985; D:10268916 ] open:
jdbc:firebirdsql:localhost/3050:D:/An/test/temp.gdb (sysdba)
3325 [main] INFO jdbc.JDBC - [ C:23387093; T:19356985; D:10268916 ]
close:
com.solarmetric.datasource.PoolConnection@164dbd5[[requests=0;size=0;max=70;hits=0;created=0;redundant=0;overflow=0;new=0;leaked=0;unavailable=0]]
3335 [main] INFO jdbc.JDBC - [ C:23387093; T:19356985; D:10268916 ] close
connection
3648 [main] INFO jdbc.JDBC - Using dictionary class
"com.solarmetric.kodo.impl.jdbc.schema.dict.InterbaseDictionary" to
connect to "Firebird" (version "__WI-V6.2.972 Firebird 1.0.3)WI-V6.2.972
Firebird 1.0.3/tcp (annm)/P10") with JDBC driver "firebirdsql jca/jdbc
resource adapter" (version "0.1")
4032 [main] INFO jdbc.JDBC - [ C:25657668; T:19356985; D:10268916 ] open:
jdbc:firebirdsql:localhost/3050:D:/An/test/temp.gdb (sysdba)
4143 [main] INFO jdbc.SQL - [ C:25657668; T:19356985; D:10268916 ]
preparing statement <3098834>: INSERT INTO XREF(PERSON, PROJECT) VALUES
4224 [main] INFO jdbc.SQL - [ C:25657668; T:19356985; D:10268916 ]
executing statement <3098834>: [reused=1;params={(int)1,(int)1}]
4244 [main] INFO jdbc.SQL - [ C:25657668; T:19356985; D:10268916 ]
preparing statement <9090824>: INSERT INTO PERSON(MGR, NAME, PK, SSNUM)
VALUES (?, ?, ?, ?)
4315 [main] INFO jdbc.SQL - [ C:25657668; T:19356985; D:10268916 ]
executing statement <9090824>: [reused=1;params={null,null,(int)1,(int)0}]
4598 [main] WARN jdbc.JDBC - java.sql.SQLWarning: java.sql.SQLWarning:
resultSetType or resultSetConcurrency changed
4598 [main] WARN jdbc.JDBC - java.sql.SQLWarning: java.sql.SQLWarning:
resultSetType or resultSetConcurrency changed
4598 [main] INFO jdbc.JDBC - [ C:25657668; T:19356985; D:10268916 ] begin
rollback
4608 [main] INFO jdbc.JDBC - [ C:25657668; T:19356985; D:10268916 ] end
rollback 10ms
4628 [main] INFO jdbc.JDBC - [ C:25657668; T:19356985; D:10268916 ]
close:
com.solarmetric.datasource.PoolConnection@1878144[[requests=2;size=2;max=70;hits=0;created=2;redundant=0;overflow=0;new=2;leaked=0;unavailable=0]]
4628 [main] INFO jdbc.JDBC - [ C:25657668; T:19356985; D:10268916 ] close
connection
javax.jdo.JDOFatalDataStoreException:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
[SQL=INSERT INTO PERSON(MGR, NAME, PK, SSNUM) VALUES (null, null, 1, 0)]
[PRE=INSERT INTO PERSON(MGR, NAME, PK, SSNUM) VALUES (?, ?, ?, ?)]
GDS Exception. violation of PRIMARY or UNIQUE KEY constraint "PK_PERSON"
on table "PERSON" [code=335544665;state=null]
NestedThrowables:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper:
[SQL=INSERT INTO PERSON(MGR, NAME, PK, SSNUM) VALUES (null, null, 1, 0)]
[PRE=INSERT INTO PERSON(MGR, NAME, PK, SSNUM) VALUES (?, ?, ?, ?)]
GDS Exception. violation of PRIMARY or UNIQUE KEY constraint "PK_PERSON"
on table "PERSON"
at
com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwFatal(SQLExceptions.java:17)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:416)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:575)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:438)
at reversetutorial.Finder.createData(Finder.java:74)
at reversetutorial.Finder.main(Finder.java:141)
NestedThrowablesStackTrace:
org.firebirdsql.jdbc.FBSQLException: GDS Exception. violation of PRIMARY
or UNIQUE KEY constraint "PK_PERSON" on table "PERSON"
at
org.firebirdsql.jdbc.FBPreparedStatement.internalExecute(FBPreparedStatement.java:425)
at
org.firebirdsql.jdbc.FBPreparedStatement.executeUpdate(FBPreparedStatement.java:136)
at
com.solarmetric.datasource.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:111)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatementNonBatch(SQLExecutionManagerImpl.java:542)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatement(SQLExecutionManagerImpl.java:511
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeInternal(SQLExecutionManagerImpl.java:405)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.flush(SQLExecutionManagerImpl.java:272
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:411)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:575)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:438)
at reversetutorial.Finder.createData(Finder.java:74)
at reversetutorial.Finder.main(Finder.java:141)
at org.firebirdsql.gds.GDSException: violation of PRIMARY or UNIQUE KEY
constraint "PK_PERSON" on table "PERSON
at org.firebirdsql.jgds.GDS_Impl.readStatusVector(GDS_Impl.java:1683)
at org.firebirdsql.jgds.GDS_Impl.receiveResponse(GDS_Impl.java:1636)
at org.firebirdsql.jgds.GDS_Impl.isc_dsql_execute2(GDS_Impl.java:865)
at
org.firebirdsql.jca.FBManagedConnection.executeStatement(FBManagedConnection.java:782)
at
org.firebirdsql.jdbc.FBConnection.executeStatement(FBConnection.java:1072)
at
org.firebirdsql.jdbc.FBPreparedStatement.internalExecute(FBPreparedStatement.java:420)
at
org.firebirdsql.jdbc.FBPreparedStatement.executeUpdate(FBPreparedStatement.java:136)
at
com.solarmetric.datasource.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:111)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatementNonBatch(SQLExecutionManagerImpl.java:542)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatement(SQLExecutionManagerImpl.java:511)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeInternal(SQLExecutionManagerImpl.java:405)
at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.flush(SQLExecutionManagerImpl.java:272)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:411)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:575)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:438)
at reversetutorial.Finder.createData(Finder.java:74)
at reversetutorial.Finder.main(Finder.java:141)
Exception in thread "main"First off, use the '-primaryKeyOnJoin true' flag when running the reverse
mapping tool so that you can get rid of that useless Xref class and have
a direct relation between Person and Project. See the documentation on
reverse mapping tool options here:
http://www.solarmetric.com/Software/Documentation/latest/docs/ref_guide_pc_reverse.html
But your real problem is that you are creating new objects, assigning
primary key values, and expecting them to represent existing objects.
That's not the way JDO works. If you want to set relations to existing
objects in JDO, you use the PM to look up those objects. If you try to
create new objects, JDO will assume you want to insert new records into
the DB, and you'll get PK conflicts like you see here.
There are several good books out on JDO; if you're just starting out with
it, they might save you a lot of time and help you master JDO quickly. -
Strange error in 2.4.0: primary key field is written into DB improperly
Hi!
I've tried 2.4.0 RC1 and found strange problem: when new child persistent
object is created and added to the parent strange value is written into ID
field in the database. This value changes each time I try to reproduce the
problem. Now it is: -8,373E23.
Parent is Ticket class containing Set of Comment classes.
After that during parent loading I get the following error:
2002-11-14 14:32:43,726 ERROR [org.jboss.ejb.plugins.LogInterceptor]
RuntimeExce
ption:
javax.jdo.JDOFatalDataStoreException:
java.lang.ArrayIndexOutOfBoundsException:
-128
NestedThrowables:
java.lang.ArrayIndexOutOfBoundsException: -128
at
com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(
LazyResultList.java:195)
at
com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultL
ist.java:123)
at java.util.AbstractList$Itr.next(AbstractList.java:416)
at
com.solarmetric.kodo.runtime.objectprovider.ResultListIterator.next(R
esultListIterator.java:49)
at
com.solarmetric.kodo.impl.jdbc.runtime.ResultListFactory.createResult
List(ResultListFactory.java:91)
at
com.solarmetric.kodo.impl.jdbc.ormapping.OneToManyMapping.load(OneToM
anyMapping.java:83)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStor
eManager.java:366)
at
com.solarmetric.kodo.runtime.datacache.DataCacheStoreManager.load(Dat
aCacheStoreManager.java:254)
at
com.solarmetric.kodo.runtime.StateManagerImpl.loadField(StateManagerI
mpl.java:1987)
at
com.solarmetric.kodo.runtime.StateManagerImpl.isLoaded(StateManagerIm
pl.java:721)
at
net.xtrim.crm.troubleticket.object.Ticket.jdoGetcomments(Ticket.java)
at
net.xtrim.crm.troubleticket.object.Ticket.getComments(Ticket.java:387
at
net.xtrim.crm.system.TTEntitiesManager.findTTComments(TTEntitiesManag
er.java:195)
at
net.xtrim.crm.troubleticket.ejb.TroubleTicketFacadeBean.getCommentLis
t(TroubleTicketFacadeBean.java:487)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(S
tatelessSessionContainer.java:660)
at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo
ke(CachedConnectionInterceptor.java:186)
I've tried to do the same thing on 2.3.4 and get the transaction rolled
back. The logged SQL looks strange:
2002-11-14 15:03:35,099 INFO
[com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.supportcrm/k
odo]
INSERT INTO BILLY.TT_COMMENTS(COMMENT_TYPE, TEXT,
CREATED_BY, ID, SUBJECT, CREATE_DATE, TT_MAIN_ID) VALUES (1, '1', 10, 279,
'1',
{ts '2002-11-14 15:03:35.059'}, 147)
When I change "{ts '2002-11-14 15:03:35.059'}" with "TO_DATE('2002-11-14
15:03', 'YYYY-DD-MM HH24:MI')" in SQL editor
and execute it everything works fine.I've tried Kodo 2.4.0RC2 and had the same error.
I don't have much time now to check the second solution but I'll try to find
it ASAP.
Just in case I've attached the class file for Category class.
"Marc Prud'hommeaux" <[email protected]> wrote in message
news:[email protected]...
Alexy-
The problem with metadata not found is a known problem for 2.4.0RC1
in managed envornments, and should be fixed for RC2. If you get
a chance, could you download it and see if it fixes the problem?
Also, you can always get around the problem by explicitely
referencing the persistent class before you attempt
JDO operations on it. E.g.,
public void mySessionBeanMethod ()
// workaround
Class c = MyPersistentClass.class;
persistenceManager.makePersistent (new MyPersistentClass ());
// etc...
It is ugly, but it will usually get around the problem.
Let us know if neither of these solve your issue.
In <[email protected]> Alexey Maslov wrote:
Yes, I'm pretty sure.
I've even decompiled it with JAD to check if it implemented
PersistenceCapable.
"Abe White" <[email protected]> wrote in message
news:[email protected]...
I hate to ask the obvious, but are you sure you deployed the enhancedclass
file?
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com
begin 666 Category.class
MROZZO@`#`"T!M0<``@$`*VYE="]X=')I;2]C<FTO=')O=6)L971I8VME="]O
M8FIE8W0O0V%T96=O<GD'``0!`!!J879A+VQA;F<O3V)J96-T!P`&`0`4:F%V
M82]I;R]397)I86QI>F%B;&4'``@!`"MN970O>'1R:6TO8W)M+W-Y<W1E;2]S
M96-U<FET>2]396-U<F5D16YT:71Y`0`":60!`!-,:F%V82]L86YG+TEN=&5G
M97([`0`$;F%M90$`$DQJ879A+VQA;F<O4W1R:6YG.P$`!W1I8VME=',!``],
M:F%V82]U=&EL+U-E=#L!``5T>7!E<P$`!6=E=$ED`0`5*"E,:F%V82]L86YG
M+TEN=&5G97([`0`$0V]D90$`#TQI;F5.=6UB97)486)L90$`$DQO8V%L5F%R
M:6%B;&5486)L90P`"0`*"0`!`!4!``1T:&ES`0`M3&YE="]X=')I;2]C<FTO
M=')O=6)L971I8VME="]O8FIE8W0O0V%T96=O<GD[`0`%<V5T260!`!8H3&IA
M=F$O;&%N9R]);G1E9V5R.RE6`0`'9V5T3F%M90$`%"@I3&IA=F$O;&%N9R]3
M=')I;F<[# `+``P)``$`'0$`!W-E=$YA;64!`!4H3&IA=F$O;&%N9R]3=')I
M;F<[*58!``IG9714:6-K971S`0`1*"E,:F%V82]U=&EL+U-E=#L,``T`#@D`
M`0`C# `F`"<!``]U;FUO9&EF:6%B;&53970!`" H3&IA=F$O=71I;"]3970[
M*4QJ879A+W5T:6PO4V5T.PH`*0`E!P`J`0`5:F%V82]U=&EL+T-O;&QE8W1I
M;VYS`0`)861D5&EC:V5T`0`N*$QN970O>'1R:6TO8W)M+W1R;W5B;&5T:6-K
M970O;V)J96-T+U1I8VME=#LI5@P`+@`O`0`(8V]N=&%I;G,!`!4H3&IA=F$O
M;&%N9R]/8FIE8W0[*5H+`#$`+0<`,@$`#6IA=F$O=71I;"]3970'`#0!`!]J
M879A+VQA;F<O26QL96=A;%-T871E17AC97!T:6]N!P`V`0`6:F%V82]L86YG
M+U-T<FEN9T)U9F9E<@@`. $`&U1I8VME="!A;')E861Y(&5X:7-T<RX@260Z
M( P`.@`@`0`&/&EN:70^"@`U`#D,`! `$0H`/@`\!P`_`0`I;F5T+WAT<FEM
M+V-R;2]T<F]U8FQE=&EC:V5T+V]B:F5C="]4:6-K970,`$$`0@$`!F%P<&5N
M9 $`+"A,:F%V82]L86YG+T]B:F5C=#LI3&IA=F$O;&%N9R]3=')I;F="=69F
M97(["@`U`$ ,`$$`10$`&RA#*4QJ879A+VQA;F<O4W1R:6YG0G5F9F5R.PH`
M-0!$# !(`!P!``AT;U-T<FEN9PH`-0!'"@`S`#D,`$P`+P$``V%D9 L`,0!+
M`0`&=&EC:V5T`0`K3&YE="]X=')I;2]C<FTO=')O=6)L971I8VME="]O8FIE
M8W0O5&EC:V5T.P$`#')E;6]V951I8VME= P`4@`O`0`&<F5M;W9E"P`Q`%$!
M``AG9714>7!E<PP`#P`."0`!`%4!``IC<F5A=&54>7!E`0!0*$QJ879A+VQA
M;F<O26YT96=E<CM,:F%V82]L86YG+U-T<FEN9SLI3&YE="]X=')I;2]C<FTO
M=')O=6)L971I8VME="]O8FIE8W0O5'EP93L'`%H!`"=N970O>'1R:6TO8W)M
M+W1R;W5B;&5T:6-K970O;V)J96-T+U1Y<&4,`#H`7 $`52A,:F%V82]L86YG
M+TEN=&5G97([3&IA=F$O;&%N9R]3=')I;F<[3&YE="]X=')I;2]C<FTO=')O
M=6)L971I8VME="]O8FIE8W0O0V%T96=O<GD[*58*`%D`6P$`!'1Y<&4!`"E,
M;F5T+WAT<FEM+V-R;2]T<F]U8FQE=&EC:V5T+V]B:F5C="]4>7!E.P$`$FES
M1&5P96YD96YC:65S1G)E90$``R@I6@P`8P!A`0`':7-%;7!T>0L`,0!B`0`4
M9V5T4V5C=7)E9%)E<V]U<F-E260,`&<`"@$`'%1R;W5B;&54:6-K971#871E
M9V]R>5]215-?240)`&D`9@<`:@$`,6YE="]X=')I;2]C<FTO<WES=&5M+W-E
M8W5R:71Y+U-E8W5R:71Y4F5S;W5R8V5)1',!`!YG971396-U<F5D16YT:71Y
M06QL;W=S0VAI;&1R96X!`!AG971396-U<F5D16YT:71Y0VAI;&1R96X!`!@H
M*4QJ879A+W5T:6PO0V]L;&5C=&EO;CL!``AH87-H0V]D90$``R@I20P`;@!O
M"@!R`' '`',!`!%J879A+VQA;F<O26YT96=E<@$`!F5Q=6%L<PP`= `O"@!R
M`'4!``-O8FH!`!),:F%V82]L86YG+T]B:F5C=#L!``,H*58!``E3>6YT:&5T
M:6,'`'P!`!%J879A+W5T:6PO2&%S:%-E= P`.@!Y"@![`'T!`"@H3&IA=F$O
M;&%N9R]);G1E9V5R.TQJ879A+VQA;F<O4W1R:6YG.RE6"@`#`'T,`!<`>0H`
M`0"!`0`*4V]U<F-E1FEL90$`#4-A=&5G;W)Y+FIA=F$!``AJ9&]'971I9 $`
M0BA,;F5T+WAT<FEM+V-R;2]T<F]U8FQE=&EC:V5T+V]B:F5C="]#871E9V]R
M>3LI3&IA=F$O;&%N9R]);G1E9V5R.PP`A0"&"@`!`(<!``AJ9&]3971I9 $`
M0RA,;F5T+WAT<FEM+V-R;2]T<F]U8FQE=&EC:V5T+V]B:F5C="]#871E9V]R
M>3M,:F%V82]L86YG+TEN=&5G97([*58,`(D`B@H``0"+`0`*:F1O1V5T;F%M
M90$`02A,;F5T+WAT<FEM+V-R;2]T<F]U8FQE=&EC:V5T+V]B:F5C="]#871E
M9V]R>3LI3&IA=F$O;&%N9R]3=')I;F<[# "-`(X*``$`CP$`"FID;U-E=&YA
M;64!`$(H3&YE="]X=')I;2]C<FTO=')O=6)L971I8VME="]O8FIE8W0O0V%T
M96=O<GD[3&IA=F$O;&%N9R]3=')I;F<[*58,`)$`D@H``0"3`0`-:F1O1V5T
M=&EC:V5T<P$`/BA,;F5T+WAT<FEM+V-R;2]T<F]U8FQE=&EC:V5T+V]B:F5C
M="]#871E9V]R>3LI3&IA=F$O=71I;"]3970[# "5`)8*``$`EP$`"VID;T=E
M='1Y<&5S# "9`)8*``$`F@$`#6ID;U-E='1I8VME=',!`#\H3&YE="]X=')I
M;2]C<FTO=')O=6)L971I8VME="]O8FIE8W0O0V%T96=O<GD[3&IA=F$O=71I
M;"]3970[*58,`)P`G0H``0">`0`+:F1O4V5T='EP97,,`* `G0H``0"A`0`@
M:F%V87@O:F1O+W-P:2]097)S:7-T96YC94-A<&%B;&4'`*,!`!9J9&]);FAE
M<FET961&:65L9$-O=6YT`0`!20$`#6ID;T9I96QD3F%M97,!`!-;3&IA=F$O
M;&%N9R]3=')I;F<[`0`-:F1O1FEE;&14>7!E<P$`$EM,:F%V82]L86YG+T-L
M87-S.P$`#6ID;T9I96QD1FQA9W,!``);0@$`'VID;U!E<G-I<W1E;F-E0V%P
M86)L95-U<&5R8VQA<W,!`!%,:F%V82]L86YG+T-L87-S.P$`#VID;U-T871E
M36%N86=E<@$`'$QJ879A>"]J9&\O<W!I+U-T871E36%N86=E<CL!``AJ9&]&
M;&%G<P$``4(!``@\8VQI;FET/@$`$&IA=F$O;&%N9R]3=')I;F<'`+0(``D(
M``L(``T(``\,`*<`J D``0"Z`0`/:F%V82]L86YG+T-L87-S!P"\`0`88VQA
M<W,D3&IA=F$D;&%N9R1);G1E9V5R`0`&8VQA<W,D`0`E*$QJ879A+VQA;F<O
M4W1R:6YG.RE,:F%V82]L86YG+T-L87-S.P$`!V9O<DYA;64,`,$`P H`O0#"
M`0`>:F%V82]L86YG+TYO0VQA<W-$969&;W5N9$5R<F]R!P#$`0`3:F%V82]L
M86YG+U1H<F]W86)L90<`Q@$`"F=E=$UE<W-A9V4,`,@`' H`QP#)"@#%`#D!
M`"!J879A+VQA;F<O0VQA<W-.;W1&;W5N9$5X8V5P=&EO;@<`S P`O@"N"0`!
M`,X!`!%J879A+FQA;F<N26YT96=E<@@`T P`OP# "@`!`-(!`!=C;&%S<R1,
M:F%V821L86YG)%-T<FEN9PP`U "N"0`!`-4!`!!J879A+FQA;F<N4W1R:6YG
M" #7`0`48VQA<W,D3&IA=F$D=71I;"13970,`-D`K@D``0#:`0`-:F%V82YU
M=&EL+E-E= @`W P`J0"J"0`!`-X,`*L`K D``0#@`0`R8VQA<W,D3&YE="1X
M=')I;21C<FTD=')O=6)L971I8VME="1O8FIE8W0D0V%T96=O<GD,`.(`K@D`
M`0#C`0`K;F5T+GAT<FEM+F-R;2YT<F]U8FQE=&EC:V5T+F]B:F5C="Y#871E
M9V]R>0@`Y0P`K0"N"0`!`.<*``$`?0$`&VIA=F%X+VID;R]S<&DO2D1/26UP
M;$AE;'!E<@<`Z@$`#7)E9VES=&5R0VQA<W,!`&XH3&IA=F$O;&%N9R]#;&%S
M<SM;3&IA=F$O;&%N9R]3=')I;F<[6TQJ879A+VQA;F<O0VQA<W,[6T),:F%V
M82]L86YG+T-L87-S.TQJ879A>"]J9&\O<W!I+U!E<G-I<W1E;F-E0V%P86)L
M93LI5@P`[ #M"@#K`.X!``YJ9&].97=);G-T86YC90$`4BA,:F%V87@O:F1O
M+W-P:2]3=&%T94UA;F%G97([3&IA=F$O;&%N9R]/8FIE8W0[*4QJ879A>"]J
M9&\O<W!I+U!E<G-I<W1E;F-E0V%P86)L93L,`*\`L D``0#R# "Q`+()``$`
M] $`'&ID;T-O<'E+97E&:65L9'-&<F]M3V)J96-T260!`!4H3&IA=F$O;&%N
M9R]/8FIE8W0[*58,`/8`]PH``0#X`0! *$QJ879A>"]J9&\O<W!I+U-T871E
M36%N86=E<CLI3&IA=F%X+VID;R]S<&DO4&5R<VES=&5N8V5#87!A8FQE.P$`
M%VID;T=E=$UA;F%G961&:65L9$-O=6YT`0`/:F1O4F5P;&%C949I96QD`0`$
M*$DI5@P`I0"F"0`!`/X!`")J879A+VQA;F<O26QL96=A;$%R9W5M96YT17AC
M97!T:6]N!P$`"@$!`'T!`!IJ879A>"]J9&\O<W!I+U-T871E36%N86=E<@<!
M`P$`%')E<&QA8VEN9T]B:F5C=$9I96QD`0`W*$QJ879A>"]J9&\O<W!I+U!E
M<G-I<W1E;F-E0V%P86)L93M)*4QJ879A+VQA;F<O3V)J96-T.PP!!0$&"P$$
M`0<!`!1R97!L86-I;F=3=')I;F=&:65L9 $`-RA,:F%V87@O:F1O+W-P:2]0
M97)S:7-T96YC94-A<&%B;&4[22E,:F%V82]L86YG+U-T<FEN9SL,`0D!"@L!
M! $+`0`0:F1O4F5P;&%C949I96QD<P$`!2A;22E6# #\`/T*``$!#P$`#VID
M;U!R;W9I9&5&:65L9 $`$W!R;W9I9&5D3V)J96-T1FEE;&0!`#@H3&IA=F%X
M+VID;R]S<&DO4&5R<VES=&5N8V5#87!A8FQE.TE,:F%V82]L86YG+T]B:F5C
M=#LI5@P!$@$3"P$$`10!`!-P<F]V:61E9%-T<FEN9T9I96QD`0`X*$QJ879A
M>"]J9&\O<W!I+U!E<G-I<W1E;F-E0V%P86)L93M)3&IA=F$O;&%N9R]3=')I
M;F<[*58,`18!%PL!! $8`0`0:F1O4')O=FED949I96QD<PP!$0#]"@`!`1L!
M``QJ9&]#;W!Y1FEE;&0!`#$H3&YE="]X=')I;2]C<FTO=')O=6)L971I8VME
M="]O8FIE8W0O0V%T96=O<GD[22E6`0`-:F1O0V]P>49I96QD<P$`%RA,:F%V
M82]L86YG+T]B:F5C=#M;22E6"@`S`'T,`1T!'@H``0$B`0`8:F1O1V5T4&5R
M<VES=&5N8V5-86YA9V5R`0`@*"E,:F%V87@O:F1O+U!E<G-I<W1E;F-E36%N
M86=E<CL!`!5G971097)S:7-T96YC94UA;F%G97(!`$(H3&IA=F%X+VID;R]S
M<&DO4&5R<VES=&5N8V5#87!A8FQE.RE,:F%V87@O:F1O+U!E<G-I<W1E;F-E
M36%N86=E<CL,`28!)PL!! $H`0`.:F1O1V5T3V)J96-T260!`!0H*4QJ879A
M+VQA;F<O3V)J96-T.P$`"V=E=$]B:F5C=$ED`0`V*$QJ879A>"]J9&\O<W!I
M+U!E<G-I<W1E;F-E0V%P86)L93LI3&IA=F$O;&%N9R]/8FIE8W0[# $L`2T+
M`00!+@$`&VID;T=E=%1R86YS86-T:6]N86Q/8FIE8W1)9 $`&&=E=%1R86YS
M86-T:6]N86Q/8FIE8W1)9 P!,0$M"P$$`3(!``QJ9&])<T1E;&5T960!``EI
M<T1E;&5T960!`"4H3&IA=F%X+VID;R]S<&DO4&5R<VES=&5N8V5#87!A8FQE
M.RE:# $U`38+`00!-P$`"FID;TES1&ER='D!``=I<T1I<G1Y# $Z`38+`00!
M.P$`"&ID;TES3F5W`0`%:7-.97<,`3X!-@L!! $_`0`/:F1O27-097)S:7-T
M96YT`0`,:7-097)S:7-T96YT# %"`38+`00!0P$`$FID;TES5')A;G-A8W1I
M;VYA; $`#VES5')A;G-A8W1I;VYA; P!1@$V"P$$`4<!``]J9&]0<F5397)I
M86QI>F4!``QP<F5397)I86QI>F4!`"4H3&IA=F%X+VID;R]S<&DO4&5R<VES
M=&5N8V5#87!A8FQE.RE6# %*`4L+`00!3 $`#&ID;TUA:V5$:7)T>0$`"6UA
M:V5$:7)T>0$`-RA,:F%V87@O:F1O+W-P:2]097)S:7-T96YC94-A<&%B;&4[
M3&IA=F$O;&%N9R]3=')I;F<[*58,`4\!4 L!! %1`0`/:F1O4F5P;&%C949L
M86=S`0`.<F5P;&%C:6YG1FQA9W,!`"4H3&IA=F%X+VID;R]S<&DO4&5R<VES
M=&5N8V5#87!A8FQE.RE"# %4`54+`00!5@$`%FID;U)E<&QA8V53=&%T94UA
M;F%G97(!`!\H3&IA=F%X+VID;R]S<&DO4W1A=&5-86YA9V5R.RE6`0`*17AC
M97!T:6]N<P$`&VIA=F$O;&%N9R]396-U<FET>45X8V5P=&EO;@<!6P$`%7)E
M<&QA8VEN9U-T871E36%N86=E<@$`7"A,:F%V87@O:F1O+W-P:2]097)S:7-T
M96YC94-A<&%B;&4[3&IA=F%X+VID;R]S<&DO4W1A=&5-86YA9V5R.RE,:F%V
M87@O:F1O+W-P:2]3=&%T94UA;F%G97([# %=`5X+`00!7P$`$&IA=F$O;&%N
M9R]3>7-T96T'`6$!`!)G971396-U<FET>4UA;F%G97(!`!TH*4QJ879A+VQA
M;F<O4V5C=7)I='E-86YA9V5R.PP!8P%D"@%B`64!`!MJ879A>"]J9&\O<W!I
M+TI$3U!E<FUI<W-I;VX'`6<!`!%3151?4U1!5$5?34%.04=%4@$`'4QJ879A
M>"]J9&\O<W!I+TI$3U!E<FUI<W-I;VX[# %I`6H)`6@!:P$`&6IA=F$O;&%N
M9R]396-U<FET>4UA;F%G97('`6T!``]C:&5C:U!E<FUI<W-I;VX!`!TH3&IA
M=F$O<V5C=7)I='DO4&5R;6ES<VEO;CLI5@P!;P%P"@%N`7$!`!IJ9&]#;W!Y
M2V5Y1FEE;&1S5&]/8FIE8W1)9 $`32A,:F%V87@O:F1O+W-P:2]097)S:7-T
M96YC94-A<&%B;&4D3V)J96-T261&:65L9%-U<'!L:65R.TQJ879A+VQA;F<O
M3V)J96-T.RE6`0`M;F5T+WAT<FEM+V-R;2]T<F]U8FQE=&EC:V5T+V]B:F5C
M="]#871E9V]R>4ED!P%U`0`V:F%V87@O:F1O+W-P:2]097)S:7-T96YC94-A
M<&%B;&4D3V)J96-T261&:65L9%-U<'!L:65R!P%W`0`09F5T8VA/8FIE8W1&
M:65L9 $`%2A)*4QJ879A+VQA;F<O3V)J96-T.PP!>0%Z"P%X`7L)`78`%0$`
M32A,:F%V87@O:F1O+W-P:2]097)S:7-T96YC94-A<&%B;&4D3V)J96-T261&
M:65L9$-O;G-U;65R.TQJ879A+VQA;F<O3V)J96-T.RE6`0`V:F%V87@O:F1O
M+W-P:2]097)S:7-T96YC94-A<&%B;&4D3V)J96-T261&:65L9$-O;G-U;65R
M!P%_`0`0<W1O<F5/8FIE8W1&:65L9 $`%BA)3&IA=F$O;&%N9R]/8FIE8W0[
M*58,`8$!@@L!@ &#`0`6:F1O3F5W3V)J96-T261);G-T86YC90$`)BA,:F%V
M82]L86YG+U-T<FEN9SLI3&IA=F$O;&%N9R]/8FIE8W0["@%V`#D*`78`?0$`
M#G-E=$]B:F5C=$9I96QD`0!**$QJ879A>"]J9&\O<W!I+U!E<G-I<W1E;F-E
M0V%P86)L93M)3&IA=F$O;&%N9R]/8FIE8W0[3&IA=F$O;&%N9R]/8FIE8W0[
M*58,`8D!B@L!! &+`0`(:7-,;V%D960!`"8H3&IA=F%X+VID;R]S<&DO4&5R
M<VES=&5N8V5#87!A8FQE.TDI6@P!C0&."P$$`8\!``YG9713=')I;F=&:65L
M9 $`22A,:F%V87@O:F1O+W-P:2]097)S:7-T96YC94-A<&%B;&4[24QJ879A
M+VQA;F<O4W1R:6YG.RE,:F%V82]L86YG+U-T<FEN9SL,`9$!D@L!! &3`0`.
M<V5T4W1R:6YG1FEE;&0!`$HH3&IA=F%X+VID;R]S<&DO4&5R<VES=&5N8V5#
M87!A8FQE.TE,:F%V82]L86YG+U-T<FEN9SM,:F%V82]L86YG+U-T<FEN9SLI
M5@P!E0&6"P$$`9<!``YG971/8FIE8W1&:65L9 $`22A,:F%V87@O:F1O+W-P
M:2]097)S:7-T96YC94-A<&%B;&4[24QJ879A+VQA;F<O3V)J96-T.RE,:F%V
M82]L86YG+T]B:F5C=#L,`9D!F@L!! &;`0`0<V5R:6%L5F5R<VEO;E5)1 $`
M`4H%^2&,L8I8LP(,`9T!G@D``0&A`0`+=W)I=&5/8FIE8W0!`!\H3&IA=F$O
M:6\O3V)J96-T3W5T<'5T4W1R96%M.RE6`0`3:F%V82]I;R])3T5X8V5P=&EO
M;@<!I0P!20!Y"@`!`:<!`!IJ879A+VEO+T]B:F5C=$]U='!U=%-T<F5A;0<!
MJ0$`$F1E9F%U;'17<FET94]B:F5C= P!JP!Y"@&J`:P!``IR96%D3V)J96-T
M`0`>*$QJ879A+VEO+T]B:F5C=$EN<'5T4W1R96%M.RE6`0`9:F%V82]I;R]/
M8FIE8W1);G!U=%-T<F5A;0<!L $`$61E9F%U;'1296%D3V)J96-T# &R`'D*
M`;$!LP`A``$``P`#`*0`!P`%`! ``@`)``H````"``L`# ````(`#0`.````
M`@`/``X````*`*4`I@````H`IP"H````"@"I`*H````*`*L`K ````H`K0"N
M````A "O`+ ```"$`+$`L@````@`O@"N``$`>@``````" #4`*X``0!Z````
M```(`-D`K@`!`'H```````@`X@"N``$`>@``````&@&=`9X````Y``$`$ `1
M``$`$@```"\``0`!````!2JX`(BP`````@`3````!@`!````: `4````# `!
M````!0`7`!@````!`!D`&@`!`!(````^``(``@````8J*[@`C+$````"`!,`
M```*``(```!L``4`;0`4````%@`"````!@`7`!@```````8`"0`*``$``0`;
M`!P``0`2````+P`!``$````%*K@`D+ ````"`!,````&``$```!P`!0````,
M``$````%`!<`& ````$`'P`@``$`$@```#X``@`"````!BHKN "4L0````(`
M$P````H``@```'0`!0!U`!0````6``(````&`!<`& ``````!@`+``P``0``
M`"$`(@`!`!(````R``$``0````@JN "8N `HL ````(`$P````8``0```'@`
M% ````P``0````@`%P`8```````K`"P``0`2````>0`%``(````Y*K@`F"NY
M`# "`)D`([L`,UF[`#59$C>W`#LKM@`]M@!#$"ZV`$:V`$FW`$J_*K@`F"NY
M`$T"`%>Q`````@`3````$@`$````? `-`'T`+0!_`#@`@ `4````%@`"````
M.0`7`!@``````#D`3@!/``$```!0`"P``0`2````1 `"``(````,*K@`F"NY
M`%,"`%>Q`````@`3````"@`"````@P`+`(0`% ```!8``@````P`%P`8````
M```,`$X`3P`!``$`5 `B``$`$@```#(``0`!````""JX`)NX`"BP`````@`3
M````!@`!````AP`4````# `!````" `7`!@````!`%<`6 `!`!(```!H``4`
M! ```!B[`%E9*RPJMP!=3BJX`)LMN0!-`@!7+; ````"`!,````.``,```"+
M``L`C `6`(T`% ```"H`! ```!@`7@!?``,````8`!<`& ``````& `)``H`
M`0```!@`"P`,``(``0!@`&$``0`2````- `!``$````**K@`F+D`9 $`K ``
M``(`$P````8``0```)$`% ````P``0````H`%P`8`````0!E`!$``0`2````
M+@`!``$````$L@!HL ````(`$P````8``0```)0`% ````P``0````0`%P`8
M`````0!K`&$``0`2````+ `!``$````"!*P````"`!,````&``$```"8`!0`
M```,``$````"`!<`& ````$`; !M``$`$@```"\``0`!````!2JX`)NP````
M`@`3````!@`!````G `4````# `!````!0`7`!@````!`&X`;P`!`!(```!!
M``,``0```!<#`RJX`(C&``57!)D`"U<JN "(M@!QK ````(`$P````8``0``
M`*$`% ````P``0```!<`%P`8`````0!T`"\``0`2````5 `"``(````8*\$`
M`9D`$BO ``&X`(@JN "(M@!VK .L`````@`3````#@`#````I0`'`*8`%@"H
M`!0````6``(````8`!<`& ``````& !W`'@``0`2`!<`>0`"`'H``````!(`
M``!%``,``0```!<JNP![6;<`?K@`GRJ[`'M9MP!^N "BL0````(`$P````H`
M`@```%(`"P!=`!0````,``$````7`!<`& ````$`.@!_``$`$@```%T``@`#
M````$RJW`( JMP""*BNX`(PJ++@`E+$````"`!,````2``0```!?``@`8 `-
M`&$`$@!B`!0````@``,````3`!<`& ``````$P`)``H``0```!,`"P`,``(`
M`0`Z`'D``0`2````-P`!``$````)*K<`@"JW`(*Q`````@`3````"@`"````
M9 `(`&4`% ````P``0````D`%P`8````& "S`'D``0`2````Y `.``````#8
M% &?LP&B![T`M5D#$K936002MU-9!1*X4UD&$KE3LP"[![T`O5D#`+(`S\8`
M";(`SZ<`#!+1N #36;,`SP!3600`L@#6Q@`)L@#6IP`,$MBX`--9LP#6`%-9
M!0"R`-O&``FR`-NG``P2W;@`TUFS`-L`4UD&`+(`V\8`";(`VZ<`#!+=N #3
M6;,`VP!3LP#?![P(60,0&%19!! 55%D%$ I46080"E2S`.$`L@#DQ@`)L@#D
MIP`,$N:X`--9LP#D`+(`N[(`W[(`X;(`Z+L``5FW`.FX`.^Q```````(`+\`
MP `"`'H``````!(````F``,``@```!(JN ##L$R[`,59*[8`RK<`R[\``0``
M``4`!0#-`````0#P`/$``0`2````)0`"``0````9NP`!6;<`Z4XM*[4`\RT$
MM0#U+2RV`/DML ```````0#P`/H``0`2````( `"``,````4NP`!6;<`Z4TL
M*[4`\RP$M0#U++ ```````P`^P!O``$`$@````X``0```````@>L```````!
M`/P`_0`!`!(```"4``4``P```(@;L@#_9#T<G `+NP$!6;<!`K\`'*H`````
M``!L``````````,````@````,P```$8```!9*BJT`/,J&[D!" ,`P !RM0`6
ML2HJM #S*ANY`0P#`, `M;4`'K$J*K0`\RH;N0$(`P# `#&U`"2Q*BJT`/,J
M&[D!" ,`P `QM0!6L;L!`5FW`0*_```````!`0T!#@`!`!(````B``,``P``
M`!8#/:<`#2HK'"ZV`1"$`@$<*[ZA__.Q```````!`1$`_0`!`!(```"(``4`
M`P```'P;L@#_9#T<G `+NP$!6;<!`K\`'*H```````!@``````````,````@
M````, ```$ ```!0*K0`\RH;*K0`%KD!%00`L2JT`/,J&RJT`!ZY`1D$`+$J
MM #S*ALJM `DN0$5! "Q*K0`\RH;*K0`5KD!%00`L;L!`5FW`0*_```````!
M`1H!#@`!`!(````B``,``P```!8#/:<`#2HK'"ZV`1R$`@$<*[ZA__.Q````
M```$`1T!'@`!`!(```!L``,`! ```& <L@#_9#X=G `+NP$!6;<!`K\`':H`
M``````!$``````````,````@````*0```#(````[*BNT`!:U`!:Q*BNT`!ZU
M`!ZQ*BNT`"2U`"2Q*BNT`%:U`%:QNP$!6;<!`K\```````$!'P$@``$`$@``
M`$\`!@`%````0RO ``%.+;0`\RJT`/.E``N[`0%9MP$"OP`JM #SQP`+NP`S
M6;<!(;\``S8$IP`/*BTL%00NM@$CA 0!%00LOJ'_\+$```````$!) $E``$`
M$@```" ``@`!````%"JT`//'``4!L"JT`/,JN0$I`@"P```````!`2H!*P`!
M`!(````@``(``0```!0JM #SQP`%`; JM #S*KD!+P(`L ```````0$P`2L`
M`0`2````( `"``$````4*K0`\\<`!0&P*K0`\RJY`3,"`+ ```````$!- !A
M``$`$@```" ``@`!````%"JT`//'``4#K"JT`/,JN0$X`@"L```````!`3D`
M80`!`!(````@``(``0```!0JM #SQP`%`ZPJM #S*KD!/ (`K ```````0$]
M`&$``0`2````( `"``$````4*K0`\\<`!0.L*K0`\RJY`4 "`*P```````$!
M00!A``$`$@```" ``@`!````%"JT`//'``4#K"JT`/,JN0%$`@"L```````!
M`44`80`!`!(````@``(``0```!0JM #SQP`%`ZPJM #S*KD!2 (`K ``````
M`0%)`'D``0`2````'P`"``$````3*K0`\\<`!+$JM #S*KD!30(`L0``````
M`0%.`" ``0`2````( `#``(````4*K0`\\<`!+$JM #S*BNY`5(#`+$`````
M``$!4P!Y``$`$@```",``P`!````%RJT`//'``2Q*BJT`/,JN0%7`@"U`/6Q
M```````A`5@!60`"`5H````$``$!7 `2````. `$``,````L*K0`\\8`$RHJ
MM #S*BNY`6 #`+4`\[&X`69-+,8`"BRR`6RV`7(J*[4`\[$```````$!<P%T
M``$`$@```"@`! `%````'"S `79.L@#_-@0M*P,5!&"Y`7P"`, `<K4!?;$`
M``````$!<P#W``$`$@```!X``@`$````$BO `79-L@#_/BPJM `6M0%]L0``
M`````0#V`7X``0`2````)0`#``4````9+, !=DZR`/\V!"L#%01@+;0!?;D!
MA ,`L0```````0#V`/<``0`2````&@`"``,````.*\ !=DTJ++0!?;4`%K$`
M``````$!A0&&``$`$@```!4``P`"````";L!=EDKMP&'L ```````0&%`2L`
M`0`2````% `"``$````(NP%V6;<!B+ ``````!H`A0"&``$`$@```!$``0`!
M````!2JT`!:P```````:`(D`B@`!`!(````N``4``@```"(JM #SQP`)*BNU
M`!:Q*K0`\RJR`/\#8"JT`!8KN0&,!0"Q```````:`(T`C@`!`!(```!$``0`
M`@```#@JM #UG0`(*K0`'K"R`/\$8#PJM #S*ANY`9 #`)D`""JT`!ZP*K0`
M\RH;*K0`'KD!E 0`P "UL ``````&@"1`)(``0`2````+@`%``(````B*K0`
M]9H`"2HKM0`>L2JT`/,JL@#_!& JM `>*[D!F 4`L0``````&@"5`)8``0`2
M````1 `$``(````X*K0`\\<`""JT`"2PL@#_!6 \*K0`\RH;N0&0`P"9``@J
MM `DL"JT`/,J&RJT`"2Y`9P$`, `,; ``````!H`G "=``$`$@```"X`!0`"
M````(BJT`//'``DJ*[4`)+$JM #S*K(`_P5@*K0`)"NY`8P%`+$``````!H`
MF0"6``$`$@```$0`! `"````."JT`//'``@JM !6L+(`_P9@/"JT`/,J&[D!
MD ,`F0`(*K0`5K JM #S*ALJM !6N0&<! # `#&P```````:`* `G0`!`!(`
M```N``4``@```"(JM #SQP`)*BNU`%:Q*K0`\RJR`/\&8"JT`%8KN0&,!0"Q
M```````"`:,!I `"`5H````$``$!I@`2````%0`!``(````)*K8!J"NV`:VQ
M```````"`:X!KP`"`5H````&``(!I@#-`!(````1``$``@````4KM@&TL0``
,`````0"#`````@"$
`
end
-
Obtaining PersistenceManager from Session Bean in JBoss 3.0.4
Hi,
I'm attempting to use the JCA for JBoss with Kodo 2.4.0. The kodo.rar seems to deploy ok:
2002-12-18 11:19:43,640 INFO [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] Bound connection factory for resource adapter 'KodoJDO' to JNDI name 'java:/kodo'
2002-12-18 11:19:43,640 INFO [org.jboss.resource.connectionmanager.LocalTxConnectionManager] Started
2002-12-18 11:19:43,640 INFO [org.jboss.deployment.MainDeployer] Deployed package: file:/C:/jboss-3.0.4_tomcat-4.1.12/server/default/deploy/kodo.rar
In my session bean, I access the PersistenceManager using the following code:
InitialContext context _ new InitialContext();
JDOConnectionFactory factory _ (JDOConnectionFactory)context.lookup("java:/kodo");
PersistenceManager pm _ (PersistenceManager)factory.getConnection();
The code generates a JDOFatalDataStoreException when I try to execute it:
Error in use of ManagedConnectionPool: matchManagedConnection failed with subject: null and ConnectionRequestInfo: [email protected]3be7ac; - nested throwable: (javax.resource.ResourceException: Error in use of ManagedConnectionPool: matchManagedConnection failed with subject: null and ConnectionRequestInfo: [email protected]3be7ac)
And when I execute it a second time around, it seems to retrieve the PersistenceManager ok, but when I try to invoke methods on it, I get an SQLException:
Connection is broken: Software caused connection abort: socket write error
at com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.newDataStoreId(JDBCStoreManager.java:464)
at com.solarmetric.kodo.runtime.PersistenceManagerImpl.makePersistentFilter(PersistenceManagerImpl.java:1107)
at com.solarmetric.kodo.runtime.PersistenceManagerImpl.makePersistent(PersistenceManagerImpl.java:1059)
at org.aims.his.ejb.PatientBean.createPatient(PatientBean.java:117)
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:324)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:660)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:77)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:107)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:178)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:60)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:130)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:204)
... 47 more
So...what did I miss? Could it be the configuration of my connection to the database in kodo-service.xml (see attached)? In the server log files I didn't see any of my connection properties.
Any help is appreciated.
Thanks,
JeffOk, looks like it was the kodo-service.xml file. I removed the ConnectionFactoryName entry and most of the options were commented out which I didn't catch...
Thanks,
Jeff
"Jeff Carnegie" <[email protected]> wrote in message news:[email protected]...
Hi,
I'm attempting to use the JCA for JBoss with Kodo 2.4.0. The kodo.rar seems to deploy ok:
2002-12-18 11:19:43,640 INFO [com.solarmetric.kodo.impl.jdbc.ee.ManagedConnectionFactoryImpl.kodo] Bound connection factory for resource adapter 'KodoJDO' to JNDI name 'java:/kodo'
2002-12-18 11:19:43,640 INFO [org.jboss.resource.connectionmanager.LocalTxConnectionManager] Started
2002-12-18 11:19:43,640 INFO [org.jboss.deployment.MainDeployer] Deployed package: file:/C:/jboss-3.0.4_tomcat-4.1.12/server/default/deploy/kodo.rar
In my session bean, I access the PersistenceManager using the following code:
InitialContext context _ new InitialContext();
JDOConnectionFactory factory _ (JDOConnectionFactory)context.lookup("java:/kodo");
PersistenceManager pm _ (PersistenceManager)factory.getConnection();
The code generates a JDOFatalDataStoreException when I try to execute it:
Error in use of ManagedConnectionPool: matchManagedConnection failed with subject: null and ConnectionRequestInfo: [email protected]3be7ac; - nested throwable: (javax.resource.ResourceException: Error in use of ManagedConnectionPool: matchManagedConnection failed with subject: null and ConnectionRequestInfo: [email protected]3be7ac)
And when I execute it a second time around, it seems to retrieve the PersistenceManager ok, but when I try to invoke methods on it, I get an SQLException:
Connection is broken: Software caused connection abort: socket write error
at com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.newDataStoreId(JDBCStoreManager.java:464)
at com.solarmetric.kodo.runtime.PersistenceManagerImpl.makePersistentFilter(PersistenceManagerImpl.java:1107)
at com.solarmetric.kodo.runtime.PersistenceManagerImpl.makePersistent(PersistenceManagerImpl.java:1059)
at org.aims.his.ejb.PatientBean.createPatient(PatientBean.java:117)
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:324)
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:660)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:77)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:107)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:178)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:60)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:130)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:204)
... 47 more
So...what did I miss? Could it be the configuration of my connection to the database in kodo-service.xml (see attached)? In the server log files I didn't see any of my connection properties.
Any help is appreciated.
Thanks,
Jeff -
Oracle troubles with multiple schemas in same database
We have several different users set up with individual schemas in the
same Oracle database. We run into trouble when more than one user tries
to use Kodo in their local schema. Things go fine for User A, but when
the User B tries to run the schematool on their own Oracle schema, they
get this nonsense:
javax.jdo.JDOFatalDataStoreException: An error occurred while connecting
to the data store.
NestedThrowables:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=SELECT
DISTINCT JDO_SCHEMA_METADATAX.CLASSNAMEX FROM JDO_SCHEMA_METADATAX]
ORA-00942: table or view does not exist
at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.<init>(SchemaTool.java:99)
at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1114)
at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1083)
at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1073)
at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1064)
If the User A drops all the tables from their schema, then things go
fine for User B ... but then User A will have the same problem when they
try to run the schematool.
It is our suspicion that Kodo is actually selecting the metadata all of
the tables in **everybody's** schemas, and thus erroneously thinking
that jdo_schema_medatax already exists. It really ought to restrict
itself to the schema it's actually connected to.
If our theory is correct, it would explain why Kodo is so incredibly,
horribly, painfully slow to connect to our Oracle database -- we have
dozens of schemas in there, many of which have hundreds of tables.
Is 2.3.0 addressing this problem?
PaulPaul,
Are you using the 'schema-name' system preference setting for each user?
Oracle's mechanism for selecting database metadata requires that the
appropriate schema name be explicitly when more than one schemas are used.
See the database setup section of our documentation for more information.
-Patrick
On 7/3/02 3:50 PM, "Paul Cantrell" <[email protected]> wrote:
We have several different users set up with individual schemas in the
same Oracle database. We run into trouble when more than one user tries
to use Kodo in their local schema. Things go fine for User A, but when
the User B tries to run the schematool on their own Oracle schema, they
get this nonsense:
javax.jdo.JDOFatalDataStoreException: An error occurred while connecting
to the data store.
NestedThrowables:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=SELECT
DISTINCT JDO_SCHEMA_METADATAX.CLASSNAMEX FROM JDO_SCHEMA_METADATAX]
ORA-00942: table or view does not exist
at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.<init>(SchemaTool.java:99)
at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1114)
at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1083)
at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1073)
at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1064)
If the User A drops all the tables from their schema, then things go
fine for User B ... but then User A will have the same problem when they
try to run the schematool.
It is our suspicion that Kodo is actually selecting the metadata all of
the tables in **everybody's** schemas, and thus erroneously thinking
that jdo_schema_medatax already exists. It really ought to restrict
itself to the schema it's actually connected to.
If our theory is correct, it would explain why Kodo is so incredibly,
horribly, painfully slow to connect to our Oracle database -- we have
dozens of schemas in there, many of which have hundreds of tables.
Is 2.3.0 addressing this problem?
Paul
Patrick Linskey [email protected]
SolarMetric Inc. http://www.solarmetric.com -
Error in running refresh (META DATA)
I am evaluating the product and I am trying to map my objects to an
existing schema. However, I getting an exception i can't seem to figure
out....
Is this a bug or is it my own doing?
Here is the table:
TUSER
USER_ID | LASTNM | USERNM | FIRSTNM | .........
| | | | .........
USER_ID is PK!!!
Here is the system.jdo file:
<?xml version="1.0"?>
<jdo>
<package name="com.gulfnet.groupcast.data">
<class name="User" identity-type="datastore">
<extension vendor-name="kodo" key="table" value="TUSER"/>
<extension vendor-name="kodo" key="pk-column" value="USER_ID"/>
<extension vendor-name="kodo" key="lock-column" value="none"/>
<extension vendor-name="kodo" key="class-column" value="none"/>
<field name="_username" persistence-modifier="none"
primary-key="true" null-value="none">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="USER_ID"/>
</field>
<field name="_firstName">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="USERNM"/>
</field>
<field name="_lastName">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="LASTNM"/>
</field>
<field name="_contactInfo">
<map key-type="PhoneNumber"/>
<extension vendor-name="kodo" key="inverse"
value="_username"/>
<extension vendor-name="kodo" key="data-column" value="TEL"/>
</field>
<field name="_birthDate">
<extension vendor-name="kodo" key="data-column"
value="REG_DATE"/>
</field>
</class>
<class name="EmailAccount">
<extension vendor-name="kodo" key="table" value="TUSER"/>
<extension vendor-name="kodo" key="lock-column" value="none"/>
<extension vendor-name="kodo" key="class-column" value="none"/>
<field name="_username">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="MailUserID"/>
</field>
<field name="_password">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="EPASSWD"/>
</field>
<field name="_emailAddress">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="RETEMAIL"/>
</field>
<field name="_serverName">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="MSG_SERVER"/>
</field>
</class>
<class name="PhoneNumber">
<extension vendor-name="kodo" key="table" value="TUSER"/>
<extension vendor-name="kodo" key="lock-column" value="none"/>
<extension vendor-name="kodo" key="class-column" value="none"/>
<field name="_countryCode">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="TEL"/>
</field>
<field name="_areaCode">
<extension vendor-name="kodo" key="column-length"
value="50"/>
<extension vendor-name="kodo" key="data-column"
value="FAX"/>
</field>
</class>
<class name="Address">
<extension vendor-name="kodo" key="table" value="TUSER"/>
<extension vendor-name="kodo" key="lock-column" value="none"/>
<extension vendor-name="kodo" key="class-column" value="none"/>
<field name="_streetAddress">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="ADDRESS1"/>
</field>
<field name="_city">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="ADDRESS2"/>
</field>
</class>
<class name="Attachment"/>
<class name="InstantMessengerAddress"/>
<class name="UserStatus"/>
<class name="MessagePriority"/>
<class name="MessageStatus"/>
<class name="Organisation">
<field name="_subsidiaries">
<collection element-type="Organisation"/>
</field>
<field name="_employees">
<collection element-type="User"/>
</field>
<field name="_orgUnits">
<collection element-type="OrgUnit"/>
</field>
</class>
<class name="OrgUnit">
<field name="_employees">
<collection element-type="User"/>
</field>
<field name="_subUnits">
<collection element-type="OrgUnit"/>
</field>
</class>
<class name="Route">
<field name="_recipients">
<collection element-type="EmailAccount"/>
</field>
</class>
<class name="GcMessage">
<field name="_route">
<collection element-type="Route"/>
</field>
<field name="_attachments">
<collection element-type="Attachment"/>
</field>
</class>
</package>
</jdo>
After running my enhancer and then running the refresh. I get an unusual
exception.
Here is my enhance:
[copy] Copying 1 file to C:\GC50\GroupCast\dev\build\WEB-INF\classes
[copy] Copying 1 file to C:\GC50\GroupCast\dev\build
[copy] Copying 1 file to C:\GC50\GroupCast\dev\build\WEB-INF\classes
[java] Enhancing "class com.gulfnet.groupcast.data.User"...
[java] Enhancing "class com.gulfnet.groupcast.data.EmailAccount"...
[java] Enhancing "class com.gulfnet.groupcast.data.PhoneNumber"...
[java] Enhancing "class com.gulfnet.groupcast.data.Address"...
[java] Enhancing "class com.gulfnet.groupcast.data.Attachment"...
[java] Enhancing "class
com.gulfnet.groupcast.data.InstantMessengerAddress"...
[java] Enhancing "class com.gulfnet.groupcast.data.UserStatus"...
[java] Enhancing "class com.gulfnet.groupcast.data.MessagePriority"...
[java] Enhancing "class com.gulfnet.groupcast.data.MessageStatus"...
[java] Enhancing "class com.gulfnet.groupcast.data.Organisation"...
[java] Enhancing "class com.gulfnet.groupcast.data.OrgUnit"...
[java] Enhancing "class com.gulfnet.groupcast.data.Route"...
[java] Enhancing "class com.gulfnet.groupcast.data.GcMessage"...
refreshDataStore:
[echo] refreshing data stores
[java] javax.jdo.JDOFatalDataStoreException: An error occurred while
connecting to the data store.
[java] NestedThrowables:
[java] java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for
JDBC][SQLServer]There is already an object named 'JDO_SCHEMA_METADATAX' in
the datab
ase.
[java] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.<init>(SchemaTool.java:99)
[java] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1114)
[java] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1083)
[java] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1073)
[java] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1064)
[java] Exception in thread "main"
BUILD FAILED
C:\GC50\GroupCast\dev\andrew.xml:151: Java returned: 1
I have deleted this table and it seems to be throwing this error while it
creates the table. That is the only table JDO ends up creating before the
refresh crashes.
Andrew.Andrew,
It sounds like the username that you are using to connect to the data store
might not have access to read the JDO_SCHEMA_METADATAX table from the JDBC
database metadata. Since you are mapping to an existing schema, you should
not have to run schematool at all -- try just listing all your persistent
types in preferences/properties as described in our documentation instead of
registering the persistent types in the JDO_SCHEMA_METADATAX table.
Additionally, there are a couple of problems with your XML metadata. When
using datastore identity, you cannot use the 'primary-key=true' setting for
a field -- Kodo is responsible for managing the primary key, and you do not
have direct access to it.
If you need direct access to the id fields, then you should use application
identity. Alternately, you can extract the long value from our underlying
datastore identity type, but that requires using Kodo-specific code.
-Patrick
On 6/26/02 7:13 AM, "Andrew" <[email protected]> wrote:
I am evaluating the product and I am trying to map my objects to an
existing schema. However, I getting an exception i can't seem to figure
out....
Is this a bug or is it my own doing?
Here is the table:
TUSER
USER_ID | LASTNM | USERNM | FIRSTNM | .........
| | | | .........
USER_ID is PK!!!
Here is the system.jdo file:
<?xml version="1.0"?>
<jdo>
<package name="com.gulfnet.groupcast.data">
<class name="User" identity-type="datastore">
<extension vendor-name="kodo" key="table" value="TUSER"/>
<extension vendor-name="kodo" key="pk-column" value="USER_ID"/>
<extension vendor-name="kodo" key="lock-column" value="none"/>
<extension vendor-name="kodo" key="class-column" value="none"/>
<field name="_username" persistence-modifier="none"
primary-key="true" null-value="none">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="USER_ID"/>
</field>
<field name="_firstName">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="USERNM"/>
</field>
<field name="_lastName">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="LASTNM"/>
</field>
<field name="_contactInfo">
<map key-type="PhoneNumber"/>
<extension vendor-name="kodo" key="inverse"
value="_username"/>
<extension vendor-name="kodo" key="data-column" value="TEL"/>
</field>
<field name="_birthDate">
<extension vendor-name="kodo" key="data-column"
value="REG_DATE"/>
</field>
</class>
<class name="EmailAccount">
<extension vendor-name="kodo" key="table" value="TUSER"/>
<extension vendor-name="kodo" key="lock-column" value="none"/>
<extension vendor-name="kodo" key="class-column" value="none"/>
<field name="_username">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="MailUserID"/>
</field>
<field name="_password">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="EPASSWD"/>
</field>
<field name="_emailAddress">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="RETEMAIL"/>
</field>
<field name="_serverName">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="MSG_SERVER"/>
</field>
</class>
<class name="PhoneNumber">
<extension vendor-name="kodo" key="table" value="TUSER"/>
<extension vendor-name="kodo" key="lock-column" value="none"/>
<extension vendor-name="kodo" key="class-column" value="none"/>
<field name="_countryCode">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="TEL"/>
</field>
<field name="_areaCode">
<extension vendor-name="kodo" key="column-length"
value="50"/>
<extension vendor-name="kodo" key="data-column"
value="FAX"/>
</field>
</class>
<class name="Address">
<extension vendor-name="kodo" key="table" value="TUSER"/>
<extension vendor-name="kodo" key="lock-column" value="none"/>
<extension vendor-name="kodo" key="class-column" value="none"/>
<field name="_streetAddress">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="ADDRESS1"/>
</field>
<field name="_city">
<extension vendor-name="kodo" key="column-length"
value="255"/>
<extension vendor-name="kodo" key="data-column"
value="ADDRESS2"/>
</field>
</class>
<class name="Attachment"/>
<class name="InstantMessengerAddress"/>
<class name="UserStatus"/>
<class name="MessagePriority"/>
<class name="MessageStatus"/>
<class name="Organisation">
<field name="_subsidiaries">
<collection element-type="Organisation"/>
</field>
<field name="_employees">
<collection element-type="User"/>
</field>
<field name="_orgUnits">
<collection element-type="OrgUnit"/>
</field>
</class>
<class name="OrgUnit">
<field name="_employees">
<collection element-type="User"/>
</field>
<field name="_subUnits">
<collection element-type="OrgUnit"/>
</field>
</class>
<class name="Route">
<field name="_recipients">
<collection element-type="EmailAccount"/>
</field>
</class>
<class name="GcMessage">
<field name="_route">
<collection element-type="Route"/>
</field>
<field name="_attachments">
<collection element-type="Attachment"/>
</field>
</class>
</package>
</jdo>
After running my enhancer and then running the refresh. I get an unusual
exception.
Here is my enhance:
[copy] Copying 1 file to C:\GC50\GroupCast\dev\build\WEB-INF\classes
[copy] Copying 1 file to C:\GC50\GroupCast\dev\build
[copy] Copying 1 file to C:\GC50\GroupCast\dev\build\WEB-INF\classes
[java] Enhancing "class com.gulfnet.groupcast.data.User"...
[java] Enhancing "class com.gulfnet.groupcast.data.EmailAccount"...
[java] Enhancing "class com.gulfnet.groupcast.data.PhoneNumber"...
[java] Enhancing "class com.gulfnet.groupcast.data.Address"...
[java] Enhancing "class com.gulfnet.groupcast.data.Attachment"...
[java] Enhancing "class
com.gulfnet.groupcast.data.InstantMessengerAddress"...
[java] Enhancing "class com.gulfnet.groupcast.data.UserStatus"...
[java] Enhancing "class com.gulfnet.groupcast.data.MessagePriority"...
[java] Enhancing "class com.gulfnet.groupcast.data.MessageStatus"...
[java] Enhancing "class com.gulfnet.groupcast.data.Organisation"...
[java] Enhancing "class com.gulfnet.groupcast.data.OrgUnit"...
[java] Enhancing "class com.gulfnet.groupcast.data.Route"...
[java] Enhancing "class com.gulfnet.groupcast.data.GcMessage"...
refreshDataStore:
[echo] refreshing data stores
[java] javax.jdo.JDOFatalDataStoreException: An error occurred while
connecting to the data store.
[java] NestedThrowables:
[java] java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for
JDBC][SQLServer]There is already an object named 'JDO_SCHEMA_METADATAX' in
the datab
ase.
[java] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.<init>(SchemaTool.java:99)
[java] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1114)
[java] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1083)
[java] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1073)
[java] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1064)
[java] Exception in thread "main"
BUILD FAILED
C:\GC50\GroupCast\dev\andrew.xml:151: Java returned: 1
I have deleted this table and it seems to be throwing this error while it
creates the table. That is the only table JDO ends up creating before the
refresh crashes.
Andrew.
Patrick Linskey [email protected]
SolarMetric Inc. http://www.solarmetric.com -
Application identity multi-colum PK problem
Hello,
I am having problem with application identity in case of multi-colum PK when
componente of OID class are themselve percistent classes.
OrgUnitTypeRole class identified by OrgUnitType and Role which are both
persistent classes.
Attached are OrgUnitTypeRole and OrgUnitTypeRoleOid classes
I am getting following exception:
javax.jdo.JDOFatalDataStoreException: The registered class
"peacetech.gao.usorg.jdo.OrgUnitTypeRole" is not compiled or not longer
exists. If the class has been deleted, unregister it before proceeding.
NestedThrowables:
java.lang.VerifyError: (class: peacetech/gao/usorg/jdo/OrgUnitTypeRole,
method: jdoCopyKeyFieldsToObjectId signature:
(Ljavax/jdo/PersistenceCapable$ObjectIdFieldManager;Ljava/lang/Object;)V)
Bad type in putfield/putstatic
at com.solarmetric.kodo.impl.jdbc.schema.DB.getPersistentTypes(DB.java:270)
at
com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.setup(JDBCPersi
stenceManagerFactory.java:170)
at
com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.privateSetup(Pers
istenceManagerFactoryImpl.java:501)
at
com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.getPersistenceMan
ager(PersistenceManagerFactoryImpl.java:61)
at
com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.getPersistenceMan
ager(PersistenceManagerFactoryImpl.java:50)
at
peacetech.gao.usorg.jdo.JDOFactory.getPersistenceManager(JDOFactory.java:70)
at peacetech.gao.usorg.gui.BrowserFrame.<init>(BrowserFrame.java:158)
at peacetech.gao.usorg.gui.Browser.<init>(Browser.java:23)
at peacetech.gao.usorg.gui.Browser.main(Browser.java:85)
Thank you very much in advance
Alex
begin 666 OrgUnitTypeRoleOid.java
M"B\J*@H@*B!#;W!Y<FEG:'0@*&,I(#(P,# L(%!E86-E(%1E8VAN;VQO9WDL
M($EN8RX*("H@)$%U=&AO<B0*("H@)%)E=FES:6]N)"P@)$1A=&4D"B J("1.
M;TME>7=O<F1S) H@*B\*"G!A8VMA9V4@<&5A8V5T96-H+F=A;RYU<V]R9RYJ
M9&\N;VED.PH*:6UP;W)T('!E86-E=&5C:"YG86\N=7-O<F<N:F1O+D]R9U5N
M:714>7!E.PII;7!O<G0@<&5A8V5T96-H+F=A;RYU<V]R9RYJ9&\N4F]L93L*
M"G!U8FQI8R!C;&%S<R!/<F=5;FET5'EP95)O;&5/:60@:6UP;&5M96YT<R!J
M879A+FEO+E-E<FEA;&EZ86)L92!["B @<'5B;&EC($]R9U5N:714>7!E(&]R
M9U5N:714>7!E.PH@('!U8FQI8R!2;VQE(')O;&4["@H@('!U8FQI8R!/<F=5
M;FET5'EP95)O;&5/:60H*2![?0H*("!P=6)L:6,@3W)G56YI=%1Y<&52;VQE
M3VED*$]R9U5N:714>7!E(&]R9U5N:714>7!E+"!2;VQE(')O;&4I('L*(" @
M('1H:7,N;W)G56YI=%1Y<&4@/2!O<F=5;FET5'EP93L*(" @('1H:7,N<F]L
M92 ](')O;&4["B @?0H*("!P=6)L:6,@:6YT(&AA<VA#;V1E*"D@>PH@(" @
M<F5T=7)N(&]R9U5N:714>7!E+FAA<VA#;V1E*"D["B @?0H*("!P=6)L:6,@
M8F]O;&5A;B!E<75A;',H3V)J96-T(&\I('L*(" @(&EF("AO(#T]('1H:7,I
M('L*(" @(" @<F5T=7)N('1R=64["B @("!](&5L<V4@:68@*&\@:6YS=&%N
M8V5O9B!/<F=5;FET5'EP95)O;&5/:60I('L*(" @(" @3W)G56YI=%1Y<&52
M;VQE3VED(&]T:&5R(#T@*$]R9U5N:714>7!E4F]L94]I9"EO.PH@(" @("!R
M971U<FX@*&]R9U5N:714>7!E+F5Q=6%L<RAO=&AE<BYO<F=5;FET5'EP92D@
M)B8@<F]L92YE<75A;',H;W1H97(N<F]L92DI.PH@(" @?2!E;'-E('L*(" @
=(" @<F5T=7)N(&9A;'-E.PH@(" @?0H@('T*?0H`
`
end
begin 666 OrgUnitTypeRole.java
M+RHJ"B J($-O<'ER:6=H=" H8RD@,C P,"P@4&5A8V4@5&5C:&YO;&]G>2P@
M26YC+@H@*B D075T:&]R.B!2;WET;6%N+"!!;&5X) H@*B D4F5V:7-I;VXZ
M(#0D+" D1&%[email protected]\R-R\R,# Q(#<Z,C0Z,S8@4$TD"B J("1.;TME>7=O
M<F1S) H@*B\*"B\J"DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H
M;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED
M+"!H;VYO<FEF:6,I(%9!3%5%4R H,2P@,3$X+" Q+" G4V5N+B<I.PI)3E-%
M4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U;FET7W1Y<&5?<F]L
M95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N;W)I9FEC*2!604Q5
M15,@*#(L(#(Q."P@,BP@)U)E<"XG*3L*"FEN<V5R="!I;G1O(&]R9U]U;FET
M7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T
M>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I"G-E;&5C="!R;W=N=6T@*R Q,"P@
M="XJ("!F<F]M("@*<V5L96-T(&]R9U]U;FET7W1Y<&4L(')O;&5?:60L("=3
M96XN)PIF<F]M(&]R9U]U;FET7W1Y<&4L(')O;&4*=VAE<F4@;W)G7W5N:71?
M='EP92!B971W965N(#$S,"!A;F0@,3@P("!A;F0@(')O;&5?:60@/B R"G5N
M:6]N"G-E;&5C="!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+" G4F5P+B<*9G)O
M;2!O<F=?=6YI=%]T>7!E+"!R;VQE"G=H97)E(&]R9U]U;FET7W1Y<&4@8F5T
M=V5E;B R,S @86YD(#(X," @86YD("!R;VQE7VED(#X@,@IU;FEO;@IS96QE
M8W0@;W)G7W5N:71?='EP92P@<F]L95]I9"P@;G5L; IF<F]M(&]R9U]U;FET
M7W1Y<&4L(')O;&4*=VAE<F4@;W)G7W5N:71?='EP92!B971W965N(#,S,"!A
M;F0@,S@P("!A;F0@(')O;&5?:60@/B R"BD@= H*24Y315)4($E.5$\@;W)G
M7W5N:71?='EP95]R;VQE("AO<F=?=6YI=%]T>7!E7W)O;&5?:60L(&]R9U]U
M;FET7W1Y<&4L(')O;&5?:60L(&AO;F]R:69I8RD@5D%,5453("@Q+" Q,3 L
M(#$L("=396YA=&]R)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L
M92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE
M7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,BP@,3$P+" R+" G4V5N871O<B<I
M.PI)3E-%4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U;FET7W1Y
M<&5?<F]L95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N;W)I9FEC
M*2!604Q515,@*#,L(#$Q,"P@,RP@)U-E;F%T;W(G*3L*24Y315)4($E.5$\@
M;W)G7W5N:71?='EP95]R;VQE("AO<F=?=6YI=%]T>7!E7W)O;&5?:60L(&]R
M9U]U;FET7W1Y<&4L(')O;&5?:60L(&AO;F]R:69I8RD@5D%,5453("@T+" Q
M,3 L(#0L("=396YA=&]R)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?
M<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R
M;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H-2P@,34P+" Q+" G4V5N871O
M<B<I.PI)3E-%4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U;FET
M7W1Y<&5?<F]L95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N;W)I
M9FEC*2!604Q515,@*#8L(#$U,"P@,BP@)U-E;F%T;W(G*3L*24Y315)4($E.
M5$\@;W)G7W5N:71?='EP95]R;VQE("AO<F=?=6YI=%]T>7!E7W)O;&5?:60L
M(&]R9U]U;FET7W1Y<&4L(')O;&5?:60L(&AO;F]R:69I8RD@5D%,5453("@W
M+" Q-3 L(#,L("=396YA=&]R)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y
M<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E
M+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H."P@,34P+" T+" G4V5N
M871O<B<I.PI)3E-%4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U
M;FET7W1Y<&5?<F]L95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N
M;W)I9FEC*2!604Q515,@*#DL(#$P.2P@,RP@)U-E;F%T;W(G*3L*"DE.4T52
M5"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE
M7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%
M4R H,3$L(#(Q,"P@,2P@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/
M(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O
M<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,3(L
M(#(Q,"P@,BP@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U
M;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI
M=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,3,L(#(Q,"P@
M,RP@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y
M<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E
M+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,30L(#(Q,"P@-"P@)U)E
M<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L
M92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE
M7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,34L(#(U,"P@,2P@)U)E<')E<V5N
M=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G
M7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H
M;VYO<FEF:6,I(%9!3%5%4R H,38L(#(U,"P@,BP@)U)E<')E<V5N=&%T:79E
M)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?
M='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF
M:6,I(%9!3%5%4R H,3<L(#(U,"P@,RP@)U)E<')E<V5N=&%T:79E)RD["DE.
M4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R
M;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!
M3%5%4R H,3@L(#(U,"P@-"P@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)
M3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED
M+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H
M,3DL(#(P.2P@,RP@)U)E<')E<V5N=&%T:79E)RD["BHO"@H*<&%C:V%G92!P
M96%C971E8V@N9V%O+G5S;W)G+FID;SL*"G!U8FQI8R!C;&%S<R!/<F=5;FET
M5'EP95)O;&4@>PH@('!R:79A=&4@3W)G56YI=%1Y<&4@;W)G56YI=%1Y<&4[
M"B @<')I=F%T92!2;VQE(')O;&4["B @<')I=F%T92!3=')I;F<@:&]N;W)I
M9FEC.PH*("!P=6)L:6,@3W)G56YI=%1Y<&52;VQE*"D@>WT*"B @<'5B;&EC
M($]R9U5N:714>7!E(&=E=$]R9U5N:714>7!E*"D@>PH@(" @<F5T=7)N(&]R
M9U5N:714>7!E.PH@('T*"B @<'5B;&EC('9O:60@<V5T3W)G56YI=%1Y<&4H
M3W)G56YI=%1Y<&4@;W)G56YI=%1Y<&4I('L*(" @('1H:7,N;W)G56YI=%1Y
M<&4@/2!O<F=5;FET5'EP93L*("!]"@H@('!U8FQI8R!V;VED('-E=%)O;&4H
M4F]L92!R;VQE*2!["B @("!T:&ES+G)O;&4@/2!R;VQE.PH@('T*"B @<'5B
M;&EC(%)O;&4@9V5T4F]L92@I('L*(" @(')E='5R;B!R;VQE.PH@('T*"B @
M<'5B;&EC('9O:60@<V5T2&]N;W)I9FEC*%-T<FEN9R!H;VYO<FEF:6,I('L*
M(" @('1H:7,N:&]N;W)I9FEC(#T@:&]N;W)I9FEC.PH@('T*"B @<'5B;&EC
M(%-T<FEN9R!G971(;VYO<FEF:6,H*2!["B @("!R971U<FX@:&]N;W)I9FEC
M.PH@('T*"B @<'5B;&EC(&EN="!H87-H0V]D92@I('L*(" @(')E='5R;B!O
M<F=5;FET5'EP92YH87-H0V][email protected]@('T*"B @<'5B;&EC(&)O;VQE86X@
M97%U86QS*$]B:F5C="!O*2!["B @("!I9B H;R ]/2!T:&ES*2!["B @(" @
M(')E='5R;B!T<G5E.PH@(" @?2!E;'-E(&EF("AO(&EN<W1A;F-E;V8@3W)G
M56YI=%1Y<&52;VQE*2!["B @(" @($]R9U5N:714>7!E4F]L92!O=&AE<B ]
M("A/<F=5;FET5'EP95)O;&4I;SL*(" @(" @<F5T=7)N("AO<F=5;FET5'EP
M92YE<75A;',H;W1H97(N;W)G56YI=%1Y<&4I("8F(')O;&4N97%U86QS*&]T
M:&5R+G)O;&4I*3L*(" @('T@96QS92!["B @(" @(')E='5R;B!F86QS93L*
-(" @('T*("!]"@I]"@``
`
endHello,
I am having problem with application identity in case of multi-colum PK when
componente of OID class are themselve percistent classes.
OrgUnitTypeRole class identified by OrgUnitType and Role which are both
persistent classes.
Attached are OrgUnitTypeRole and OrgUnitTypeRoleOid classes
I am getting following exception:
javax.jdo.JDOFatalDataStoreException: The registered class
"peacetech.gao.usorg.jdo.OrgUnitTypeRole" is not compiled or not longer
exists. If the class has been deleted, unregister it before proceeding.
NestedThrowables:
java.lang.VerifyError: (class: peacetech/gao/usorg/jdo/OrgUnitTypeRole,
method: jdoCopyKeyFieldsToObjectId signature:
(Ljavax/jdo/PersistenceCapable$ObjectIdFieldManager;Ljava/lang/Object;)V)
Bad type in putfield/putstatic
at com.solarmetric.kodo.impl.jdbc.schema.DB.getPersistentTypes(DB.java:270)
at
com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.setup(JDBCPersi
stenceManagerFactory.java:170)
at
com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.privateSetup(Pers
istenceManagerFactoryImpl.java:501)
at
com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.getPersistenceMan
ager(PersistenceManagerFactoryImpl.java:61)
at
com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.getPersistenceMan
ager(PersistenceManagerFactoryImpl.java:50)
at
peacetech.gao.usorg.jdo.JDOFactory.getPersistenceManager(JDOFactory.java:70)
at peacetech.gao.usorg.gui.BrowserFrame.<init>(BrowserFrame.java:158)
at peacetech.gao.usorg.gui.Browser.<init>(Browser.java:23)
at peacetech.gao.usorg.gui.Browser.main(Browser.java:85)
Thank you very much in advance
Alex
begin 666 OrgUnitTypeRoleOid.java
M"B\J*@H@*B!#;W!Y<FEG:'0@*&,I(#(P,# L(%!E86-E(%1E8VAN;VQO9WDL
M($EN8RX*("H@)$%U=&AO<B0*("H@)%)E=FES:6]N)"P@)$1A=&4D"B J("1.
M;TME>7=O<F1S) H@*B\*"G!A8VMA9V4@<&5A8V5T96-H+F=A;RYU<V]R9RYJ
M9&\N;VED.PH*:6UP;W)T('!E86-E=&5C:"YG86\N=7-O<F<N:F1O+D]R9U5N
M:714>7!E.PII;7!O<G0@<&5A8V5T96-H+F=A;RYU<V]R9RYJ9&\N4F]L93L*
M"G!U8FQI8R!C;&%S<R!/<F=5;FET5'EP95)O;&5/:60@:6UP;&5M96YT<R!J
M879A+FEO+E-E<FEA;&EZ86)L92!["B @<'5B;&EC($]R9U5N:714>7!E(&]R
M9U5N:714>7!E.PH@('!U8FQI8R!2;VQE(')O;&4["@H@('!U8FQI8R!/<F=5
M;FET5'EP95)O;&5/:60H*2![?0H*("!P=6)L:6,@3W)G56YI=%1Y<&52;VQE
M3VED*$]R9U5N:714>7!E(&]R9U5N:714>7!E+"!2;VQE(')O;&4I('L*(" @
M('1H:7,N;W)G56YI=%1Y<&4@/2!O<F=5;FET5'EP93L*(" @('1H:7,N<F]L
M92 ](')O;&4["B @?0H*("!P=6)L:6,@:6YT(&AA<VA#;V1E*"D@>PH@(" @
M<F5T=7)N(&]R9U5N:714>7!E+FAA<VA#;V1E*"D["B @?0H*("!P=6)L:6,@
M8F]O;&5A;B!E<75A;',H3V)J96-T(&\I('L*(" @(&EF("AO(#T]('1H:7,I
M('L*(" @(" @<F5T=7)N('1R=64["B @("!](&5L<V4@:68@*&\@:6YS=&%N
M8V5O9B!/<F=5;FET5'EP95)O;&5/:60I('L*(" @(" @3W)G56YI=%1Y<&52
M;VQE3VED(&]T:&5R(#T@*$]R9U5N:714>7!E4F]L94]I9"EO.PH@(" @("!R
M971U<FX@*&]R9U5N:714>7!E+F5Q=6%L<RAO=&AE<BYO<F=5;FET5'EP92D@
M)B8@<F]L92YE<75A;',H;W1H97(N<F]L92DI.PH@(" @?2!E;'-E('L*(" @
=(" @<F5T=7)N(&9A;'-E.PH@(" @?0H@('T*?0H`
`
end
begin 666 OrgUnitTypeRole.java
M+RHJ"B J($-O<'ER:6=H=" H8RD@,C P,"P@4&5A8V4@5&5C:&YO;&]G>2P@
M26YC+@H@*B D075T:&]R.B!2;WET;6%N+"!!;&5X) H@*B D4F5V:7-I;VXZ
M(#0D+" D1&%[email protected]\R-R\R,# Q(#<Z,C0Z,S8@4$TD"B J("1.;TME>7=O
M<F1S) H@*B\*"B\J"DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H
M;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED
M+"!H;VYO<FEF:6,I(%9!3%5%4R H,2P@,3$X+" Q+" G4V5N+B<I.PI)3E-%
M4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U;FET7W1Y<&5?<F]L
M95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N;W)I9FEC*2!604Q5
M15,@*#(L(#(Q."P@,BP@)U)E<"XG*3L*"FEN<V5R="!I;G1O(&]R9U]U;FET
M7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T
M>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I"G-E;&5C="!R;W=N=6T@*R Q,"P@
M="XJ("!F<F]M("@*<V5L96-T(&]R9U]U;FET7W1Y<&4L(')O;&5?:60L("=3
M96XN)PIF<F]M(&]R9U]U;FET7W1Y<&4L(')O;&4*=VAE<F4@;W)G7W5N:71?
M='EP92!B971W965N(#$S,"!A;F0@,3@P("!A;F0@(')O;&5?:60@/B R"G5N
M:6]N"G-E;&5C="!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+" G4F5P+B<*9G)O
M;2!O<F=?=6YI=%]T>7!E+"!R;VQE"G=H97)E(&]R9U]U;FET7W1Y<&4@8F5T
M=V5E;B R,S @86YD(#(X," @86YD("!R;VQE7VED(#X@,@IU;FEO;@IS96QE
M8W0@;W)G7W5N:71?='EP92P@<F]L95]I9"P@;G5L; IF<F]M(&]R9U]U;FET
M7W1Y<&4L(')O;&4*=VAE<F4@;W)G7W5N:71?='EP92!B971W965N(#,S,"!A
M;F0@,S@P("!A;F0@(')O;&5?:60@/B R"BD@= H*24Y315)4($E.5$\@;W)G
M7W5N:71?='EP95]R;VQE("AO<F=?=6YI=%]T>7!E7W)O;&5?:60L(&]R9U]U
M;FET7W1Y<&4L(')O;&5?:60L(&AO;F]R:69I8RD@5D%,5453("@Q+" Q,3 L
M(#$L("=396YA=&]R)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L
M92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE
M7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,BP@,3$P+" R+" G4V5N871O<B<I
M.PI)3E-%4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U;FET7W1Y
M<&5?<F]L95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N;W)I9FEC
M*2!604Q515,@*#,L(#$Q,"P@,RP@)U-E;F%T;W(G*3L*24Y315)4($E.5$\@
M;W)G7W5N:71?='EP95]R;VQE("AO<F=?=6YI=%]T>7!E7W)O;&5?:60L(&]R
M9U]U;FET7W1Y<&4L(')O;&5?:60L(&AO;F]R:69I8RD@5D%,5453("@T+" Q
M,3 L(#0L("=396YA=&]R)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?
M<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R
M;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H-2P@,34P+" Q+" G4V5N871O
M<B<I.PI)3E-%4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U;FET
M7W1Y<&5?<F]L95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N;W)I
M9FEC*2!604Q515,@*#8L(#$U,"P@,BP@)U-E;F%T;W(G*3L*24Y315)4($E.
M5$\@;W)G7W5N:71?='EP95]R;VQE("AO<F=?=6YI=%]T>7!E7W)O;&5?:60L
M(&]R9U]U;FET7W1Y<&4L(')O;&5?:60L(&AO;F]R:69I8RD@5D%,5453("@W
M+" Q-3 L(#,L("=396YA=&]R)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y
M<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E
M+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H."P@,34P+" T+" G4V5N
M871O<B<I.PI)3E-%4E0@24Y43R!O<F=?=6YI=%]T>7!E7W)O;&4@*&]R9U]U
M;FET7W1Y<&5?<F]L95]I9"P@;W)G7W5N:71?='EP92P@<F]L95]I9"P@:&]N
M;W)I9FEC*2!604Q515,@*#DL(#$P.2P@,RP@)U-E;F%T;W(G*3L*"DE.4T52
M5"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE
M7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%
M4R H,3$L(#(Q,"P@,2P@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/
M(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O
M<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,3(L
M(#(Q,"P@,BP@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U
M;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI
M=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,3,L(#(Q,"P@
M,RP@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y
M<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E
M+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,30L(#(Q,"P@-"P@)U)E
M<')E<V5N=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L
M92 H;W)G7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE
M7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H,34L(#(U,"P@,2P@)U)E<')E<V5N
M=&%T:79E)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G
M7W5N:71?='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H
M;VYO<FEF:6,I(%9!3%5%4R H,38L(#(U,"P@,BP@)U)E<')E<V5N=&%T:79E
M)RD["DE.4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?
M='EP95]R;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF
M:6,I(%9!3%5%4R H,3<L(#(U,"P@,RP@)U)E<')E<V5N=&%T:79E)RD["DE.
M4T525"!)3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R
M;VQE7VED+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!
M3%5%4R H,3@L(#(U,"P@-"P@)U)E<')E<V5N=&%T:79E)RD["DE.4T525"!)
M3E1/(&]R9U]U;FET7W1Y<&5?<F]L92 H;W)G7W5N:71?='EP95]R;VQE7VED
M+"!O<F=?=6YI=%]T>7!E+"!R;VQE7VED+"!H;VYO<FEF:6,I(%9!3%5%4R H
M,3DL(#(P.2P@,RP@)U)E<')E<V5N=&%T:79E)RD["BHO"@H*<&%C:V%G92!P
M96%C971E8V@N9V%O+G5S;W)G+FID;SL*"G!U8FQI8R!C;&%S<R!/<F=5;FET
M5'EP95)O;&4@>PH@('!R:79A=&4@3W)G56YI=%1Y<&4@;W)G56YI=%1Y<&4[
M"B @<')I=F%T92!2;VQE(')O;&4["B @<')I=F%T92!3=')I;F<@:&]N;W)I
M9FEC.PH*("!P=6)L:6,@3W)G56YI=%1Y<&52;VQE*"D@>WT*"B @<'5B;&EC
M($]R9U5N:714>7!E(&=E=$]R9U5N:714>7!E*"D@>PH@(" @<F5T=7)N(&]R
M9U5N:714>7!E.PH@('T*"B @<'5B;&EC('9O:60@<V5T3W)G56YI=%1Y<&4H
M3W)G56YI=%1Y<&4@;W)G56YI=%1Y<&4I('L*(" @('1H:7,N;W)G56YI=%1Y
M<&4@/2!O<F=5;FET5'EP93L*("!]"@H@('!U8FQI8R!V;VED('-E=%)O;&4H
M4F]L92!R;VQE*2!["B @("!T:&ES+G)O;&4@/2!R;VQE.PH@('T*"B @<'5B
M;&EC(%)O;&4@9V5T4F]L92@I('L*(" @(')E='5R;B!R;VQE.PH@('T*"B @
M<'5B;&EC('9O:60@<V5T2&]N;W)I9FEC*%-T<FEN9R!H;VYO<FEF:6,I('L*
M(" @('1H:7,N:&]N;W)I9FEC(#T@:&]N;W)I9FEC.PH@('T*"B @<'5B;&EC
M(%-T<FEN9R!G971(;VYO<FEF:6,H*2!["B @("!R971U<FX@:&]N;W)I9FEC
M.PH@('T*"B @<'5B;&EC(&EN="!H87-H0V]D92@I('L*(" @(')E='5R;B!O
M<F=5;FET5'EP92YH87-H0V][email protected]@('T*"B @<'5B;&EC(&)O;VQE86X@
M97%U86QS*$]B:F5C="!O*2!["B @("!I9B H;R ]/2!T:&ES*2!["B @(" @
M(')E='5R;B!T<G5E.PH@(" @?2!E;'-E(&EF("AO(&EN<W1A;F-E;V8@3W)G
M56YI=%1Y<&52;VQE*2!["B @(" @($]R9U5N:714>7!E4F]L92!O=&AE<B ]
M("A/<F=5;FET5'EP95)O;&4I;SL*(" @(" @<F5T=7)N("AO<F=5;FET5'EP
M92YE<75A;',H;W1H97(N;W)G56YI=%1Y<&4I("8F(')O;&4N97%U86QS*&]T
M:&5R+G)O;&4I*3L*(" @('T@96QS92!["B @(" @(')E='5R;B!F86QS93L*
-(" @('T*("!]"@I]"@``
`
end -
Probable bug in Kodo class handling code (Beta 2.2)
I have a test class "Widget" that has two attributes, name and
mark. I am encountering a curious error in the no-args
constructor under some circumstances that looks like a bug.
public class Widget
private static Random random = new Random();
private String name;
private int mark;
private Widget()
public Widget(String name)
this.name = name;
mark = random.nextInt(1000);
Typically, the test application constructs Widgets with a name.
But since I believe that it is good practice for the application
to define the no-args constructor even when it is only for the
use of JDO, I have a private no-args constructor. As the class
stands above, it compiles, enhances, and runs just fine.
But if I copy the line "mark = random.nextInt(1000);" into the
no-args constructor, the code compiles and enhances just fine,
but bombs on running with the following error:
javax.jdo.JDOFatalDataStoreException:
The registered class "com.ysoft.jdo.book.widget.Widget"
is not compiled or not longer exists. If the class has been deleted,
unregister it before proceeding.
NestedThrowables:
java.lang.ExceptionInInitializerError
at
com.solarmetric.kodo.impl.jdbc.schema.DB.getPersistentTypes(DB.java:270)
at com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory.setup
(JDBCPersistenceManagerFactory.java:170)
at
com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.privateSetup
(PersistenceManagerFactoryImpl.java:501)
at
com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.getPersistenceManager
(PersistenceManagerFactoryImpl.java:61)
at
com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl.getPersistenceManager
(PersistenceManagerFactoryImpl.java:50)
at
com.ysoft.jdo.book.widget.WidgetHandler.<init>(WidgetHandler.java:43)
at com.ysoft.jdo.book.test.widget.TestWidget.main(TestWidget.java:18)
Exception in thread "main"
Using the schematool for -action refresh will yield a null pointer
exception at the no-args constructor line that is setting the
value of mark.
After initially having the mark initialization code in the
no-args constructor and puzzling over the error, I realized that
it didn't make sense to set the value of mark in the no-args
constructor, since JDO would later set it to whatever the value
in the database was. But it seems to me that there should be no
great harm in it, either. If mark is initialized with the value
"42" instead of "random.nextInt(1000)", there are no problems.
Any insights?
David Ezzio
Yankee SoftwareDavid,
I'm not quite sure what to do about this. I'll have to dig into the spec
and get back to you.
Here's what's happening:
Upon compilation, your initialization of the static field 'random' is
inserted into a 'static' block.
Upon bytecode enhancement, a good deal of code is added to the 'static'
block. This code is responsible for registering the class with the JDO
system.
One step of this registration process involves instantiating an object
of type 'Widget' and passing it to JDOImplHelper.registerClass().
This step is inserted into the static block before the initialization
of 'random'.
So, when the no-args constructor is invoked in preparation for the call
to registerClass(), 'random' is still null. Hence the null pointer
instruction.
As a temporary workaround, move the 'random' initialization code into an
init () method that is invoked from the constructors, and which
initializes 'random' if it is null. Or just don't perform the
initialization in the no-args constructor.
-Patrick Linskey -
Using Oracle Driver 9.0
Why?
Error:
[ C:9031454; S:2112561; T:8185063; D:20/11/02 15:25 ] INSERT INTO
BP_ENTRADA(IN_SIMPAS, CD_ORGAO, CD_VERSAO, CD_CONTRATO, CD_TP_BEM,
CD_TP_FORMA_OP, CD_TP_OPERACAO, DT_INCLUSAO, DT_AQUISICAO, CD_AGENTE,
DT_CONTABIL, CD_UG, CD_ENTRADA) VALUES ('N', '001', 0, NULL, '01', '03',
'01', {ts '2002-11-20 15:25:03.326'}, {ts '2002-11-20 15:25:03.326'},
'000002', NULL, '000001', '0000000006')
[ C:9031454; T:8185063; D:20/11/02 15:25 ] roll back data store transaction
com.linkdata.infra.persistence.PersistenceException:
javax.jdo.JDOFatalDataStoreException:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT INTO
BP_ENTRADA(IN_SIMPAS, CD_ORGAO, CD_VERSAO, CD_CONTRATO, CD_TP_BEM,
CD_TP_FORMA_OP, CD_TP_OPERACAO, DT_INCLUSAO, DT_AQUISICAO, CD_AGENTE,
DT_CONTABIL, CD_UG, CD_ENTRADA) VALUES ('N', '001', 0, NULL, '01', '03',
'01', {ts '2002-11-20 15:25:03.326'}, {ts '2002-11-20 15:25:03.326'},
'000002', NULL, '000001', '0000000006')] ORA-00904: invalid column name
[code=904;state=42000]
NestedThrowables:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT INTO
BP_ENTRADA(IN_SIMPAS, CD_ORGAO, CD_VERSAO, CD_CONTRATO, CD_TP_BEM,
CD_TP_FORMA_OP, CD_TP_OPERACAO, DT_INCLUSAO, DT_AQUISICAO, CD_AGENTE,
DT_CONTABIL, CD_UG, CD_ENTRADA) VALUES ('N', '001', 0, NULL, '01', '03',
'01', {ts '2002-11-20 15:25:03.326'}, {ts '2002-11-20 15:25:03.326'},
'000002', NULL, '000001', '0000000006')] ORA-00904: invalid column name
at
com.linkdata.infra.persistence.jdo.PersistenceMediatorImpl.commitTransaction(PersistenceMediatorImpl.java:116)
at
com.linkdata.patrimonio.TestePatrimonio.insert(TestePatrimonio.java:109)
at
com.linkdata.patrimonio.TestePatrimonio.main(TestePatrimonio.java:23)
Caused by: javax.jdo.JDOFatalDataStoreException:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT INTO
BP_ENTRADA(IN_SIMPAS, CD_ORGAO, CD_VERSAO, CD_CONTRATO, CD_TP_BEM,
CD_TP_FORMA_OP, CD_TP_OPERACAO, DT_INCLUSAO, DT_AQUISICAO, CD_AGENTE,
DT_CONTABIL, CD_UG, CD_ENTRADA) VALUES ('N', '001', 0, NULL, '01', '03',
'01', {ts '2002-11-20 15:25:03.326'}, {ts '2002-11-20 15:25:03.326'},
'000002', NULL, '000001', '0000000006')] ORA-00904: invalid column name
[code=904;state=42000]
NestedThrowables:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT INTO
BP_ENTRADA(IN_SIMPAS, CD_ORGAO, CD_VERSAO, CD_CONTRATO, CD_TP_BEM,
CD_TP_FORMA_OP, CD_TP_OPERACAO, DT_INCLUSAO, DT_AQUISICAO, CD_AGENTE,
DT_CONTABIL, CD_UG, CD_ENTRADA) VALUES ('N', '001', 0, NULL, '01', '03',
'01', {ts '2002-11-20 15:25:03.326'}, {ts '2002-11-20 15:25:03.326'},
'000002', NULL, '000001', '0000000006')] ORA-00904: invalid column name
at
com.solarmetric.kodo.impl.jdbc.runtime.SQLExceptions.throwFatal(SQLExceptions.java:17)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.insert(JDBCStoreManager.java:421)
at
com.solarmetric.kodo.runtime.StateManagerImpl.insert(StateManagerImpl.java:1783)
at com.solarmetric.kodo.runtime.PNewState.flush(PNewState.java:31)
at
com.solarmetric.kodo.runtime.StateManagerImpl.flush(StateManagerImpl.java:372)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:426)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:295)
at
com.linkdata.infra.persistence.jdo.PersistenceMediatorImpl.commitTransaction(PersistenceMediatorImpl.java:112)
... 2 moretp_level is an internal column of a content database. Can you check permissions on a restored content database for an account used for web app pool running?
If it will not help, I offer you to create web application in staging/production and then make a copy of a content database from development enviroment and attach it to a newly created web app. -
MakePersistent exception and second class object value
1. When makePersistent is called on an object with application id that
already exists in the database, a JDOFatalDataStoreException is thrown.
The JDO specification calls for a JDOUserException (17.1.4).
2. If there are stray data for a second class field (e.g. Hashtable)
before the object is created, the stray data will become part of the value
of the second class object.
Suggestion: Delete statements should be issued to delete stray values for
second class fields.
---------- Program output -------------
After makePersistent: Persistent-Dirty-New
After add inside transaction: Persistent-Dirty-New
[ C:9; S:58; T:5; D:11/29/02 9:47 PM ] INSERT INTO PORTFOLIOX(JDOLOCKX,
JDOCLASSX, NAMEX) VALUES (0, 'quocp.ent.Portfolio', 'TESTPF')
[ C:9; T:5; D:11/29/02 9:47 PM ] roll back data store transaction
javax.jdo.JDOFatalDataStoreException:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT INTO
PORTFOLIOX(JDOLOCKX, JDOCLASSX, NAMEX) VALUES (0, 'quocp.ent.Portfolio',
'TESTPF')] Invalid argument value: Duplicate entry 'TESTPF' for key 1
[code=1062;state=S1009]
NestedThrowables:
com.solarmetric.kodo.impl.jdbc.sql.SQLExceptionWrapper: [SQL=INSERT INTO
PORTFOLIOX(JDOLOCKX, JDOCLASSX, NAMEX) VALUES (0, 'quocp.ent.Portfolio',
'TESTPF')] Invalid argument value: Duplicate entry 'TESTPF' for key 1
end trans[11/29 21:47:28:913]Well, you can always do this type of cleanup manually if you so desire.
Having Kodo automatically guess about what constitutes valid data seems
pretty dangerous though.
I'd suggest that you put the appropriate deferred referential integrity
checks on your schema instead. This will let the database guarantee the
consistency of the data.
-Patrick
Quoc Pham wrote:
If the data for the second class member somehow are there in the table
(maybe someone deleted the owning instance without cleaning up the owned
data), then it woul be picked up. It would be safer to have an option to
issue an SQL statement to clean up the data.
"Patrick Linskey" wrote in message
news:asegfu$9r0$[email protected]..
Quoc Pham wrote:
2. If there are stray data for a second class field (e.g. Hashtable)
before the object is created, the stray data will become part of the
value
of the second class object.What do you mean by 'stray data?'
-Patrick
Patrick Linskey [email protected]
SolarMetric Inc. http://www.solarmetric.com
Patrick Linskey [email protected]
SolarMetric Inc. http://www.solarmetric.com -
Hi ,
I need to retrieve the blob data stored in oracle 9i database.
I am using studio 5 to create a CMP using which the blob field gets mapped to java.io.Serializable class. Oracle thin driver is used and an image of size 1 kb is stored in the table.
When the client (servlet) calls the method to get the contents of the blob field, the following exceptions are thrown :
com.sun.jdo.api.persistence.support.JDOFatalDataStoreException: IOException reading serializable object from byte array.
NestedException: java.io.StreamCorruptedException: invalid stream header
at com.sun.jdo.spi.persistence.support.ejb.cmp.JDOEJB11HelperImpl.readSerializableObjectFromByteArray(JDOEJB11HelperImpl.java:340)
at orclblobfolder.orclejb.orclblobBean_1927863344_ConcreteImpl.getImage(orclblobBean_1927863344_ConcreteImpl.java:177)
at orclblobfolder.orclejb.orclblobBean.getBlobImage(orclblobBean.java:84)
at orclblobfolder.orclejb.orclblobBean_1927863344_ConcreteImpl_EJBObjectImpl.getBlobImage(orclblobBean_1927863344_ConcreteImpl_EJBObjectImpl.java:22)
at orclblobfolder.orclejb._orclblobBean_1927863344_ConcreteImpl_EJBObjectImpl_Tie._invoke(Unknown Source)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(GenericPOAServerSC.java:569)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(GenericPOAServerSC.java:211)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAServerSC.java:113)
at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:275)
at com.sun.corba.ee.internal.iiop.LocalClientRequestImpl.invoke(LocalClientRequestImpl.java:96)
at com.sun.corba.ee.internal.corba.ClientDelegate.invoke(ClientDelegate.java:237)
at com.sun.corba.ee.internal.POA.GenericPOAClientSC.invoke(GenericPOAClientSC.java:97)
at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
at orclblobfolder.orclejb._orclblob_Stub.getBlobImage(Unknown Source)
at orclblobfolder.orclejb._orclblob_Stub.getBlobImage(Unknown Source)
at test.processRequest(test.java:67)
at test.doGet(test.java:127)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)
at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)
at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:157)
at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)
snippet of bean class is :
public abstract java.io.Serializable getImage();
public abstract void setImage(java.io.Serializable image);
public java.io.Serializable getBlobImage() {
//method which client calls
return getImage();
Similar exceptions are thrown when I use poinbase wherein blob data is mapped to byte[] instead of java.io.Serializable.
Please let me know how can I resolve this problem.
Thanks a lot,
-AmolHow does it effect, when the blob data is stored indatabase using an external source
The current CMP implementation assumes that a serializable field is stored by serializing it to a byte[] and then storing the byte[] as blob. while retrieving the data, it always tries to de-serialize the byte[] in to a serializable field. Hence if you have stored the data externally, it would fail with "JDOFatalDataStoreException: IOException reading serializable object from byte array."
Thanks,
Mitesh -
This simple query gives me a ClassCastException:
Extent users = pm.getExtent (User.class, false);
String filter = "userid == \"test_michael\"";
Query query = pm.newQuery (users, filter);
Collection results = (Collection) query.execute ();
From the log, the SQL generated looks correct. I'm not using any
inheritance, so I don't see how I could get a ClassCastException.
[ C:27826089; S:22238933; T:20754125; D:18/09/02 12:02 ] SELECT t0.JDOIDX,
t0.JDOCLASSX, t0.JDOLOCKX, t0.COMPANYX, t0.PASSWORDX, t0.USERIDX FROM USERX
t0 WHERE t0.USERIDX = 'test_michael'
Exception = javax.jdo.JDOFatalDataStoreException: javax.jdo.JDOException:
java.lang.ClassCastException
NestedThrowables:
java.lang.ClassCastException
NestedThrowables:
javax.jdo.JDOException: java.lang.ClassCastException
NestedThrowables:
java.lang.ClassCastExceptionI totally deleted my hashCode() & equals() methods in my object and now it
works. I'm really confused about writing hashCode & equals.
"Michael" <[email protected]> a __crit dans le message de news:
[email protected]...
Here is a stack trace:
java.lang.ClassCastException
at
com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
ultList.java:186)
at
com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
a:114)
at java.util.AbstractList$Itr.next(AbstractList.java:416)
at
com.solarmetric.kodo.runtime.ResultListIterator.next(ResultListIterator.java
:49)
at
com.solarmetric.kodo.impl.jdbc.runtime.ResultListFactory.createResultList(Re
sultListFactory.java:85)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.executeQuery(JDBCSto
reManager.java:646)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCQuery.executeQuery(JDBCQuery.java
:150)
atcom.solarmetric.kodo.query.QueryImpl.executeWithMap(QueryImpl.java:580)
at com.solarmetric.kodo.query.QueryImpl.execute(QueryImpl.java:428)
at
com.solarmetric.kodo.query.QueryImpl$SynchronizedQuery.execute(QueryImpl.jav
a:1334)
at
com.idtect.oemserver.persistence.TestUser.removeTestUser(TestUser.java:75)
at com.idtect.oemserver.persistence.TestUser.tearDown(TestUser.java:44)
at junit.framework.TestCase.runBare(TestCase.java:143)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:131)
at junit.framework.TestSuite.runTest(TestSuite.java:173)
at junit.framework.TestSuite.run(TestSuite.java:168)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:326)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
java:215)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
.java:148)
NestedThrowablesStackTrace:
javax.jdo.JDOException: java.lang.ClassCastException
NestedThrowables:
java.lang.ClassCastException
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(Pers
istenceManagerImpl.java:874)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(Persistenc
eManagerImpl.java:785)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.createFromResultSet(
JDBCStoreManager.java:700)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager$2.getResultObject(JD
BCStoreManager.java:652)
at
com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
ultList.java:168)
at
com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
a:114)
at java.util.AbstractList$Itr.next(AbstractList.java:416)
at
com.solarmetric.kodo.runtime.ResultListIterator.next(ResultListIterator.java
:49)
at
com.solarmetric.kodo.impl.jdbc.runtime.ResultListFactory.createResultList(Re
sultListFactory.java:85)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.executeQuery(JDBCSto
reManager.java:646)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCQuery.executeQuery(JDBCQuery.java
:150)
atcom.solarmetric.kodo.query.QueryImpl.executeWithMap(QueryImpl.java:580)
at com.solarmetric.kodo.query.QueryImpl.execute(QueryImpl.java:428)
at
com.solarmetric.kodo.query.QueryImpl$SynchronizedQuery.execute(QueryImpl.jav
a:1334)
at
com.idtect.oemserver.persistence.TestUser.removeTestUser(TestUser.java:75)
at com.idtect.oemserver.persistence.TestUser.tearDown(TestUser.java:44)
at junit.framework.TestCase.runBare(TestCase.java:143)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:131)
at junit.framework.TestSuite.runTest(TestSuite.java:173)
at junit.framework.TestSuite.run(TestSuite.java:168)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:326)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
java:215)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
.java:148)
NestedThrowablesStackTrace:
java.lang.ClassCastException
at com.idtect.domain.User.jdoCopyKeyFieldsFromObjectId(User.java)
at com.idtect.domain.User.jdoNewInstance(User.java)
at javax.jdo.spi.JDOImplHelper.newInstance(Unknown Source)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.loadPrimaryMappings(
JDBCStoreManager.java:401)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.initialize(JDBCStore
Manager.java:236)
at
com.solarmetric.kodo.runtime.StateManagerImpl.loadInitialState(StateManagerI
mpl.java:112)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(Pers
istenceManagerImpl.java:863)
at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(Persistenc
eManagerImpl.java:785)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.createFromResultSet(
JDBCStoreManager.java:700)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager$2.getResultObject(JD
BCStoreManager.java:652)[ C:5618579; T:26094370; D:18/09/02 13:21 ] close:
jdbc:postgresql://localhost:5432/jdotest (michael)
at
com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.instantiateRow(LazyRes
ultList.java:168)
at
com.solarmetric.kodo.impl.jdbc.runtime.LazyResultList.get(LazyResultList.jav
a:114)
at java.util.AbstractList$Itr.next(AbstractList.java:416)
at
com.solarmetric.kodo.runtime.ResultListIterator.next(ResultListIterator.java
:49)
at
com.solarmetric.kodo.impl.jdbc.runtime.ResultListFactory.createResultList(Re
sultListFactory.java:85)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.executeQuery(JDBCSto
reManager.java:646)
at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCQuery.executeQuery(JDBCQuery.java
:150)
atcom.solarmetric.kodo.query.QueryImpl.executeWithMap(QueryImpl.java:580)
at com.solarmetric.kodo.query.QueryImpl.execute(QueryImpl.java:428)
at
com.solarmetric.kodo.query.QueryImpl$SynchronizedQuery.execute(QueryImpl.jav
a:1334)
at
com.idtect.oemserver.persistence.TestUser.removeTestUser(TestUser.java:75)
at com.idtect.oemserver.persistence.TestUser.tearDown(TestUser.java:44)
at junit.framework.TestCase.runBare(TestCase.java:143)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:131)
at junit.framework.TestSuite.runTest(TestSuite.java:173)
at junit.framework.TestSuite.run(TestSuite.java:168)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:326)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.
java:215)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner
.java:148) -
Hi all,
I'm using 2.3.3 on linux and ant 1.5.1, against the latest MS Sql JDBC
drivers.
With ant target below, i get the following error:
file:build.xml:285: javax.jdo.JDOFatalDataStoreException: An error occurred
while connecting to the data store for user "xx" at URL
"jdbc:microsoft:sqlserver://192.168.10.102;DatabaseName=TestObjects;SelectMe
thod=cursor".
NestedThrowables:
java.sql.SQLException: No suitable driver
the driver does exist in the given classpath (see the echo message). and
i've tried putting the jdbc drivers in the taskdef, with no luck (but a
ClassNotFoundException is thrown instead).
as a side note, why does schema tool try to connect if i give it an
"outputFile" value??
<target name="kodo-schema">
<property file="kodo/kodo.properties"/>
<available property="driver.exists" classname="${jdbc.driverclass}"
classpathref="classpath.msjdbc"/>
<echo message="driver: ${jdbc.driverclass} exists: ${driver.exists}"/>
<taskdef name="schematool"
classname="com.solarmetric.modules.integration.ant.SchemaToolTask">
<classpath>
<path refid="classpath.kodo"/>
<!-- <path refid="classpath.msjdbc"/>-->
<!-- <path refid="classpath.runtime.server"/>-->
</classpath>
</taskdef>
<schematool action="refresh" ignoreErrors="false"
outputFile="kodo/kodo_test.ddl">
<config connectionUsername="${jdbc.user}"
connectionPassword="${jdbc.password}"
licenseKey="${com.solarmetric.kodo.LicenseKey}"
connectionUrl="${jdbc.url}"
connectionDriverName="${jdbc.driverclass}" />
<fileset dir="kodo/mapping">
<include name="**/*.jdo"/>
</fileset>
<classpath>
<path refid="classpath.msjdbc"/>
<path refid="classpath.kodo"/>
<path refid="classpath.runtime.server"/>
</classpath>
</schematool>
</target>
Stack trace:
[schematool] NestedThrowables:
[schematool] java.sql.SQLException: No suitable driver
[schematool] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.<init>(SchemaTool.java:78)
[schematool] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1234)
[schematool] at
com.solarmetric.modules.integration.ant.SchemaToolTask.executeOn(SchemaToolT
ask.java:46)
[schematool] at
com.solarmetric.modules.integration.ant.TaskBase.execute(TaskBase.java:115)
[schematool] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:166)
[schematool] at org.apache.tools.ant.Task.perform(Task.java:319)
[schematool] at org.apache.tools.ant.Target.execute(Target.java:309)
[schematool] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[schematool] at
org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[schematool] at
org.apache.tools.ant.Project.executeTargets(Project.java:1250)
[schematool] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[schematool] at org.apache.tools.ant.Main.start(Main.java:196)
[schematool] at org.apache.tools.ant.Main.main(Main.java:235)
[schematool] NestedThrowablesStackTrace:
[schematool] java.sql.SQLException: No suitable driver
[schematool] at
java.sql.DriverManager.getConnection(DriverManager.java:532)
[schematool] at
java.sql.DriverManager.getConnection(DriverManager.java:171)
[schematool] at
com.solarmetric.kodo.impl.jdbc.datasource.ConnectionImpl.connect(ConnectionI
mpl.java:222)
[schematool] at
com.solarmetric.kodo.impl.jdbc.datasource.ConnectionImpl.<init>(ConnectionIm
pl.java:56)
[schematool] at
com.solarmetric.kodo.impl.jdbc.datasource.ConnectionImpl.<init>(ConnectionIm
pl.java:45)
[schematool] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.<init>(SchemaTool.java:68)
[schematool] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1234)
[schematool] at
com.solarmetric.modules.integration.ant.SchemaToolTask.executeOn(SchemaToolT
ask.java:46)
[schematool] at
com.solarmetric.modules.integration.ant.TaskBase.execute(TaskBase.java:115)
[schematool] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:166)
[schematool] at org.apache.tools.ant.Task.perform(Task.java:319)
[schematool] at org.apache.tools.ant.Target.execute(Target.java:309)
[schematool] at org.apache.tools.ant.Target.performTasks(Target.java:336)
[schematool] at
org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[schematool] at
org.apache.tools.ant.Project.executeTargets(Project.java:1250)
[schematool] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[schematool] at org.apache.tools.ant.Main.start(Main.java:196)
[schematool] at org.apache.tools.ant.Main.main(Main.java:235)fyi, the ant target below connects fine.. (so it seems)
<target name="kodo-schema2">
<property file="kodo/kodo.properties"/>
<java classname="com.solarmetric.kodo.impl.jdbc.schema.SchemaTool"
fork="true">
<classpath>
<path refid="classpath.kodo"/>
<path refid="classpath.msjdbc"/>
<path refid="classpath.runtime.server"/>
</classpath>
<jvmarg
value="-Dcom.solarmetric.kodo.LicenseKey=${com.solarmetric.kodo.LicenseKey}"
/>
<jvmarg
value="-Djavax.jdo.option.ConnectionDriverName=${jdbc.driverclass}"/>
<jvmarg value="-Djavax.jdo.option.ConnectionURL=${jdbc.url}"/>
<jvmarg value="-Djavax.jdo.option.ConnectionUserName=${jdbc.user}"/>
<jvmarg
value="-Djavax.jdo.option.ConnectionPassword=${jdbc.password}"/>
<arg line="-ignoreErrors false -action refresh -outfile
kodo/kodo_test.ddl kodo/mapping/test.jdo"/>
</java>
</target>
"Chris K. Wensel" <[email protected]> wrote in message
news:[email protected]...
it includes all the jar files (*.jar). the exact same path definition is
used for hibernate, toplink, and others. i'm simply adding kodo support to
my framework that already supports those listed peristence tools.
"Marc Prudhommeaux" <[email protected]> wrote in message
news:[email protected]...
Chris-
What is the "classpath.msjdbc" path set to? Note that the MS JDBC driver
(the last one I used, at least) required multiple jar files to function
(the driver itself, and another one with a utility jar).
as a side note, why does schema tool try to connect if i give it an
"outputFile" value??The schematool still needs to analyze the database to determine the
database's and JDBC driver's capabilities, as well as see which tables
already exist (when refreshing the schema).
In article <[email protected]>, Chris K. Wensel wrote:
Hi all,
I'm using 2.3.3 on linux and ant 1.5.1, against the latest MS Sql JDBC
drivers.
With ant target below, i get the following error:
file:build.xml:285: javax.jdo.JDOFatalDataStoreException: An error
occurred
while connecting to the data store for user "xx" at URL
"jdbc:microsoft:sqlserver://192.168.10.102;DatabaseName=TestObjects;SelectMe
thod=cursor".
NestedThrowables:
java.sql.SQLException: No suitable driver
the driver does exist in the given classpath (see the echo message).and
i've tried putting the jdbc drivers in the taskdef, with no luck (buta
ClassNotFoundException is thrown instead).
as a side note, why does schema tool try to connect if i give it an
"outputFile" value??
<target name="kodo-schema">
<property file="kodo/kodo.properties"/>
<available property="driver.exists"classname="${jdbc.driverclass}"
classpathref="classpath.msjdbc"/>
<echo message="driver: ${jdbc.driverclass} exists:${driver.exists}"/>
<taskdef name="schematool"
classname="com.solarmetric.modules.integration.ant.SchemaToolTask">
<classpath>
<path refid="classpath.kodo"/>
<!-- <path refid="classpath.msjdbc"/>-->
<!-- <path refid="classpath.runtime.server"/>-->
</classpath>
</taskdef>
<schematool action="refresh" ignoreErrors="false"
outputFile="kodo/kodo_test.ddl">
<config connectionUsername="${jdbc.user}"
connectionPassword="${jdbc.password}"
licenseKey="${com.solarmetric.kodo.LicenseKey}"
connectionUrl="${jdbc.url}"
connectionDriverName="${jdbc.driverclass}" />
<fileset dir="kodo/mapping">
<include name="**/*.jdo"/>
</fileset>
<classpath>
<path refid="classpath.msjdbc"/>
<path refid="classpath.kodo"/>
<path refid="classpath.runtime.server"/>
</classpath>
</schematool>
</target>
Stack trace:
[schematool] NestedThrowables:
[schematool] java.sql.SQLException: No suitable driver
[schematool] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.<init>(SchemaTool.java:78)
[schematool] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1234)
[schematool] at
com.solarmetric.modules.integration.ant.SchemaToolTask.executeOn(SchemaToolT
ask.java:46)
[schematool] at
com.solarmetric.modules.integration.ant.TaskBase.execute(TaskBase.java:115)
[schematool] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:166)
[schematool] at org.apache.tools.ant.Task.perform(Task.java:319)
[schematool] atorg.apache.tools.ant.Target.execute(Target.java:309)
[schematool] atorg.apache.tools.ant.Target.performTasks(Target.java:336)
[schematool] at
org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[schematool] at
org.apache.tools.ant.Project.executeTargets(Project.java:1250)
[schematool] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[schematool] at org.apache.tools.ant.Main.start(Main.java:196)
[schematool] at org.apache.tools.ant.Main.main(Main.java:235)
[schematool] NestedThrowablesStackTrace:
[schematool] java.sql.SQLException: No suitable driver
[schematool] at
java.sql.DriverManager.getConnection(DriverManager.java:532)
[schematool] at
java.sql.DriverManager.getConnection(DriverManager.java:171)
[schematool] at
com.solarmetric.kodo.impl.jdbc.datasource.ConnectionImpl.connect(ConnectionI
mpl.java:222)
[schematool] at
com.solarmetric.kodo.impl.jdbc.datasource.ConnectionImpl.<init>(ConnectionIm
pl.java:56)
[schematool] at
com.solarmetric.kodo.impl.jdbc.datasource.ConnectionImpl.<init>(ConnectionIm
pl.java:45)
[schematool] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.<init>(SchemaTool.java:68)
[schematool] at
com.solarmetric.kodo.impl.jdbc.schema.SchemaTool.main(SchemaTool.java:1234)
[schematool] at
com.solarmetric.modules.integration.ant.SchemaToolTask.executeOn(SchemaToolT
ask.java:46)
[schematool] at
com.solarmetric.modules.integration.ant.TaskBase.execute(TaskBase.java:115)
[schematool] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:166)
[schematool] at org.apache.tools.ant.Task.perform(Task.java:319)
[schematool] atorg.apache.tools.ant.Target.execute(Target.java:309)
[schematool] atorg.apache.tools.ant.Target.performTasks(Target.java:336)
[schematool] at
org.apache.tools.ant.Project.executeTarget(Project.java:1306)
[schematool] at
org.apache.tools.ant.Project.executeTargets(Project.java:1250)
[schematool] at org.apache.tools.ant.Main.runBuild(Main.java:610)
[schematool] at org.apache.tools.ant.Main.start(Main.java:196)
[schematool] at org.apache.tools.ant.Main.main(Main.java:235)
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com
Kodo Java Data Objects Full featured JDO: eliminate the SQL from yourcode -
Ncremental flushing that could result in incorrect OptimisticLockExceptions being thrown
Hi,
I am using kodo 2.5.3 which claims having this bug in the subject being
fixed.
however, one of action in our apps keep running into this, when I
comment out the "com.solarmetric.kodo.FlushBeforeQueries=true" property
in jdo.properties, I get following exception:
[java] javax.jdo.JDOFatalDataStoreException: Exceptions were
thrown while performing a database flush. Because the current store
manager does not handle marking fields as flushed on a fine-grained
basis, it is not possible to know the correct current state of the
flushed objects. So, the current transaction has been rolled back, and
the system is in a state equivalent to a datastore-initiated rollback
caused during a regular commit.
[java] NestedThrowables:
[java] com.solarmetric.kodo.runtime.OptimisticLockException: An
instance was concurrently modified in another transaction (optimistic
lock #: 1).
[java]
FailedObject:com.cloverworxs.impl.base.ke.model.MutableKObjectBase-158
[java] at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.flushInternal(PersistenceManagerImpl.java:710)
[java] at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:666)
[java] at
com.solarmetric.kodo.query.QueryImpl.executeQueryWithMap(QueryImpl.java:666)
[java] at
com.solarmetric.kodo.query.QueryImpl.executeWithMap(QueryImpl.java:545)
[java] at
com.solarmetric.kodo.query.QueryImpl.executeWithArray(QueryImpl.java:531)
[java] at
com.solarmetric.kodo.query.QueryImpl.execute(QueryImpl.java:501)
[java] at
com.solarmetric.kodo.runtime.datacache.query.CacheAwareQuery.execute(CacheAwareQuery.java:287)
[java] at
com.cloverworxs.impl.jdo.MutableModelManagerImpl.findByURI(MutableModelManagerImpl.java:170)
[java] at
com.cloverworxs.app.logic.DefaultContextHelper.getDefaultKitem(DefaultContextHelper.java:118)
[java] at
com.cloverworxs.app.logic.DefaultContextHelper.getDefaultContext(DefaultContextHelper.java:52)
[java] at
com.cloverworxs.app.logic.pattern.CompositeKnowledgeHelper.getAttachedComplexObject(CompositeKnowledgeHelper.java:115)
[java] at
com.cloverworxs.app.logic.EzioTestConfig.configEzioTest(EzioTestConfig.java:97)
[java] at
com.cloverworxs.app.logic.EzioTestConfig.main(EzioTestConfig.java:65)
[java] NestedThrowablesStackTrace:
[java] com.solarmetric.kodo.runtime.OptimisticLockException: An
instance was concurrently modified in another transaction (optimistic
lock #: 1).
[java]
FailedObject:com.cloverworxs.impl.base.ke.model.MutableKObjectBase-158
[java] at
com.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping$2.afterUpdate(ClassMapping.java:584)
[java] at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatementNonBatch(SQLExecutionManagerImpl.java:474)
[java] at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executePreparedStatement(SQLExecutionManagerImpl.java:423)
[java] at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.executeInternal(SQLExecutionManagerImpl.java:381)
[java] at
com.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.flush(SQLExecutionManagerImpl.java:255)
[java] at
com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.flush(JDBCStoreManager.java:554)
[java] at
com.solarmetric.kodo.runtime.datacache.DataCacheStoreManager.flush(DataCacheStoreManager.java:695)
[java] at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.flushInternal(PersistenceManagerImpl.java:697)
[java] at
com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:666)
[java] at
com.solarmetric.kodo.query.QueryImpl.executeQueryWithMap(QueryImpl.java:666)
[java] at
com.solarmetric.kodo.query.QueryImpl.executeWithMap(QueryImpl.java:545)
[java] at
com.solarmetric.kodo.query.QueryImpl.executeWithArray(QueryImpl.java:531)
[java] at
com.solarmetric.kodo.query.QueryImpl.execute(QueryImpl.java:501)
[java] at
com.solarmetric.kodo.runtime.datacache.query.CacheAwareQuery.execute(CacheAwareQuery.java:287)
[java] at
com.cloverworxs.impl.jdo.MutableModelManagerImpl.findByURI(MutableModelManagerImpl.java:170)
[java] at
com.cloverworxs.app.logic.DefaultContextHelper.getDefaultKitem(DefaultContextHelper.java:118)
[java] at
com.cloverworxs.app.logic.DefaultContextHelper.getDefaultContext(DefaultContextHelper.java:52)
[java] at
com.cloverworxs.app.logic.pattern.CompositeKnowledgeHelper.getAttachedComplexObject(CompositeKnowledgeHelper.java:115)
[java] at
com.cloverworxs.app.logic.EzioTestConfig.configEzioTest(EzioTestConfig.java:97)
[java] at
com.cloverworxs.app.logic.EzioTestConfig.main(EzioTestConfig.java:65)
if I add that property back in, then I get this as I would expected (and
of course this result is what we are trying to avoid):
[java] 10968 [main] DEBUG solarmetric.kodo.Performance - A query
has been executed in such a manner that the entire candidate class must
be loaded into memory and the query will be evaluated in-memory. This
will very likely be quite slow. This has happened because the
PersistenceManager is configured to require queries to take into account
changes that were made in the current transaction, and there have been
changes in this transaction that may be relevant to this query.
Additionally, given the current configuration of the PersistenceManager,
it was not possible to automatically perform an incremental flush to the
database.Either setting the javax.jdo.option.IgnoreCache or the
com.solarmetric.kodo.FlushBeforeQueries property to true will resolve
this issue.
Do I miss something obvious here? Please help me.
Thanks a lot!
Tao
BTW: in the attachment is my jdo properties file.Tao-
We will follow-up with you via e-mail support about this.
In article <[email protected]>, Tao Yang wrote:
Abe White wrote:
Optimistic lock exceptions can occur on flush just as they can occur on
commit, so I'm not sure what the bug is. Are you saying that if you
comment out FlushBeforeQueries the query succeeds and the commit
later succeeds as well?yes, that is the case. but I also sent this to the support email address
and am trying to craft a small test case to reproduce this bug and sent
back. Thanks a lot for taking a look.
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com
Maybe you are looking for
-
Is that possible to install OS X 10.6 on the newest iMac?
I have a special software only support OS X 10.6. So I want to know whether I can install 10.6 on the new iMac, or I have to use a virtual machine for the purpose.
-
Satellite A65-51762 Mobility Radeon 7000 ICG driver crashes
I have a Toshiba Satellitle A65-51762. It operated for years without problems. About 8 months ago, while running DVDShrink, DVDDecrypter, DVDFabDecrypter or WinDVD, about every two weeks, the video will suddenly drop to lo-res (640x480) and complain,
-
Fonts not displaying properly in Safari
I built a webpage in Adobe Dreamweaver and for the most part the text is editable. It displays properly in all web browsers (internet explorer, chrome, firefox) except for Safari. When I view it in Safari on my MacBook Pro, the sections where text is
-
What are some useful apps for school work on the iPad?
I am a middle school student and I need some apps to do school work on my iPad Mini. Do you know any?
-
Hello, We are looking at solving all Priority 1(RED) and Priority 2(YELLOW) errors appearing in SU22 for release 6 and 7. I have some understanding of how the errors come up. I have a few concerns. 1) How do we decide whether to set proposal value as