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,
Ruslan
Also 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)
Similar Messages
-
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) -
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 CruickshanksKodo 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 -
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 -
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". -
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.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 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 -
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 -
Exception thrown kodo.util.OptimisticVerficationException
I am working with Kodo Jdo,
I trying to set the properties of a user objt and set it in the session
object to work with it in the different pages.
I have a UI form to modify the User properties and then call the
respective action update method.
public ActionForward update(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws NoUserSessionException {
ActionMessages messages = new ActionMessages();
PersistenceManager pm =
Utils.getPersistenceManagerFactory().getPersistenceManager();
User user = sessionUtils.getUser(pm, request); // get user from
the session object
if (validateFields(form, user, messages)) {
Transaction tx = pm.currentTransaction();
tx.begin();
form2model(form, user, pm); // move the values from form
to the user object
refreshUserSession(request, user); // update the session
with the user values.
tx.commit();
messages.add("success", new
ActionMessage("userPreferencesForm.message.operation.successfully"));
saveMessages(request, messages);
model2form(pm, user, form,request);
pm.close();
return mapping.findForward("form");
it work fine a couple of times , but once in the while when i try to get
the user in the session from the other pages I get a Exception when it
reach the excecution between the tx.begin and tx.commit of the update
method (above).
kodo.util.PtimisticVerificationException : There was 1 optimistic locking
error when flushing to the data store. This indicates that an object was
concurrently modified in another transaction. the exception in the nested
throwables array contains a failed object representing a concurrently
modified object.
can someone could tell me what can I do to solve the problem...
thanks in advance.Hi Marc,
I wasnt able to enable trace-level for SQL and JDBC
I added to jdo.properties the following:
# kodo.Log: SQL=TRACE, JDBC=TRACE
#kodo.Log: DefaultLevel=WARN, Runtime=INFO, Tool=INFO, SQL=TRACE
#kodo.Log: /tmp/kodo.log , DefaultLevel=WARN, Runtime=INFO, Tool=INFO,
#SQL=TRACE
kodo.Log: SQL=TRACE
also I tried using log4J by adding to jdo.properties
kodo.Log: log4j
and adding a log4j.properties file with the following:
log4j.rootCategory=WARN, console
log4j.category.kodo.jdbc.SQL=TRACE
log4j.category.kodo.jdbc.JDBC=TRACE
log4j.appender.console=org.apache.log4j.ConsoleAppender
could you advice me.
Marc Prud'hommeaux wrote:
Emmanuel-
An OptimisticVerficationException means that you are trying to update an
instance in the database, but that instance has been changed in between
the time when your instance was first obtained and the time at which you
try to commit the changes.
In order to track down why this is happening, you will usually do the
following:
1. Determine the failed object by calling
OptimisticVerficationException.getFailedObject. Printing this object out
in a debugging statement helps identify which instance has failed.
2. Enable TRACE-level SQL and JDBC logging and watch for other processes
that update that instance in the database.
3. Examine the SQL log for the last failed statement that was executed:
this will usually contain the lock column (e.g. "JDOVERSION") that is
being validated.
If you would like our assistance in determing exactly where the problem
is, please post the log with SQL and JDBC channels set to "TRACE", as
well as the complete stack trace from the exception.
In article <[email protected]>, Emmanuel wrote:
I am working with Kodo Jdo,
I trying to set the properties of a user objt and set it in the session
object to work with it in the different pages.
I have a UI form to modify the User properties and then call the
respective action update method.
public ActionForward update(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws NoUserSessionException {
ActionMessages messages = new ActionMessages();
PersistenceManager pm =
Utils.getPersistenceManagerFactory().getPersistenceManager();
User user = sessionUtils.getUser(pm, request); // get user from
the session object
if (validateFields(form, user, messages)) {
Transaction tx = pm.currentTransaction();
tx.begin();
form2model(form, user, pm); // move the values from form
to the user object
refreshUserSession(request, user); // update the session
with the user values.
tx.commit();
messages.add("success", new
ActionMessage("userPreferencesForm.message.operation.successfully"));
saveMessages(request, messages);
model2form(pm, user, form,request);
pm.close();
return mapping.findForward("form");
it work fine a couple of times , but once in the while when i try to get
the user in the session from the other pages I get a Exception when it
reach the excecution between the tx.begin and tx.commit of the update
method (above).
kodo.util.PtimisticVerificationException : There was 1 optimistic locking
error when flushing to the data store. This indicates that an object was
concurrently modified in another transaction. the exception in the nested
throwables array contains a failed object representing a concurrently
modified object.
can someone could tell me what can I do to solve the problem...
thanks in advance.
Marc Prud'hommeaux
SolarMetric Inc. -
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 -
Kodo.util.DataStoreException: Backend start-up failed: FATAL
when we do one test which concurrent users number is 800, there will cause
following exception:
kodo.util.DataStoreException: Backend start-up failed: FATAL: Sorry, too
many clients already
would you tell me what will cause the exception? and how to support more
concurrent users?yes, this is my configure error.
when we reduce the MaxActive number(kodo db con pool size must smaller
then the allowed DB connections number), then the error not happen.
thanks a lot.
Marc Prud'hommeaux wrote:
Is your database configured to allow 200 simultaneous connections (as
you have specified in the "MaxActive=200" parameter of the
"kodo.ConnectionFactoryProperties" property)? If not, can you reduce
this number down to the maximum allowed by your database, and let us
know if the error still happens?
In article <[email protected]>, flamingo wrote:
kodo.properties as following:
# Database connection properties
javax.jdo.option.ConnectionDriverName=org.postgresql.Driver
javax.jdo.option.ConnectionUserName=xxx
javax.jdo.option.ConnectionPassword=xxx
javax.jdo.option.ConnectionURL=jdbc:postgresql://localhost/skillsdb
javax.jdo.option.Optimistic=true
javax.jdo.option.RetainValues=false
javax.jdo.option.RestoreValues=false
javax.jdo.option.NontransactionalRead=true
javax.jdo.option.NontransactionalWrite=false
javax.jdo.option.IgnoreCache=true
javax.jdo.PersistenceManagerFactoryClass=kodo.jdbc.runtime.JDBCPersistenceManagerFactory
>>
kodo.LicenseKey=xxx
kodo.ConnectionFactoryProperties=MaxCachedStatements=0, MaxActive=200,
MaxWait=5000, TestOnBorrow=true, ValidationSQL="SELECT GETDATE()"
kodo.ConnectionRetainMode=transaction
kodo.DataCache=true(CacheSize=10000)
kodo.QueryCache=true(CacheSize=5000)
#kodo.FlushBeforeQueries=true
kodo.RemoteCommitProvider=sjvm
kodo.ManagedRuntime=TransactionManagerName=java:/TransactionManager
kodo.PersistenceManagerImpl=EvictFromDataCache=true
kodo.jdbc.DBDictionary=postgres(StoreCharsAsNumbers=false)
kodo.jdbc.MappingFactory=metadata
kodo.jdbc.SchemaFactory: file(FileName=schema.xml)
kodo.jdbc.SequenceFactory=PrimaryKeyColumn=PKX, SequenceColumn=SEQUENCEX,
TableName=JDO_SEQUENCEX
and I check codes, we had closed all extent iterators, query results, PMs,
etc.
thanks a lot.
Abe White wrote:
There aren't any nested exceptions? That's the only trace you see?
In any case, the message is from your JDBC driver, which is probablyrelaying it
directly from your database. It is not a Kodo error message; Kodo is
only
wrapping the SQLException in a subclass of JDOException. As Patricksuggested,
the error probably means that your database can't handle the number ofclients
you're throwing at it. One possible reason for this is that you aren'tfreeing
up connections. Can you post your kodo.properties? Under default
settings
Kodo
doesn't hold onto database connections much, but under certain settings
it
becomes more important to remember to close your extent iterators, query
results, PMs, etc.
Marc Prud'hommeaux
SolarMetric Inc. -
Kodo.jdbc.MappingFactory Null Pointer Exception
Hi I got a problem with the kodoworkbench.
I'm trying to save the mapping information into the .jdo file.
So I set
kodo.jdbc.MappingFactory=metadata
in my kodo.properties.
When I try to save the mapping information I get the following exceptions:
Seems that a string value is missing anywhere but i don't now where ?
Thanks
WARN -- Exception raised of type ERROR: java.lang.NullPointerException
java.lang.NullPointerException
at
kodo.jdbc.meta.MetaDataMappingFactory.addExtensions(MetaDataMappingFactory.java:253)
at
kodo.jdbc.meta.MetaDataMappingFactory.addMappingExtensions(MetaDataMappingFactory.java:219)
at
kodo.jdbc.meta.MetaDataMappingFactory.storeMappings(MetaDataMappingFactory.java:162)
at
kodo.jdbc.ide.meta.repos.SavingMappingInfoRepository.save(SavingMappingInfoRepository.java:50)
at
kodo.jdbc.ide.meta.repos.IdeMappingRepository.save(IdeMappingRepository.java:259)
at
kodo.jdbc.ide.meta.editor.MappingInfoTracker.save(MappingInfoTracker.java:53)
at
kodo.jdbc.ide.meta.editor.MappingInfoTracker.save(MappingInfoTracker.java:47)
at kodo.jdbc.ide.meta.editor.MappingEditor.save(MappingEditor.java:161)
at kodo.jdbc.ide.meta.editor.EditingPane.save(EditingPane.java:225)
at kodo.jdbc.ide.meta.editor.EditingPane.access$100(EditingPane.java:24)
at
kodo.jdbc.ide.meta.editor.EditingPane$1.actionPerformed(EditingPane.java:84)
at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
at javax.swing.AbstractButton.doClick(AbstractButton.java:269)
at
javax.swing.plaf.basic.BasicMenuItemUI$ClickAction.actionPerformed(BasicMenuItemUI.java:1073)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1530)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2438)
at
javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:658)
at
javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:666)
at
javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:666)
at javax.swing.JMenuBar.processKeyBinding(JMenuBar.java:642)
at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:253)
at
javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:240)
at
javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2515)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2507)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2401)
at java.awt.Component.processEvent(Component.java:4909)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1713)
at
java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:627)
at
java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:831)
at
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:741)
at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:592)
at java.awt.Component.dispatchEventImpl(Component.java:3506)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)Hi,
No, if I use the file factory I do not get the errors.
Here is the mapping info from an exported .mapping file.
The exception raises when I change the tablename to STUDENT and then I try
to save it.
I stopped working with the workbench and started editing the .mapping by
hand, because I get several NullPointerException without helpful exception
messages.
Thanks
<?xml version="1.0" encoding="UTF-8"?>
<mapping>
<package name="xxx.jdo.business">
<class name="Student">
<jdbc-class-map type="base" table="STUDENT"/>
<jdbc-version-ind type="version-number" column="JDOVERSION"/>
<jdbc-class-ind type="in-class-name" column="JDOCLASS"/>
<field name="hasTaken">
<jdbc-field-map type="blob" column="HASTAKEN"/>
</field>
<field name="xxx.jdo.business.Person.birthDate">
<jdbc-field-map type="value" column="BIRTHDATE"/>
</field>
<field name="xxx.jdo.business.Person.city">
<jdbc-field-map type="value" column="CITY"/>
</field>
<field name="xxx.jdo.business.Person.id">
<jdbc-field-map type="value" column="ID"/>
</field>
<field name="xxx.jdo.business.Person.kidNames">
<jdbc-field-map type="blob" column="KIDNAMES"/>
</field>
<field name="xxx.jdo.business.Person.location">
<jdbc-field-map type="one-one"
column.JDOID="LOCATION_JDOID"/>
</field>
<field name="xxx.jdo.business.Person.name">
<jdbc-field-map type="value" column="NAME0"/>
</field>
<field name="xxx.jdo.business.Person.picture">
<jdbc-field-map type="value" column="PICTURE"/>
</field>
<field name="xxx.jdo.business.Person.state">
<jdbc-field-map type="value" column="STATE"/>
</field>
<field name="xxx.jdo.business.Person.street">
<jdbc-field-map type="value" column="STREET"/>
</field>
<field name="xxx.jdo.business.Person.zipcode">
<jdbc-field-map type="value" column="ZIPCODE"/>
</field>
</class>
</package>
</mapping>
Marc Prud'hommeaux wrote:
Katze-
If you use the "file" mapping factory, do you get the same error? Also,
can you provide any details about the mappings you are trying to create
(e.g., what is the inheritance strategy, etc)?
In article <[email protected]>, katze felix wrote:
Hi I got a problem with the kodoworkbench.
I'm trying to save the mapping information into the .jdo file.
So I set
kodo.jdbc.MappingFactory=metadata
in my kodo.properties.
When I try to save the mapping information I get the following exceptions:
Seems that a string value is missing anywhere but i don't now where ?
Thanks
WARN -- Exception raised of type ERROR: java.lang.NullPointerException
java.lang.NullPointerException
at
kodo.jdbc.meta.MetaDataMappingFactory.addExtensions(MetaDataMappingFactory.java:253)
>>
at
kodo.jdbc.meta.MetaDataMappingFactory.addMappingExtensions(MetaDataMappingFactory.java:219)
>>
at
kodo.jdbc.meta.MetaDataMappingFactory.storeMappings(MetaDataMappingFactory.java:162)
>>
at
kodo.jdbc.ide.meta.repos.SavingMappingInfoRepository.save(SavingMappingInfoRepository.java:50)
>>
at
kodo.jdbc.ide.meta.repos.IdeMappingRepository.save(IdeMappingRepository.java:259)
>>
at
kodo.jdbc.ide.meta.editor.MappingInfoTracker.save(MappingInfoTracker.java:53)
>>
at
kodo.jdbc.ide.meta.editor.MappingInfoTracker.save(MappingInfoTracker.java:47)
>>
at kodo.jdbc.ide.meta.editor.MappingEditor.save(MappingEditor.java:161)
at kodo.jdbc.ide.meta.editor.EditingPane.save(EditingPane.java:225)
at kodo.jdbc.ide.meta.editor.EditingPane.access$100(EditingPane.java:24)
at
kodo.jdbc.ide.meta.editor.EditingPane$1.actionPerformed(EditingPane.java:84)
>>
at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
>>
at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
>>
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
at javax.swing.AbstractButton.doClick(AbstractButton.java:269)
at
javax.swing.plaf.basic.BasicMenuItemUI$ClickAction.actionPerformed(BasicMenuItemUI.java:1073)
>>
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1530)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2438)
at
javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:658)
at
javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:666)
at
javax.swing.JMenuBar.processBindingForKeyStrokeRecursive(JMenuBar.java:666)
at javax.swing.JMenuBar.processKeyBinding(JMenuBar.java:642)
at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:253)
at
javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:240)
at
javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2515)
>>
at javax.swing.JComponent.processKeyBindings(JComponent.java:2507)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2401)
at java.awt.Component.processEvent(Component.java:4909)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1713)
>>
at
java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:627)
>>
at
java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:831)
>>
at
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:741)
>>
at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:592)
>>
at java.awt.Component.dispatchEventImpl(Component.java:3506)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
>>
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
>>
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Marc Prud'hommeaux
SolarMetric Inc. -
FatalDataStoreException: null
Hello,
I have a session bean which simply loops over an extent and then updates
all the objects.
I deploy the session bean on a SunAS 8.1. when I run the bean as BMT and
get the UserTransaction manually from the AS I have no problem what so
ever.
However if I use CMT then I get the following exception on commit time:
Can you help me, do you have an idea what problems may cause this
exception?
kodo.util.FatalDataStoreException: null
at
kodo.runtime.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:977)
at
com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:137)
at
com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:56)
at
com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:120)
at
com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2483)
at
com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:240)
at
com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:211)
at
com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:585)
at
com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:254)
at
com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:918)
at
com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:362)
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2732)
at
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
at
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
at $Proxy20.calculateBijdrages(Unknown Source)
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:585)
at
com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
at
com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
NestedThrowablesStackTrace:
com.sun.enterprise.InvocationException
at
com.sun.enterprise.resource.ResourceManagerImpl.getTransaction(ResourceManagerImpl.java:41)
at
com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:141)
at
com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:268)
at
com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:147)
at
com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:122)
at com.sun.gjc.spi.DataSource.getConnection(DataSource.java:70)
at
com.solarmetric.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:122)
at
com.solarmetric.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:73)
at
kodo.jdbc.runtime.JDBCStoreManager.connectInternal(JDBCStoreManager.java:906)
at
kodo.jdbc.runtime.JDBCStoreManager.connect(JDBCStoreManager.java:884)
at
kodo.jdbc.runtime.JDBCStoreManager.retainConnection(JDBCStoreManager.java:189)
at
kodo.jdbc.runtime.JDBCStoreManager.begin(JDBCStoreManager.java:114)
at
kodo.runtime.DelegatingStoreManager.begin(DelegatingStoreManager.java:95)
at
kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:1106)
at
kodo.runtime.PersistenceManagerImpl.flushSafe(PersistenceManagerImpl.java:1038)
at
kodo.runtime.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:965)
at
com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:137)
at
com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:56)
at
com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:120)
at
com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2483)
at
com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:240)
at
com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:211)
at
com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:585)
at
com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:254)
at
com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:918)
at
com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:362)
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2732)
at
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
at
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
at $Proxy20.calculateBijdrages(Unknown Source)
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:585)
at
com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
at
com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
|#]
[#|2005-05-31T12:17:33.856+0200|FINE|sun-appserver-pe8.1_01|javax.enterprise.resource.resourceadapter|_ThreadID=13;|Pool:
transactionCompleted: 1|#]
[#|2005-05-31T12:17:33.856+0200|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.container.ejb|_ThreadID=13;|EJB5018:
An exception was thrown during an ejb invocation on [VorderingManager]|#]
[#|2005-05-31T12:17:33.856+0200|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.container.ejb|_ThreadID=13;|
javax.ejb.EJBException: Transaction aborted; nested exception is:
javax.transaction.RollbackException
javax.transaction.RollbackException
at
com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:256)
at
com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:918)
at
com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:362)
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2732)
at
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
at
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
at $Proxy20.calculateBijdrages(Unknown Source)
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:585)
at
com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
at
com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
javax.ejb.EJBException: Transaction aborted; nested exception is:
javax.transaction.RollbackException
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2737)
at
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
at
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
at $Proxy20.calculateBijdrages(Unknown Source)
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:585)
at
com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
at
com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)For what it's worth, PM.flush() is standardized in JDO2, so it will be
an official API in the near future.
-Patrick
Niels Soeffers wrote:
Hello,
Your workaround is succesfull, It works when I cast to
KodoPersistenceManager. However I would like to stick to the JDO standard
API. Is there any other way I can work around this problem using the
standard JDO API? (I already tried to do a makePersistent call on my
modified object but this won't work).
Thanks in advance,
Kind Regards,
Niels Soeffers
Stephen Kim wrote:
Does this problem persist if you call KodoPersistenceManager.flush ()
before the end of your bean method?
Niels Soeffers wrote:
Hello,
I have a session bean which simply loops over an extent and then updates
all the objects.
I deploy the session bean on a SunAS 8.1. when I run the bean as BMT and
get the UserTransaction manually from the AS I have no problem what so
ever.
However if I use CMT then I get the following exception on commit time:
Can you help me, do you have an idea what problems may cause this
exception?
kodo.util.FatalDataStoreException: null
at
kodo.runtime.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:977)
at
com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:137)
at
com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:56)
at
com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:120)
at
com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2483)
at
com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:240)
at
com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:211)
at
com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:585)
at
com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:254)
at
com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:918)
at
com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:362)
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2732)
at
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
at
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
at $Proxy20.calculateBijdrages(Unknown Source)
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:585)
at
com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
at
com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
NestedThrowablesStackTrace:
com.sun.enterprise.InvocationException
at
com.sun.enterprise.resource.ResourceManagerImpl.getTransaction(ResourceManagerImpl.java:41)
at
com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:141)
at
com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:268)
at
com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:147)
at
com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:122)
at com.sun.gjc.spi.DataSource.getConnection(DataSource.java:70)
at
com.solarmetric.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:122)
at
com.solarmetric.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:73)
at
kodo.jdbc.runtime.JDBCStoreManager.connectInternal(JDBCStoreManager.java:906)
at
kodo.jdbc.runtime.JDBCStoreManager.connect(JDBCStoreManager.java:884)
at
kodo.jdbc.runtime.JDBCStoreManager.retainConnection(JDBCStoreManager.java:189)
at
kodo.jdbc.runtime.JDBCStoreManager.begin(JDBCStoreManager.java:114)
at
kodo.runtime.DelegatingStoreManager.begin(DelegatingStoreManager.java:95)
at
kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:1106)
at
kodo.runtime.PersistenceManagerImpl.flushSafe(PersistenceManagerImpl.java:1038)
at
kodo.runtime.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:965)
at
com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:137)
at
com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:56)
at
com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:120)
at
com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2483)
at
com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:240)
at
com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:211)
at
com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:585)
at
com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:254)
at
com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:918)
at
com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:362)
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2732)
at
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
at
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
at $Proxy20.calculateBijdrages(Unknown Source)
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:585)
at
com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
at
com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
|#]
[#|2005-05-31T12:17:33.856+0200|FINE|sun-appserver-pe8.1_01|javax.enterprise.resource.resourceadapter|_ThreadID=13;|Pool:
transactionCompleted: 1|#]
[#|2005-05-31T12:17:33.856+0200|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.container.ejb|_ThreadID=13;|EJB5018:
An exception was thrown during an ejb invocation on [VorderingManager]|#]
[#|2005-05-31T12:17:33.856+0200|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.container.ejb|_ThreadID=13;|
javax.ejb.EJBException: Transaction aborted; nested exception is:
javax.transaction.RollbackException
javax.transaction.RollbackException
at
com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:256)
at
com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:918)
at
com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:362)
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2732)
at
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
at
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
at $Proxy20.calculateBijdrages(Unknown Source)
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:585)
at
com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
at
com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
javax.ejb.EJBException: Transaction aborted; nested exception is:
javax.transaction.RollbackException
at
com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2737)
at
com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
at
com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
at
com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
at $Proxy20.calculateBijdrages(Unknown Source)
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:585)
at
com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
at
com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)>
at
com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at
com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
at
com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com
Maybe you are looking for
-
Love my Passport - what a workhorse (and it's great to be running on battery during midnight meetings while all of my co-workers have to check iPhones plugged in across the room). I've got some minor issues though, none of which individually affects
-
Hi All I have created a pdf through spool, and the list is having output in ALV. The columns in ALV are 11 where as I am getting only 9 columns in pdf attachment. Can anyone suggest any solution to get all the 11 columns in pdf attachment. Thanks in
-
Is there a way to delete extra characters in a StringBuffer after the first occurance? For example, if I wanted to delete all comma's after the first occurance in a string, this seems to work: if(custName.lastIndexOf(",") > custName.indexOf
-
Error during installing Solution Manager at step 18 of 25 (import ABAP)
During installing Solution Manager, I got following errors and can't compleate installing. ========================== ERROR 2007-02-15 11:05:22 CJS-30022 Program 'Migration Monitor' exits with error code 2. For details see log file(s) import_monitor
-
I would like to make a form where I can type a word and it would replace it in the form
Hello, I am looking to create a coverpage for a 150 page project document. I have the document written already, but would like the ability to make a cover page where I or someone else could fill in the projects location, company name and have those