Class kodo.util.ObjectNotFoundException
Hi,
I'm getting this exception when running my application
class kodo.util.ObjectNotFoundException
The instance of type "com.jario.server.entitymodel.EntityLocation" with oid
"com.jario.server.entitymodel.EntityLocation-753" no longer exists in the
data store. This may mean that you deleted the instance in a separate
persistence manager, but this persistence manager still has a cached
version.
kodo.runtime.StateManagerImpl.loadFields(StateManagerImpl.java:2667)
kodo.runtime.StateManagerImpl.loadField(StateManagerImpl.java:2744)
kodo.runtime.StateManagerImpl.isLoaded(StateManagerImpl.java:1116)
com.jario.server.entitymodel.EntityLocation.jdoGetfileStorageType(EntityLoca
tion.java)
But the object is the in database with JDOID 753.
When I restart the instance It finds it no bother.
I'm running Kodo 3.0.1 Ent. (Licenced)
Why is this happening?
Kind Regards
Graham Cruickshanks
Kodo 3.0.2 seems to have fixed this issue.
Cheers
Graham Cruickshanks
"Graham Cruickshanks" <[email protected]> wrote in message
news:buqr0f$7qk$[email protected]..
>
"Abe White" <[email protected]> wrote in message
news:buq0t4$kg9$[email protected]..
Are you using the data cache?No, Kodo.properties are as follows
javax.jdo.PersistenceManagerFactoryClass:
kodo.jdbc.runtime.JDBCPersistenceManagerFactory
kodo.LicenseKey: <REMOVED>
kodo.PersistenceManagerImpl: CloseOnManagedCommit=true
kodo.jdbc.SequenceFactory: PrimaryKeyColumn=PKX, SequenceColumn=SEQUENCEX,
TableName=JDO_SEQUENCEX
kodo.FlushBeforeQueries: true
javax.jdo.option.IgnoreCache: false
javax.jdo.option.ConnectionDriverName: com.mysql.jdbc.Driver
javax.jdo.option.ConnectionPassword:
javax.jdo.option.ConnectionURL:
jdbc:mysql://localhost/JarioServer?autoReconnect=true
javax.jdo.option.ConnectionUserName: JarioServer
kodo.jdbc.DBDictionary: mysql(StoreCharsAsNumbers=false, TableType=InnoDB)
Have you possibly deleted the object and flushed within the same
transaction?I have no delete actions this part of my application, so this is an
impossablity
If you enable SQL logging, you can see the last SELECT statement that is
failing. What happens if you run this against your DB directly?I'm experiencing other problems than just the listed error. I'mexperiencing
sporadic null pointer exceptions on call's that should return values from
the database.
The SQL trace shows the 'Select' query has been done, and if I try running
this with direct SQL to database it returns results. The results in the
tables where this happens have not be written too since applicationstartup.
so i can't be a flushing/datacache error.
The database & driver has not changed from KODO 2.x which worked fine.
Details
Database: 4.10.13-nt
Driver: mysql-connector-java-3.0.9-stable-bin.jar (Tried 3.0.10 as well,
same issue)
Java version: 1.4.2_01-b06
Kodo: 3.0.1
Similar Messages
-
Kodo.util.*Identity not working in 3.3.2?
Hi, I have been trying to use one of the kodo identity classes for
application identity:
<class name="Person"
identity-type="application"
objectid-class="kodo.util.LongIdentity"
unfortunately the enhancer fails on a missing constructor??
[jdoc] kodo.util.FatalUserException: The objectid-class specified
by type "class kodo.Person" does not have public a no-args constructor.
2nd related question: I developed my own LongIdentity that has the missing
constructor and was planning to use it for most of my object model. on
some occasions, kodo seems to get confused about using the same
object-id-class for more than 1 persistent class:
<class name="Person"
identity-type="application"
objectid-class="kodo.AddressId" <!-- similar to
kodo.util.LongIdentity, used as well by persistent class Address -->
trying to load by id a Person:
Person person = (Person) ((KodoPersistenceManager)
pm).getObjectById(Person.class, ""+2000); // select
6750 TRACE [main] kodo.jdbc.SQL - <t 31737213, conn 19287723> [0 ms]
executing prepstmnt 26665270 SELECT t0.CITY, t0.STREET FROM ADDRESS t0
WHERE t0.ID = ? [params=(long) 2000] [reused=0]
kodo.util.ObjectNotFoundException: The instance "2000 [kodo.AddressId]"
does not exist in the data store.[2000 [kodo.AddressId]]
at
kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:2090)
at
kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:2005)
at
kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:2285)
the problem is that a select on the address table gets executed??
note: if I make a copy/paste of my AddressId and rename it PersonId, then
this works fine.
if all pk are of type long, are we expected to subclass
kodo.util.LongIdentity and add the default constructor for each persistent
class?
thanks for the help,
v.here you go:
<?xml version="1.0" encoding="UTF-8"?>
<jdo>
<package name="kodo">
<class name="Address" identity-type="application">
<extension vendor-name="kodo" key="jdbc-class-map"
value="base"></extension>
<extension vendor-name="kodo" key="jdbc-class-map/table"
value="ADDRESS"></extension>
<extension vendor-name="kodo" key="jdbc-version-ind"
value="none"></extension>
<extension vendor-name="kodo" key="jdbc-class-ind-name"
value="none"></extension>
<extension vendor-name="kodo" key="detachable"
value="serialize"></extension>
<field name="id" primary-key="true">
<extension vendor-name="kodo" key="sequence-assigned"
value="true"></extension>
<extension vendor-name="kodo" key="jdbc-field-map"
value="value"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/column"
value="ID"></extension>
</field>
<field name="city">
<extension vendor-name="kodo" key="jdbc-field-map"
value="value"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/column"
value="CITY"></extension>
</field>
<field name="street">
<extension vendor-name="kodo" key="jdbc-field-map"
value="value"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/column"
value="STREET"></extension>
</field>
</class>
<class name="Person" identity-type="application">
<extension vendor-name="kodo" key="jdbc-class-map"
value="base"></extension>
<extension vendor-name="kodo" key="jdbc-class-map/table"
value="PERSON"></extension>
<extension vendor-name="kodo" key="jdbc-version-ind"
value="none"></extension>
<extension vendor-name="kodo" key="jdbc-class-ind-name"
value="none"></extension>
<extension vendor-name="kodo" key="detachable"
value="serialize"></extension>
<field name="addresses" default-fetch-group="true">
<collection element-type="kodo.Address">
</collection>
<extension vendor-name="kodo" key="jdbc-field-map"
value="one-many"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/ref-column.ID"
value="P_ID"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/table"
value="ADDRESS"></extension>
</field>
<field name="firstname">
<extension vendor-name="kodo" key="jdbc-field-map"
value="value"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/column"
value="FIRSTNAME"></extension>
</field>
<field name="id" primary-key="true">
<extension vendor-name="kodo" key="sequence-assigned"
value="true"></extension>
<extension vendor-name="kodo" key="jdbc-field-map"
value="value"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/column"
value="ID"></extension>
</field>
<field name="lastname">
<extension vendor-name="kodo" key="jdbc-field-map"
value="value"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/column"
value="LASTNAME"></extension>
</field>
</class>
</package>
<!--
To use additional vendor extensions, create a vendor-extensions.xml file
that
contains the additional extensions (in extension tags) and place it in
your
projects merge dir.
-->
</jdo>
Patrick Linskey wrote:
Hi Vincent,
Can you post the .jdo file that XDoclet is creating please?
-Patrick
Vincent Sevel wrote:
I tried that but run into another exception:
* @jdo.persistence-capable identity-type="application"
* @jdo.class-vendor-extension vendor-name="kodo" key="jdbc-class-map"
value="base"
* @jdo.class-vendor-extension vendor-name="kodo"
key="jdbc-class-map/table" value="PERSON"
* @jdo.class-vendor-extension vendor-name="kodo" key="jdbc-version-ind"
value="none"
* @jdo.class-vendor-extension vendor-name="kodo"
key="jdbc-class-ind-name" value="none"
* @jdo.class-vendor-extension vendor-name="kodo" key="detachable"
value="serialize"
public class Person implements Serializable {
* @jdo.field primary-key="true"
* @jdo.field-vendor-extension vendor-name="kodo"
key="sequence-assigned" value="true"
* @jdo.field-vendor-extension vendor-name="kodo" key="jdbc-field-map"
value="value"
* @jdo.field-vendor-extension vendor-name="kodo"
key="jdbc-field-map/column" value="ID"
private Long id;
javax.jdo.JDOFatalInternalException
at kodo.Person.jdoNewObjectIdInstance(Person.java)
at kodo.util.ApplicationIds.create(ApplicationIds.java:280)
at
kodo.runtime.PersistenceManagerImpl.makePersistent(PersistenceManagerImpl.java:2424)
at
kodo.runtime.PersistenceManagerImpl.makePersistent(PersistenceManagerImpl.java:2371)
>>
Person p1 = new Person();
p1.setFirstname("vince");
p1.setLastname("sevel");
Address adr1 = new Address();
adr1.setStreet("1er mai");
adr1.setCity("geneve");
p1.getAddresses().add(adr1);
pm.makePersistent(p1);
I must be missing a flag or property somewhere??
thanks,
v.
Abe White wrote:
When using single field identity in JDO, you don't list an objectid-class
at
>>
all
in your metadata. Just set identity-type to "application". -
Kodo.util.UnsupportedException: null
Hello,
Now I'm getting further. I was able to persist my objects!
However, I have an error regarding NamedQuery.
Here is the error:
Exception in thread "main" <3|true|4.0.0EA3>
kodo.util.UnsupportedException: null
at
kodo.query.ExpressionStoreQuery.executeUpdate(ExpressionStoreQuery.java:232)
at
kodo.query.ExpressionStoreQuery$DataStoreExecutor.executeUpdate(ExpressionStoreQuery.java:588)
at
kodo.query.ExpressionStoreQuery$DataStoreExecutor.executeUpdate(ExpressionStoreQuery.java:598)
at kodo.query.QueryImpl.update(QueryImpl.java:1223)
at kodo.query.QueryImpl.execute(QueryImpl.java:950)
at kodo.query.QueryImpl.updateAll(QueryImpl.java:1005)
at kodo.query.DelegatingQuery.updateAll(DelegatingQuery.java:812)
at kodo.persistence.QueryImpl.executeUpdate(QueryImpl.java:300)
at com.dalitest.ClientsDAO.updateClient(ClientsDAO.java:35)
The error is cryptic as well.
It happens for this code:
public int updateClient(EntityManager em, Client c)
Query q = em.createNamedQuery("UpdateClient");
//q.setParameter("newName", c.getName());
q.setParameter("cId", c.getId());
return q.executeUpdate();
And for my Client class I have (snipped):
@NamedQueries( {
@NamedQuery(name = "UpdateClient", queryString = "UPDATE Client c SET
c.name=:newName WHERE c.id=:cId"),
@NamedQuery(name = "DeleteClient", queryString = "DELETE from Client c
WHERE c.id=:cId") })
@Entity(access = AccessType.PROPERTY)
@Table(name = "DALI_CLIENTS")
public class Client {...}
In case I do uncomment q.setParameter("newName", c.getName());
The following exception is thrown:
Exception in thread "main" <4|false|4.0.0EA3>
kodo.persistence.ArgumentException: More parameters were passed to
execute() than were declared: {1} parameters were specific for query
execution, but only {0} parameters were declared in the query.
at kodo.query.QueryImpl.assertParameters(QueryImpl.java:1871)
at kodo.query.QueryImpl.execute(QueryImpl.java:941)
at kodo.query.QueryImpl.updateAll(QueryImpl.java:1005)
at kodo.query.DelegatingQuery.updateAll(DelegatingQuery.java:812)
at kodo.persistence.QueryImpl.executeUpdate(QueryImpl.java:300)
at com.dalitest.ClientsDAO.updateClient(ClientsDAO.java:35)
Can anyone point me what is wrong with my update query?Abe White wrote:
Thanks Abe for the information.
How do I have to proceed then with my updates at the moment? Do you have
any suggestions (besides waiting for the next release)?
Update the objects individually, or use SQL. Kodo allows you to access
the JDBC connection:>
http://solarmetric.com/Software/Documentation/4.0.0EA/docs/full/html/ref_guide_dbsetup_sqlconn.html
Thanks for the suggestions. SQL is not an option, since it will defeat the
purpose of the EJB3-persistence.
But can you elaborate more on the "Update the objects individually"
approach.
Let's say I have persistent Java bean Client and I changed some of its
properties (e.g. myClient.setName("New Name");)
How do I persiste it "individually"?
This approach does not work:
EntityTransaction t = em.getTransaction();
t.begin();
List<Client> pClients = new ClientsDAO().getAllClients(em);
for (Client pClient : pClients)
pClient.setName("New Name");
em.persist(pClient);
t.commit();
It throws error on t.commit();
<2|false|4.0.0EA3> kodo.util.OptimisticException: An optimistic lock violation
was detected when flushing object instance
"kodo.synthetic.com.dalitest.ClientKodoSyntheticSubclass-id-3" to the data
store. This indicates that the object was concurrently modified in another
transaction.
FailedObject: kodo.synthetic.com.dalitest.ClientKodoSyntheticSubclass-id-3
at
kodo.jdbc.kernel.PreparedStatementManager.checkUpdate(PreparedStatementManager.java:358)
at
kodo.jdbc.kernel.PreparedStatementManager.executeBatch(PreparedStatementManager.java:291)
at
kodo.jdbc.kernel.PreparedStatementManager.flushInternal(PreparedStatementManager.java:243)
at
kodo.jdbc.kernel.PreparedStatementManager.flush(PreparedStatementManager.java:206)
at kodo.jdbc.kernel.UpdateManagerImpl.flush(UpdateManagerImpl.java:217)
at kodo.jdbc.kernel.UpdateManagerImpl.flush(UpdateManagerImpl.java:94)
at kodo.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:557)
at
kodo.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:151)
at kodo.kernel.BrokerImpl.flush(BrokerImpl.java:2034)
at kodo.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1893)
at kodo.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1819)
at kodo.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:67)
at kodo.kernel.BrokerImpl.commit(BrokerImpl.java:1426)
at kodo.kernel.DelegatingBroker.commit(DelegatingBroker.java:1145)
at kodo.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:420)
at com.dalitest.Test.main(Test.java:55) -
Kodo.util.FatalInternalException
[junit] Caused by: kodo.util.FatalInternalException: 1046,1024 ::
1046,1024:kodo.runtime.HollowState@cb2185 :: 1046,
1024:kodo.runtime.HollowState@cb2185
[junit] at
kodo.runtime.PersistenceManagerImpl.setStateManager(PersistenceManagerImpl.j
ava:3314)
[junit] at
kodo.runtime.StateManagerImpl.commit(StateManagerImpl.java:798)
[junit] at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.ja
va:1103)
[junit] at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.j
ava:842)
[junit] at
kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
[junit] at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:542)Tom-
This was reported at:
http://bugzilla.solarmetric.com/show_bug.cgi?id=940
The problem is that you have multiple instances with the same identity
and you are using horizontal inheritance. The solution is to move from
using a single application identity class for the entire hierarchy to
using one application identity class per class in the hierarchy. See:
http://docs.solarmetric.com/manual.html#horizontal_caveats
In article <c9nt6d$v63$[email protected]>, Tom Landon wrote:
When I changed retain values from false to true I got the error below
(3.1.2). Here are the relevant settings:
javax.jdo.option.Optimistic=true
#javax.jdo.option.RetainValues=false
javax.jdo.option.RetainValues=true
javax.jdo.option.RestoreValues=false
javax.jdo.option.NontransactionalRead=true
javax.jdo.option.NontransactionalWrite=false
[junit] Caused by: kodo.util.FatalInternalException: 1046,1024 ::
1046,1024:kodo.runtime.PNonTransState@56c3cf :: 10
46,1024:kodo.runtime.PNonTransState@56c3cf
[junit] at
kodo.runtime.PersistenceManagerImpl.setStateManager(PersistenceManagerImpl.j
ava:3314)
[junit] at
kodo.runtime.StateManagerImpl.commit(StateManagerImpl.java:798)
[junit] at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.ja
va:1103)
[junit] at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.j
ava:842)
[junit] at
kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
[junit] at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:542)
Marc Prud'hommeaux
SolarMetric Inc. -
Kodo.util.InternalException: null
Hello,
I'm trying new persistence EJB3 implementation from SolarMetric:
kodo-4.0.0EA3
I have constructed a simple test app. And when I try to run it I get:
Exception in thread "main" <1|true|4.0.0EA3> kodo.util.InternalException:
null
at
kodo.synthetic.com.dalitest.ClientKodoSyntheticSubclassProxy.kodoNewObjectIdInstance(Unknown
Source)
at kodo.util.ApplicationIds.create(ApplicationIds.java:246)
at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2433)
at kodo.kernel.BrokerImpl.persistSafe(BrokerImpl.java:2379)
at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2366)
at kodo.kernel.DelegatingBroker.persist(DelegatingBroker.java:1275)
at kodo.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:519)
at com.dalitest.Test.main(Test.java:21)
Do you know what is going on?
Here is my code:
package com.dalitest;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
public class Test
public static void main(String[] args)
EntityManagerFactory factory =
Persistence.createEntityManagerFactory("kodo");
EntityManager em = factory.createEntityManager();
Client c1 = new Client();
c1.setName("John Doe");
EntityTransaction t = em.getTransaction();
t.begin();
em.persist(c1);
t.commit();
and Client.java:
package com.dalitest;
import javax.persistence.AccessType;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Id;
import javax.persistence.Column;
@Entity(access = AccessType.PROPERTY)
@Table(name="DALI_CLIENTS")
public class Client
private String id;
private String name;
public void setName(String name)
this.name = name;
@Column(name="NAME")
public String getName()
return name;
public void setId(String id)
this.id = id;
@Id
@Column(name="ID")
public String getId()
return id;
and my persistence.xml:
<?xml version="1.0"?>
<entity-manager>
<name>kodo</name>
<provider>kodo.persistence.PersistenceProviderImpl</provider>
<class>com.dalitest.Client</class>
<properties>
<property name="kodo.LicenseKey"
value="XXX" />
<property name="kodo.ConnectionURL"
value="XXX" />
<property name="kodo.ConnectionDriverName"
value="oracle.jdbc.driver.OracleDriver" />
<property name="kodo.ConnectionUserName" value="XXX" />
<property name="kodo.ConnectionPassword" value="XXX" />
<property name="kodo.Log" value="DefaultLevel=WARN, Tool=INFO" />
</properties>
</entity-manager>
Where I have masked some values with XXX for this post.
Thanks in advance,
RuslanAlso I tried to enable DEBUG mode
<property name="kodo.Log" value="DefaultLevel=WARN, Tool=INFO" />
And got the following output before this exception:
15 INFO [main] kodo.Runtime - Starting Kodo 4.0.0EA3
62 DEBUG [main] kodo.Runtime - License capabilities: "Kodo Standard
Edition,Kodo Community Edition,Kodo Evaluation Edition,Datacache
Plug-in,Custom Result Object Providers,Custom Mappings,Enterprise
Databases,Query Extensions,Performance Pack,Statement Batching,Kodo
Enterprise Edition,Managed Environment,Developer Tools,Custom
DBDictionaries" Expiration: "2/25/06 7:00 PM" Maintenance expiration:
"2/25/06 7:00 PM"
187 INFO [main] kodo.jdbc.JDBC - Using dictionary class
"kodo.jdbc.sql.OracleDictionary".
343 INFO [main] kodo.MetaData - Found 1 classes with metadata in 0
milliseconds.
422 INFO [main] kodo.MetaData - parse-class
422 INFO [main] kodo.MetaData - parse-package
Exception in thread "main" <1|true|4.0.0EA3> kodo.util.InternalException:
null
at
kodo.synthetic.com.dalitest.ClientKodoSyntheticSubclassProxy.kodoNewObjectIdInstance(Unknown
Source)
at kodo.util.ApplicationIds.create(ApplicationIds.java:246)
at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2433)
at kodo.kernel.BrokerImpl.persistSafe(BrokerImpl.java:2379)
at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2366)
at kodo.kernel.DelegatingBroker.persist(DelegatingBroker.java:1275)
at kodo.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:519)
at com.dalitest.Test.main(Test.java:21) -
Kodo.util.FatalDataStoreException: Wrong database file version
Hi,
I am using Kodo JDO 3.0.2 together with HSQLDB (non-cached, same process).
It
runs fine. However, after having used a SQL tool such as Aqua Data Studio
to
inspect the database my Java code complains with the message
"kodo.util.FatalDataStoreException: Wrong database file version". I have
to
rebuild the database and extend my classes again to get rid of this error.
Is there some information in the database script that does not survive the
inspection with the SQL tool? How can I work around this?
Thanks for your help
--BrunoMarc,
It was indeed a version mismatch with my hsqldb libs. My SQL Tool used
version 1.7.2 whereas Kdo used 1.7.0. A quick update of the property file
of
Aqua Data Studio fixed the problem. Thanks for the hint.
--Bruno
Marc Prud'hommeaux wrote:
Bruno-
Without being at all familiar with "Aqua Data Studio", I'll make a
completely shot in the dark guess about what might be happening: you are
using version x of Hypersonic to access the database, and then "Aqua
Data Studio" is using version x+1. When the database is opened with HSQL
version x+1, some internal version identifier in the database file is
incremented, which disallows the previous version of HSQL (which is
being used by Kodo) from opening the file.
Again, this is a blind guess, but if it is the case, then the solution
would be to ensure that you are using the same version of HSQL in both
Kodo and "Aqua Data Studio".
Otherwise, can you post the stack trace of the exception? That might
give some more insight as to why this might be happening.
As an aside, note that Kodo doesn't store or verify any internal
"version" or anything like that, so I very much doubt that it is a
problem with Kodo itself.
In article <c1fihi$igu$[email protected]>, Bruno Schaeffer wrote:
Hi,
I am using Kodo JDO 3.0.2 together with HSQLDB (non-cached, same
process).
It
runs fine. However, after having used a SQL tool such as Aqua Data Studio
to
inspect the database my Java code complains with the message
"kodo.util.FatalDataStoreException: Wrong database file version". I have
to
rebuild the database and extend my classes again to get rid of thiserror.
Is there some information in the database script that does not survivethe
inspection with the SQL tool? How can I work around this?
Thanks for your help
--Bruno
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com -
Exception in thread "main" kodo.util.FatalInternalException:
I have a method that is trying to save multiple objects:
public void go()
tx.begin();
for (int i = 0; i < 10; i++) {
Person p = new Person();
p.setForename("doug");
p.setSurname("emerald");
p.setGender("m");
p.setBirthdate(new Date());
pm.makePersistent(p);
((KodoPersistenceManager) pm).flush();
tx.commit();
After calling close() on the PersistenceManager and Factory I get this
error:
Exception in thread "main" kodo.util.FatalInternalException: 0 ::
0:kodo.runtime.PNonTransState@15f7107 ::
0:kodo.runtime.PNonTransState@15f7107
at
kodo.runtime.PersistenceManagerImpl.setStateManager(PersistenceManagerImpl.java:2923)
at kodo.runtime.StateManagerImpl.commit(StateManagerImpl.java:680)
at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.java:907)
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:679)
at
kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:422)
at JDOPerf.go(JDOPerf.java:67)
at JDOPerf.<init>(JDOPerf.java:33)
at JDOPerf.main(JDOPerf.java:16)
What could be causing this error?
DougThis error was a side effect of the problem I had in my previous post
regarding sequences and application identity. It is now resolved.
Thanks
Stephen Kim wrote:
Does Person use application identity? Can you post the Persion's id class?
Doug Emerald wrote:
I should amend this, the error is on the tx.commit() call.
Doug Emerald wrote:
I have a method that is trying to save multiple objects:
public void go()
tx.begin();
for (int i = 0; i < 10; i++) {
Person p = new Person();
p.setForename("doug");
p.setSurname("emerald");
p.setGender("m");
p.setBirthdate(new Date());
pm.makePersistent(p);
((KodoPersistenceManager) pm).flush();
tx.commit();
After calling close() on the PersistenceManager and Factory I get this
error:
Exception in thread "main" kodo.util.FatalInternalException: 0 ::
0:kodo.runtime.PNonTransState@15f7107 ::
0:kodo.runtime.PNonTransState@15f7107
at
kodo.runtime.PersistenceManagerImpl.setStateManager(PersistenceManagerImpl.java:2923)
>>
at kodo.runtime.StateManagerImpl.commit(StateManagerImpl.java:680)
at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.java:907)
>>
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:679)
>>
at
kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:422)
at JDOPerf.go(JDOPerf.java:67)
at JDOPerf.<init>(JDOPerf.java:33)
at JDOPerf.main(JDOPerf.java:16)
What could be causing this error?
Doug
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com -
Kodo.util.UserException with deletepersistent method
Hi,
When I want to delete an object, i have the following error :
kodo.util.UserException: The given instance
"operations.offres.produits.magazines.groupesetediteurs.GroupeDePresse@6dd60e"
is not managed by this
PersistenceManager.[operations.offres.produits.magazines.groupesetediteurs.GroupeDePresse@6dd60e]
There are the persistence methods i've wrote :
* Methode de classe pour r__cuperer un groupe de presse ou un Editeur
* @param nom String
* @return GroupesEtEditeurs
public static GroupesEtEditeurs getGroupesEtEditeurs(String nom) {
Persistance p = Persistance.getPersistance();
KodoPersistenceManager pm = p.getKodoPersistenceManager();
Query requete = pm.newQuery(GroupesEtEditeurs.class);
requete.setFilter("nom == '" + nom + "'");
requete.setUnique(true);
pm.currentTransaction().begin();
Object resultat = (Object) requete.execute();
resultat = pm.detach(resultat);
pm.currentTransaction().commit();
requete.closeAll();
pm.close();
return (GroupesEtEditeurs) resultat;
* Methode de classe pour sauvegarder et mettre __ jour un Groupe de
presse ou un Editeur
* @param groupesetediteurs GroupesEtEditeurs
public static void savGroupesEtEditeurs(GroupesEtEditeurs
groupesetediteurs) {
Persistance p = Persistance.getPersistance();
KodoPersistenceManager pm = p.getKodoPersistenceManager();
pm.currentTransaction().begin();
pm.attach(groupesetediteurs);
pm.currentTransaction().commit();
pm.close();
* Methode de classe pour supprimer un Groupe de presse ou un Editeur
* @param groupesetediteurs GroupesEtEditeurs
public static void delGroupesEtEditeurs(GroupesEtEditeurs
groupesetediteurs) {
Persistance p = Persistance.getPersistance();
KodoPersistenceManager pm = p.getKodoPersistenceManager();
pm.currentTransaction().begin();
pm.deletePersistent(groupesetediteurs);
pm.currentTransaction().commit();
pm.close();
... and in the main class :
GroupeDePresse gp0 = GroupeDePresse.getGroupeDePresse("mongroupe gp3");
GroupeDePresse.savGroupeDePresse(gp0);
GroupeDePresse.delGroupeDePresse(gp0); <---- the error source !
I've no problems for query, attach / detach or update ...
Please help !
thank you,
PascalHi,
When I want to delete an object, i have the following error :
kodo.util.UserException: The given instance
"operations.offres.produits.magazines.groupesetediteurs.GroupeDePresse@6dd60e"
is not managed by this
PersistenceManager.[operations.offres.produits.magazines.groupesetediteurs.GroupeDePresse@6dd60e]
There are the persistence methods i've wrote :
* Methode de classe pour r__cuperer un groupe de presse ou un Editeur
* @param nom String
* @return GroupesEtEditeurs
public static GroupesEtEditeurs getGroupesEtEditeurs(String nom) {
Persistance p = Persistance.getPersistance();
KodoPersistenceManager pm = p.getKodoPersistenceManager();
Query requete = pm.newQuery(GroupesEtEditeurs.class);
requete.setFilter("nom == '" + nom + "'");
requete.setUnique(true);
pm.currentTransaction().begin();
Object resultat = (Object) requete.execute();
resultat = pm.detach(resultat);
pm.currentTransaction().commit();
requete.closeAll();
pm.close();
return (GroupesEtEditeurs) resultat;
* Methode de classe pour sauvegarder et mettre __ jour un Groupe de
presse ou un Editeur
* @param groupesetediteurs GroupesEtEditeurs
public static void savGroupesEtEditeurs(GroupesEtEditeurs
groupesetediteurs) {
Persistance p = Persistance.getPersistance();
KodoPersistenceManager pm = p.getKodoPersistenceManager();
pm.currentTransaction().begin();
pm.attach(groupesetediteurs);
pm.currentTransaction().commit();
pm.close();
* Methode de classe pour supprimer un Groupe de presse ou un Editeur
* @param groupesetediteurs GroupesEtEditeurs
public static void delGroupesEtEditeurs(GroupesEtEditeurs
groupesetediteurs) {
Persistance p = Persistance.getPersistance();
KodoPersistenceManager pm = p.getKodoPersistenceManager();
pm.currentTransaction().begin();
pm.deletePersistent(groupesetediteurs);
pm.currentTransaction().commit();
pm.close();
... and in the main class :
GroupeDePresse gp0 = GroupeDePresse.getGroupeDePresse("mongroupe gp3");
GroupeDePresse.savGroupeDePresse(gp0);
GroupeDePresse.delGroupeDePresse(gp0); <---- the error source !
I've no problems for query, attach / detach or update ...
Please help !
thank you,
Pascal -
Hi..
I am getting this error .. when i am deploying an application.
weblogic.application.ModuleException:
at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:387)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:42)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:16)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:155)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:197)
at weblogic.deploy.internal.targetserver.operations.StartOperation.createAndPrepareContainer(StartOperation.java:88)
at weblogic.deploy.internal.targetserver.operations.StartOperation.doPrepare(StartOperation.java:101)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:723)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1190)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
<openjpa-1.1.0-r422266:657916 nonfatal store error> kodo.jdo.ObjectNotFoundException: The instance "netscape.ldap.LDAPException: error result (32)" does not exist in
the data store.
FailedObject: netscape.ldap.LDAPException: error result (32) [java.lang.String]
at kodo.jdo.ObjectNotFoundException.newSerializableInstance(ObjectNotFoundException.java:90)
at kodo.jdo.ObjectNotFoundException.writeReplace(ObjectNotFoundException.java:80)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteReplace(ObjectStreamClass.java:1032)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1107)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:416)
at java.lang.Throwable.writeObject(Throwable.java:648)
at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.ArrayList.writeObject(ArrayList.java:579)
at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at weblogic.common.internal.WLObjectOutputStream.writeArrayList(WLObjectOutputStream.java:117)
at weblogic.deploy.service.internal.transport.DeploymentServiceMessage.writeMessage(DeploymentServiceMessage.java:272)
at weblogic.deploy.service.internal.transport.DeploymentServiceMessage.writeExternal(DeploymentServiceMessage.java:239)
at java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1421)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1390)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at weblogic.deploy.service.internal.transport.http.HTTPMessageSender.sendMessageToServerURL(HTTPMessageSender.java:276)
at weblogic.deploy.service.internal.transport.http.HTTPMessageSender.sendMessageToAdminServer(HTTPMessageSender.java:134)
at weblogic.deploy.service.internal.transport.CommonMessageSender.sendPrepareNakMsg(CommonMessageSender.java:578)
at weblogic.deploy.service.internal.statemachines.targetserver.TargetServerState.sendPrepareNak(TargetServerState.java:392)
at weblogic.deploy.service.internal.statemachines.targetserver.AwaitingPrepareCompletion.prepareFailed(AwaitingPrepareCompletion.java:124)
at weblogic.deploy.service.internal.targetserver.TargetDeploymentService.notifyPrepareFailure(TargetDeploymentService.java:324)
at weblogic.deploy.service.internal.DeploymentService$4.run(DeploymentService.java:223)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Any ideas.. i dont know this is right place post to this issue..
Thanks
RajI was receiving a very similar error stack trace. I stopped the managed server, then deleted it's ldap folder. When I restarted the managed server, it came it w/o any errors.
Cheers,
Rob -
Error:Class java.util.date not found
i have installed 9iAS on my computer.And i want to develop program on JSP.i tried the url below
http://eyuksel/servlet/IsItWorking
and i got "it is working" message.when i try to execute my first jsp file i get the error:
Errors compiling:d:\ias\apache\apache\htdocs\_pages\\_first.java
d:\ias\apache\apache\htdocs\_pages\_first.java:55: Class java.util.date not found.
out.print( new java.util.date() );
^
1 error
what must i do or how can i install the java classes.
kind regards...
nullThank you very much.It worked:)
Java is case-sensitive.
try
java.util.Date
instead of
java.util.date
null -
I am receiving the following exception in our app at what appears to be
random intervals.
There were multiple users logged into the system, each getting their own
persistence manager (by way of pmFactory.getPersistenceManager(), which
are then stored in the http session and re-used as long as that user is
logged in) and when they started accessing the system simultaneously
everything was fine for a while (ranged from 30min to 3 hours) then one
person would see the exception, then others would see the exception right
after. Then a few minutes later the problem would be gone again for a
while
I have the multithread option set to true in kodo.properties and am using
pessimistic transactions
Using kodo 3.3.3
I am just curious what might cause something like this, it seems as though
2 threads are trying to commit the same data with the same persistence
manager to me.
My next step in debugging this process is extending the persistence
manager object to add some logging and see if my theory is correct.
Any pointers to tracking this down would be greatly appreciated
kodo.util.FatalDataStoreException: java.util.NoSuchElementException
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:1020)
at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
at
com.stchome.cdr.actions.SearchCriteriaWizardAction.searchQbe(SearchCriteriaWizardAction.java:345)
at sun.reflect.GeneratedMethodAccessor355.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
at
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
com.stchome.cdr.servlet.CdrActionServlet.process(CdrActionServlet.java:31)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
com.stchome.cdr.servlet.filters.SessionManagerFilter.doFilter(SessionManagerFilter.java:41)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
NestedThrowablesStackTrace:
java.util.NoSuchElementException
at serp.util.LookaheadIterator.next(LookaheadIterator.java:57)
at
com.solarmetric.apache.commons.collections.iterators.IteratorChain.next(IteratorChain.java:264)
at kodo.util.CacheMap$EntryIterator.next(CacheMap.java:654)
at java.util.AbstractCollection.toArray(AbstractCollection.java:174)
at java.util.ArrayList.<init>(ArrayList.java:136)
at kodo.datacache.QueryCacheImpl.keySet(QueryCacheImpl.java:165)
at
kodo.datacache.AbstractQueryCache.classesChanged(AbstractQueryCache.java:60)
at
kodo.datacache.DataCacheStoreManager.updateCaches(DataCacheStoreManager.java:217)
at
kodo.datacache.DataCacheStoreManager.commit(DataCacheStoreManager.java:73)
at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.java:1317)
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:998)
at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
at
com.stchome.cdr.actions.SearchCriteriaWizardAction.searchQbe(SearchCriteriaWizardAction.java:345)
at sun.reflect.GeneratedMethodAccessor355.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
at
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
com.stchome.cdr.servlet.CdrActionServlet.process(CdrActionServlet.java:31)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
com.stchome.cdr.servlet.filters.SessionManagerFilter.doFilter(SessionManagerFilter.java:41)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)Thank you stephen, that reply is like music to my ears :)
Stephen Kim wrote:
I would upgrade to 3.3.4 or 3.4 as they have resolved that bug.
Damian Bradicich wrote:
I am receiving the following exception in our app at what appears to be
random intervals.
There were multiple users logged into the system, each getting their own
persistence manager (by way of pmFactory.getPersistenceManager(), which
are then stored in the http session and re-used as long as that user is
logged in) and when they started accessing the system simultaneously
everything was fine for a while (ranged from 30min to 3 hours) then one
person would see the exception, then others would see the exception right
after. Then a few minutes later the problem would be gone again for a
while
I have the multithread option set to true in kodo.properties and am using
pessimistic transactions
Using kodo 3.3.3
I am just curious what might cause something like this, it seems as though
2 threads are trying to commit the same data with the same persistence
manager to me.
My next step in debugging this process is extending the persistence
manager object to add some logging and see if my theory is correct.
Any pointers to tracking this down would be greatly appreciated
kodo.util.FatalDataStoreException: java.util.NoSuchElementException
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:1020)
at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
at
com.stchome.cdr.actions.SearchCriteriaWizardAction.searchQbe(SearchCriteriaWizardAction.java:345)
at sun.reflect.GeneratedMethodAccessor355.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
at
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
com.stchome.cdr.servlet.CdrActionServlet.process(CdrActionServlet.java:31)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
com.stchome.cdr.servlet.filters.SessionManagerFilter.doFilter(SessionManagerFilter.java:41)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
NestedThrowablesStackTrace:
java.util.NoSuchElementException
at serp.util.LookaheadIterator.next(LookaheadIterator.java:57)
at
com.solarmetric.apache.commons.collections.iterators.IteratorChain.next(IteratorChain.java:264)
at kodo.util.CacheMap$EntryIterator.next(CacheMap.java:654)
at java.util.AbstractCollection.toArray(AbstractCollection.java:174)
at java.util.ArrayList.<init>(ArrayList.java:136)
at kodo.datacache.QueryCacheImpl.keySet(QueryCacheImpl.java:165)
at
kodo.datacache.AbstractQueryCache.classesChanged(AbstractQueryCache.java:60)
at
kodo.datacache.DataCacheStoreManager.updateCaches(DataCacheStoreManager.java:217)
at
kodo.datacache.DataCacheStoreManager.commit(DataCacheStoreManager.java:73)
at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.java:1317)
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:998)
at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
at
com.stchome.cdr.actions.SearchCriteriaWizardAction.searchQbe(SearchCriteriaWizardAction.java:345)
at sun.reflect.GeneratedMethodAccessor355.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
at
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
com.stchome.cdr.servlet.CdrActionServlet.process(CdrActionServlet.java:31)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
com.stchome.cdr.servlet.filters.SessionManagerFilter.doFilter(SessionManagerFilter.java:41)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com -
Cannot access class jclass.util.JCVector
I need the libraries .
Where can I get the libraries for my java application?.
When I compile , I get this error:cannot access class jclass.util.JCVector.
I have been looking for them in the sitraka home, but I haven�t
found any.
I have installed libraries for jclass.bwt. package but I imagine
that it isn�t enough.
Thanks alot-
rasI dont know the class JCVector, but if you received the error message
"cannot access class jclass.util.JCVector"
It means that the class is there, but you cannot access.
Why I cannot access if the class is there? - you should ask
Problably the access permission of this class is not Public, it must be private or protected.
The most common is the class is protected and it is in another package.
So the JVM locate the class, but cannot access it from your current class, because the class you are trying to access is protected or private.
Hope that i Helped
JoseAugusto -
Weird exception: Cannot instantiate non-persistent class: java.util.Map
java.lang.UnsupportedOperationException: Cannot instantiate non-persistent class: java.util.Map
at com.sleepycat.persist.impl.NonPersistentFormat.newInstance(NonPersistentFormat.java:45)
at com.sleepycat.persist.impl.PersistEntityBinding.readEntity(PersistEntityBinding.java:89)
at com.sleepycat.persist.impl.PersistEntityBinding.entryToObject(PersistEntityBinding.java:61)
at com.sleepycat.persist.PrimaryIndex.put(PrimaryIndex.java:338)
at com.sleepycat.persist.PrimaryIndex.put(PrimaryIndex.java:299)
at com.xx.support.dbd.IdentityDataAccessor.insert(IdentityDataAccessor.java:33)
at com.xx.support.dbd.BerkeleyDBAccountStorage.saveUser(BerkeleyDBAccountStorage.java:95)
at com.xx.support.bdb.BerkeleyDBAccountStorageTests.initBerkeleyDBData(BerkeleyDBAccountStorageTests.java:38)
at com.xx.support.bdb.BerkeleyDBAccountStorageTests.setUp(BerkeleyDBAccountStorageTests.java:28)
at junit.framework.TestCase.runBare(TestCase.java:125)
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:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
What's the root cause of this exception?I wrote a small test using the classes you included
in your message and I am able to retrieve the user by
key, as in the code above. So I'm not sure what
you're doing that is causing the problem. Please
send a small test that reproduces the problem.Oops, I forgot to include the source for the test I wrote. Here it is.
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import com.sleepycat.je.DatabaseException;
import com.sleepycat.je.Environment;
import com.sleepycat.je.EnvironmentConfig;
import com.sleepycat.persist.EntityStore;
import com.sleepycat.persist.PrimaryIndex;
import com.sleepycat.persist.StoreConfig;
import com.sleepycat.persist.model.Entity;
import com.sleepycat.persist.model.Persistent;
import com.sleepycat.persist.model.PrimaryKey;
public class Test {
@Persistent
public static class SimplePrincipal {
protected String name;
public SimplePrincipal(String username) {
this.name = name;
public SimplePrincipal() {}
@Entity
public static class SimpleUser extends SimplePrincipal {
@PrimaryKey
private String key;
private Map properties;
public SimpleUser() {
super();
this.properties = new HashMap();
public SimpleUser(String username) {
super(username);
this.properties = new HashMap();
public void setKey(String key){
this.key = key;
public void addPropertity(String name, String value) {
this.properties.put(name, value);
@Override
public String toString() {
return "[SimpleUser key: " + key + " name: " + name + ']';
private Environment env;
private EntityStore store;
private PrimaryIndex<String, SimpleUser> primaryIndex;
private void open()
throws DatabaseException {
EnvironmentConfig envConfig = new EnvironmentConfig();
envConfig.setAllowCreate(true);
envConfig.setTransactional(true);
env = new Environment(new File("./data"), envConfig);
StoreConfig storeConfig = new StoreConfig();
storeConfig.setAllowCreate(true);
storeConfig.setTransactional(true);
store = new EntityStore(env, "test", storeConfig);
primaryIndex = store.getPrimaryIndex(String.class, SimpleUser.class);
private void close()
throws DatabaseException {
store.close();
env.close();
private void execute()
throws DatabaseException {
SimpleUser user = new SimpleUser("test");
user.setKey("testkey");
primaryIndex.put(user);
user = primaryIndex.get("testkey");
System.out.println(user);
public static void main(String[] args)
throws DatabaseException {
Test test = new Test();
test.open();
test.execute();
test.close();
}Mark -
This trace uses almost 10% of my CPU time. It looks like static data
collection. Is it being called much more often than it should, or am I
calling something more often than I should? (After this, I am down to the
DBMS being the bottleneck and a factor of 7 as the slow down from Poet to
Kodo/MySQL.)
TRACE 1622:
java.util.HashMap.addEntry(HashMap.java:719)
java.util.HashMap.put(HashMap.java:388)
java.util.HashSet.add(HashSet.java:188)
java.util.AbstractCollection.addAll(AbstractCollection.java:315)
java.util.HashSet.<init>(HashSet.java:94)
com.solarmetric.kodo.util.ImplHelper.getPersistentClasses(ImplHelper.java:46)
com.solarmetric.kodo.runtime.datacache.query.QueryKey.initializeQuery(QueryKey.java:137)
com.solarmetric.kodo.runtime.datacache.query.QueryKey.<init>(QueryKey.java:56)
com.solarmetric.kodo.runtime.datacache.query.CacheAwareQuery.execute(CacheAwareQuery.java:257)
itec.pos.Pos.findKey(Pos.java:121)Things have evolved, Secant -> Poet ODMG -> Poet/JDO. FindKey finds an
object by attribute, not the ID, like where 'name = "Bob"'. For Kodo, we
are using a JDOQL query; for Poet we use an Index (our tests are 4X faster
than when we use a Poet Query).
Joe
Patrick Linskey wrote:
BTW, what does findKey() do?
-Patrick
On Fri, 11 Jul 2003 00:40:46 +0000, Joe Batt wrote:
This trace uses almost 10% of my CPU time. It looks like static data
collection. Is it being called much more often than it should, or am I
calling something more often than I should? (After this, I am down to the
DBMS being the bottleneck and a factor of 7 as the slow down from Poet to
Kodo/MySQL.)
TRACE 1622:
java.util.HashMap.addEntry(HashMap.java:719)
java.util.HashMap.put(HashMap.java:388)
java.util.HashSet.add(HashSet.java:188)
java.util.AbstractCollection.addAll(AbstractCollection.java:315)
java.util.HashSet.<init>(HashSet.java:94)
com.solarmetric.kodo.util.ImplHelper.getPersistentClasses(ImplHelper.java:46)
>>
>
com.solarmetric.kodo.runtime.datacache.query.QueryKey.initializeQuery(QueryKey.java:137)
>>
com.solarmetric.kodo.runtime.datacache.query.QueryKey.<init>(QueryKey.java:56)
>>
>
com.solarmetric.kodo.runtime.datacache.query.CacheAwareQuery.execute(CacheAwareQuery.java:257)
itec.pos.Pos.findKey(Pos.java:121)
Patrick Linskey
SolarMetric Inc. -
KODO JDO Exception - kodo.util.FatalDataStoreException
Using <b>Kodo Version - 3.3.4</b>, getting following exception when we try to <b>COMMIT</b>. Please let us know the reason for this kind of exception.
java.lang.NullPointerException>
kodo.util.FatalDataStoreException: java.lang.NullPointerException
at kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:1020)
at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
at com.capgroup.isa.dal.LibrarySession.commit(LibrarySession.java:135)
NestedThrowablesStackTrace:
java.lang.NullPointerException
at kodo.jdbc.runtime.JDBCStoreManager.commit(JDBCStoreManager.java:140)
at kodo.runtime.DelegatingStoreManager.commit(DelegatingStoreManager.java:101)
at kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.java:1317)
at kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:998)
at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
at com.capgroup.isa.dal.LibrarySession.commit(LibrarySession.java:135)
Thanks,A NPE coming from Kodo's code is a defect. I suggest you try with 3.4.1 or a more recent version. Similar bugs have been fixed in them.
Laurent
Maybe you are looking for
-
E-Mails in IPad and iPhone without content and sender "This E-Mail has no content"
Often I get E-Mails listet without content and no sender "This E-Mail hasn't got any content" I can't get rid of the ghost, only by total restarts. . Why does this happen and how can Iavoid this? Klaus
-
Mail from Excel using a Shared Mailbox issue
Hello, We have Office 365 running with several shared mailboxes. We configured the value DelegateSendItemsStyle so when you send an email it will be placed inside the shared mailbox send item folder. (See KB: http://support.microsoft.com/kb/2181579).
-
How to connect iPod nano to speaker system
How to connect iPod nano to a stereo amplifier?
-
HT5731 how do i UNSUBSCRIBE to a multi pass tv show
how do i UNSUBSCRIBE to a multi pass tv show
-
I remember there was a table in SQL where I can see which SQL database is linked to which Planning application. But I can't find it any more? Anyone can give me a hint ? Thanks a lot!