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.

Similar Messages

  • 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?
    Doug

    This error was a side effect of the problem I had in my previous post
    regarding sequences and application identity. It is now resolved.
    Thanks
    Stephen Kim wrote:
    Does Person use application identity? Can you post the Persion's id class?
    Doug Emerald wrote:
    I should amend this, the error is on the tx.commit() call.
    Doug Emerald wrote:
    I have a method that is trying to save multiple objects:
    public void go()
    tx.begin();
    for (int i = 0; i < 10; i++) {
    Person p = new Person();
    p.setForename("doug");
    p.setSurname("emerald");
    p.setGender("m");
    p.setBirthdate(new Date());
    pm.makePersistent(p);
    ((KodoPersistenceManager) pm).flush();
    tx.commit();
    After calling close() on the PersistenceManager and Factory I get this
    error:
    Exception in thread "main" kodo.util.FatalInternalException: 0 ::
    0:kodo.runtime.PNonTransState@15f7107 ::
    0:kodo.runtime.PNonTransState@15f7107
    at
    kodo.runtime.PersistenceManagerImpl.setStateManager(PersistenceManagerImpl.java:2923)
    >>
    at kodo.runtime.StateManagerImpl.commit(StateManagerImpl.java:680)
    at
    kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.java:907)
    >>
    at
    kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:679)
    >>
    at
    kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
    at
    kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:422)
    at JDOPerf.go(JDOPerf.java:67)
    at JDOPerf.<init>(JDOPerf.java:33)
    at JDOPerf.main(JDOPerf.java:16)
    What could be causing this error?
    Doug
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com

  • Kodo.util.FatalDataStoreException: java.util.NoSuchElementException

    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".

  • Class kodo.util.ObjectNotFoundException

    Hi,
    I'm getting this exception when running my application
    class kodo.util.ObjectNotFoundException
    The instance of type "com.jario.server.entitymodel.EntityLocation" with oid
    "com.jario.server.entitymodel.EntityLocation-753" no longer exists in the
    data store. This may mean that you deleted the instance in a separate
    persistence manager, but this persistence manager still has a cached
    version.
    kodo.runtime.StateManagerImpl.loadFields(StateManagerImpl.java:2667)
    kodo.runtime.StateManagerImpl.loadField(StateManagerImpl.java:2744)
    kodo.runtime.StateManagerImpl.isLoaded(StateManagerImpl.java:1116)
    com.jario.server.entitymodel.EntityLocation.jdoGetfileStorageType(EntityLoca
    tion.java)
    But the object is the in database with JDOID 753.
    When I restart the instance It finds it no bother.
    I'm running Kodo 3.0.1 Ent. (Licenced)
    Why is this happening?
    Kind Regards
    Graham Cruickshanks

    Kodo 3.0.2 seems to have fixed this issue.
    Cheers
    Graham Cruickshanks
    "Graham Cruickshanks" <[email protected]> wrote in message
    news:buqr0f$7qk$[email protected]..
    >
    "Abe White" <[email protected]> wrote in message
    news:buq0t4$kg9$[email protected]..
    Are you using the data cache?No, Kodo.properties are as follows
    javax.jdo.PersistenceManagerFactoryClass:
    kodo.jdbc.runtime.JDBCPersistenceManagerFactory
    kodo.LicenseKey: <REMOVED>
    kodo.PersistenceManagerImpl: CloseOnManagedCommit=true
    kodo.jdbc.SequenceFactory: PrimaryKeyColumn=PKX, SequenceColumn=SEQUENCEX,
    TableName=JDO_SEQUENCEX
    kodo.FlushBeforeQueries: true
    javax.jdo.option.IgnoreCache: false
    javax.jdo.option.ConnectionDriverName: com.mysql.jdbc.Driver
    javax.jdo.option.ConnectionPassword:
    javax.jdo.option.ConnectionURL:
    jdbc:mysql://localhost/JarioServer?autoReconnect=true
    javax.jdo.option.ConnectionUserName: JarioServer
    kodo.jdbc.DBDictionary: mysql(StoreCharsAsNumbers=false, TableType=InnoDB)
    Have you possibly deleted the object and flushed within the same
    transaction?I have no delete actions this part of my application, so this is an
    impossablity
    If you enable SQL logging, you can see the last SELECT statement that is
    failing. What happens if you run this against your DB directly?I'm experiencing other problems than just the listed error. I'mexperiencing
    sporadic null pointer exceptions on call's that should return values from
    the database.
    The SQL trace shows the 'Select' query has been done, and if I try running
    this with direct SQL to database it returns results. The results in the
    tables where this happens have not be written too since applicationstartup.
    so i can't be a flushing/datacache error.
    The database & driver has not changed from KODO 2.x which worked fine.
    Details
    Database: 4.10.13-nt
    Driver: mysql-connector-java-3.0.9-stable-bin.jar (Tried 3.0.10 as well,
    same issue)
    Java version: 1.4.2_01-b06
    Kodo: 3.0.1

  • Com.solarmetric.kodo.util.ImplHelper.getPersistentClasses(ImplHelper.java:46)

    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.UnsupportedException: null

    Hello,
    Now I'm getting further. I was able to persist my objects!
    However, I have an error regarding NamedQuery.
    Here is the error:
    Exception in thread "main" <3|true|4.0.0EA3>
    kodo.util.UnsupportedException: null
         at
    kodo.query.ExpressionStoreQuery.executeUpdate(ExpressionStoreQuery.java:232)
         at
    kodo.query.ExpressionStoreQuery$DataStoreExecutor.executeUpdate(ExpressionStoreQuery.java:588)
         at
    kodo.query.ExpressionStoreQuery$DataStoreExecutor.executeUpdate(ExpressionStoreQuery.java:598)
         at kodo.query.QueryImpl.update(QueryImpl.java:1223)
         at kodo.query.QueryImpl.execute(QueryImpl.java:950)
         at kodo.query.QueryImpl.updateAll(QueryImpl.java:1005)
         at kodo.query.DelegatingQuery.updateAll(DelegatingQuery.java:812)
         at kodo.persistence.QueryImpl.executeUpdate(QueryImpl.java:300)
         at com.dalitest.ClientsDAO.updateClient(ClientsDAO.java:35)
    The error is cryptic as well.
    It happens for this code:
    public int updateClient(EntityManager em, Client c)
    Query q = em.createNamedQuery("UpdateClient");
    //q.setParameter("newName", c.getName());
    q.setParameter("cId", c.getId());
    return q.executeUpdate();
    And for my Client class I have (snipped):
    @NamedQueries( {
    @NamedQuery(name = "UpdateClient", queryString = "UPDATE Client c SET
    c.name=:newName WHERE c.id=:cId"),
    @NamedQuery(name = "DeleteClient", queryString = "DELETE from Client c
    WHERE c.id=:cId") })
    @Entity(access = AccessType.PROPERTY)
    @Table(name = "DALI_CLIENTS")
    public class Client {...}
    In case I do uncomment q.setParameter("newName", c.getName());
    The following exception is thrown:
    Exception in thread "main" <4|false|4.0.0EA3>
    kodo.persistence.ArgumentException: More parameters were passed to
    execute() than were declared: {1} parameters were specific for query
    execution, but only {0} parameters were declared in the query.
         at kodo.query.QueryImpl.assertParameters(QueryImpl.java:1871)
         at kodo.query.QueryImpl.execute(QueryImpl.java:941)
         at kodo.query.QueryImpl.updateAll(QueryImpl.java:1005)
         at kodo.query.DelegatingQuery.updateAll(DelegatingQuery.java:812)
         at kodo.persistence.QueryImpl.executeUpdate(QueryImpl.java:300)
         at com.dalitest.ClientsDAO.updateClient(ClientsDAO.java:35)
    Can anyone point me what is wrong with my update query?

    Abe White wrote:
    Thanks Abe for the information.
    How do I have to proceed then with my updates at the moment? Do you have
    any suggestions (besides waiting for the next release)?
    Update the objects individually, or use SQL. Kodo allows you to access
    the JDBC connection:>
    http://solarmetric.com/Software/Documentation/4.0.0EA/docs/full/html/ref_guide_dbsetup_sqlconn.html
    Thanks for the suggestions. SQL is not an option, since it will defeat the
    purpose of the EJB3-persistence.
    But can you elaborate more on the "Update the objects individually"
    approach.
    Let's say I have persistent Java bean Client and I changed some of its
    properties (e.g. myClient.setName("New Name");)
    How do I persiste it "individually"?
    This approach does not work:
    EntityTransaction t = em.getTransaction();
    t.begin();
    List<Client> pClients = new ClientsDAO().getAllClients(em);
    for (Client pClient : pClients)
    pClient.setName("New Name");
    em.persist(pClient);
    t.commit();
    It throws error on t.commit();
    <2|false|4.0.0EA3> kodo.util.OptimisticException: An optimistic lock violation
    was detected when flushing object instance
    "kodo.synthetic.com.dalitest.ClientKodoSyntheticSubclass-id-3" to the data
    store. This indicates that the object was concurrently modified in another
    transaction.
    FailedObject: kodo.synthetic.com.dalitest.ClientKodoSyntheticSubclass-id-3
         at
    kodo.jdbc.kernel.PreparedStatementManager.checkUpdate(PreparedStatementManager.java:358)
         at
    kodo.jdbc.kernel.PreparedStatementManager.executeBatch(PreparedStatementManager.java:291)
         at
    kodo.jdbc.kernel.PreparedStatementManager.flushInternal(PreparedStatementManager.java:243)
         at
    kodo.jdbc.kernel.PreparedStatementManager.flush(PreparedStatementManager.java:206)
         at kodo.jdbc.kernel.UpdateManagerImpl.flush(UpdateManagerImpl.java:217)
         at kodo.jdbc.kernel.UpdateManagerImpl.flush(UpdateManagerImpl.java:94)
         at kodo.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:557)
         at
    kodo.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:151)
         at kodo.kernel.BrokerImpl.flush(BrokerImpl.java:2034)
         at kodo.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1893)
         at kodo.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1819)
         at kodo.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:67)
         at kodo.kernel.BrokerImpl.commit(BrokerImpl.java:1426)
         at kodo.kernel.DelegatingBroker.commit(DelegatingBroker.java:1145)
         at kodo.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:420)
         at com.dalitest.Test.main(Test.java:55)

  • Kodo.util.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)

  • 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
    --Bruno

    Marc,
    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 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,
    Pascal

    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,
    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.

  • FatalInternalException The metadata for type "XYZ" did not come from a file,.....

    Hy !
    Did KODO have Problems if there is a mix of jdo metadata files in
    build.dir and in external jar's while registering a Schema with the
    MappingToolTask ?
    We extracting all *.jdo files from additional jars to a metadata dir and
    also copying all *.jdo files from the current build.dir, because KODO
    only supports a single Fileset for the Metadatafiles.
    The Ant Schema Task looks like:
    <target name="schema-create-kodo" depends="init-kodo-schematool">
         <echo message="Schema Create for KODO"/>
         <taskdef name="kodo-schematool"
              classname="kodo.jdbc.ant.MappingToolTask"
              classpathRef="jdo.schematool.class.path"/>
         <kodo-schematool action="refresh">
         <config propertiesFile="${zeus.persistence.jdo.properties}"/>
         <fileset dir="${jdo.metadata.dir}">
              <include name="**/*.jdo" />
         </fileset>
         <classpath>
              <pathelement path="${compile.project.class.path}"/>
         </classpath>
         </kodo-schematool>
    </target>
    jdo.schematool.class.path: is the Path for the KODO Schematool
    zeus.persistence.jdo.properties: ist the kodo.properties file
    jdo.metadata.dir: is the dir with all metadatafiles
    compile.project.class.path: is the classpath including a build.dir with
    class files + metadatfiles and differnet additional jar files containing
    also enhanced classes with corresponding metadata files
    and that fails with:
    [kodo-schematool] kodo.util.FatalInternalException: The metadata for
    type "class com.wuerth.phoenix.bcserver.base.versan
    t.PCapacityStruct" did not come from a file, and therefore we cannot
    determine where to place the corresponding mapping
    information. If you are using metadata from a jar or other resource,
    you should use one of the other available mapping
    factories.
    com.wuerth.phoenix.bcserver.base.versant.PCapacityStruct comes from a
    jar which also contains a metadatafile.
    We are wondering because if we exlicit give a different metadata file
    via a fileset the Schematool should ignore the other Metadata files
    inside the jar + build.dir !?
    mfg
    Christian

    The only Apple computers that have a Mag Safe connector are MacBook laptops (MacBook, MacBook Pro and MacBook Air).
    The Mac mini 2010 and 2011 models have a standard power connector, I believe it is called an IEC C7 connector. You can see a picture of the back of the Mac mini here http://www.apple.com/macmini/design.html
    Older Mac mini models prior to 2010 have a proprietary connector. While the following page is for a very old PowerPC Mac mini the connector is the same on early Intel Mac mini models as well. See http://support.apple.com/kb/HT3019

  • Kodo JCA in WebSphere 5.1

    Hello!
    I am packaging the Kodo 3.2.2 JCA RAR inside my EAR and deploy it to
    WebSphere 5.1.0. During the first use of JDO in my application, Kodo
    wants to find the application servers Transaction Manager to integrate
    with the J2EE transaction. While this obviously works in WebSphere
    Application Server 5.0, Kodo fails to "guess" the TransactionManager in
    5.1.0. The output I get is:
    ==========
    java.rmi.RemoteException: ; nested exception is:
         kodo.util.FatalInternalException: Could not perform automatic
    lookup of EJB container's javax.transaction.TransactionManager
    implementation. Please ensure that you are running the application from
    within an EJB 1.1 compliant EJB container, and then set the
    kodo.ManagedRuntime property to the appropriate value to obtain the
    TransactionManager.
    NestedThrowables:
    javax.naming.NameNotFoundException: Context:
    bes724/nodes/bes724/servers/server1, name:
    javax.transaction.TransactionManager: First component in name
    javax.transaction.TransactionManager not found. [Root exception is
    org.omg.CosNaming.NamingContextPackage.NotFound:
    IDL:omg.org/CosNaming/NamingContext/NotFound:1.0]
    javax.naming.NameNotFoundException: Name not found in context "java:".
    javax.naming.NameNotFoundException: Name not found in context "java:".
    javax.naming.NameNotFoundException: Name comp/pm not found in context
    "java:".
    javax.naming.NameNotFoundException: Name "comp/TransactionManager" not
    found in context "java:".
    javax.naming.NameNotFoundException: Name pm not found in context "java:".
    java.lang.ClassNotFoundException: com.arjuna.jta.JTA_TransactionManager
    java.lang.ClassNotFoundException:
    com.bluestone.jta.SaTransactionManagerFactory
    java.lang.ClassNotFoundException: com.ibm.ejs.jts.jta.JTSXA
    java.lang.ClassNotFoundException:
    com.ibm.ejs.jts.jta.TransactionManagerFactory
    java.lang.ClassNotFoundException: org.openejb.OpenEJB
    java.lang.ClassNotFoundException: com.sun.jts.jta.TransactionManagerImpl
    java.lang.ClassNotFoundException:
    com.inprise.visitransact.jta.TransactionManagerImpl
    java.lang.ClassNotFoundException: com.sun.enterprise.Switch
         at
    com.ibm.ejs.container.RemoteExceptionMappingStrategy.setUncheckedExceptio
    n(RemoteExceptionMappingStrategy.java:196)
         at com.ibm.ejs.container.EJSDeployedSupport.setUncheckedException
    (EJSDeployedSupport.java:296)
    ==========
    My ManagedRuntime property still defaults to "auto".
    What is going on here? Has IBM changed the class/package that implements
    the TransactionManager?
    I have seen that a class com.ibm.ws.Transaction.TransactionManagerFactory
    exists. Should I implement kodo.ee.ManagedRuntime as a wrapper of the
    com.ibm.ws.Transaction.TransactionManagerFactory and name my
    implementation in the ManagedRuntime property?
    If anyone has done such a thing before, I'd be happy to have an
    example...
    Thanks in advance for any help!
    Carsten

    This is odd as we have tested against 5.1.
    Can you try sett the ManagedRuntime property explicitly to:
    invocation("TransactionManagerMethod=com.ibm.ws.Transaction.TransactionManagerFactory.getTransactionManager")
    Are you running in any non-standard environment (i.e. inside WSAD or
    something)?
    Carsten Jahn wrote:
    Hello!
    I am packaging the Kodo 3.2.2 JCA RAR inside my EAR and deploy it to
    WebSphere 5.1.0. During the first use of JDO in my application, Kodo
    wants to find the application servers Transaction Manager to integrate
    with the J2EE transaction. While this obviously works in WebSphere
    Application Server 5.0, Kodo fails to "guess" the TransactionManager in
    5.1.0. The output I get is:
    ==========
    java.rmi.RemoteException: ; nested exception is:
         kodo.util.FatalInternalException: Could not perform automatic
    lookup of EJB container's javax.transaction.TransactionManager
    implementation. Please ensure that you are running the application from
    within an EJB 1.1 compliant EJB container, and then set the
    kodo.ManagedRuntime property to the appropriate value to obtain the
    TransactionManager.
    NestedThrowables:
    javax.naming.NameNotFoundException: Context:
    bes724/nodes/bes724/servers/server1, name:
    javax.transaction.TransactionManager: First component in name
    javax.transaction.TransactionManager not found. [Root exception is
    org.omg.CosNaming.NamingContextPackage.NotFound:
    IDL:omg.org/CosNaming/NamingContext/NotFound:1.0]
    javax.naming.NameNotFoundException: Name not found in context "java:".
    javax.naming.NameNotFoundException: Name not found in context "java:".
    javax.naming.NameNotFoundException: Name comp/pm not found in context
    "java:".
    javax.naming.NameNotFoundException: Name "comp/TransactionManager" not
    found in context "java:".
    javax.naming.NameNotFoundException: Name pm not found in context "java:".
    java.lang.ClassNotFoundException: com.arjuna.jta.JTA_TransactionManager
    java.lang.ClassNotFoundException:
    com.bluestone.jta.SaTransactionManagerFactory
    java.lang.ClassNotFoundException: com.ibm.ejs.jts.jta.JTSXA
    java.lang.ClassNotFoundException:
    com.ibm.ejs.jts.jta.TransactionManagerFactory
    java.lang.ClassNotFoundException: org.openejb.OpenEJB
    java.lang.ClassNotFoundException: com.sun.jts.jta.TransactionManagerImpl
    java.lang.ClassNotFoundException:
    com.inprise.visitransact.jta.TransactionManagerImpl
    java.lang.ClassNotFoundException: com.sun.enterprise.Switch
         at
    com.ibm.ejs.container.RemoteExceptionMappingStrategy.setUncheckedExceptio
    n(RemoteExceptionMappingStrategy.java:196)
         at com.ibm.ejs.container.EJSDeployedSupport.setUncheckedException
    (EJSDeployedSupport.java:296)
    ==========
    My ManagedRuntime property still defaults to "auto".
    What is going on here? Has IBM changed the class/package that implements
    the TransactionManager?
    I have seen that a class com.ibm.ws.Transaction.TransactionManagerFactory
    exists. Should I implement kodo.ee.ManagedRuntime as a wrapper of the
    com.ibm.ws.Transaction.TransactionManagerFactory and name my
    implementation in the ManagedRuntime property?
    If anyone has done such a thing before, I'd be happy to have an
    example...
    Thanks in advance for any help!
    Carsten--
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com

Maybe you are looking for

  • How can I print web pages with HP psc 2175 printer?

    Hi, I'm having difficulty printing web pages with my HP psc 2175 printer. The printer spits out many pages before the actual page I want printed and then at times it doesn't print all of the section desired. In fact, when I copied one page the other

  • How can I delete a row in access using the database toolkit?

    I want to delete just one row of a access table using the database toolkit. Can it be done and if so How?

  • Error while loading external data using Business Content

    Hi, I am new to BW and I'm stuck up with this problem. I'm trying to load data from external file using business content cube(0PUR_C01)and infosources(2LIS_02_ITM/S012/SCL). I first installed the above mentioned cube and data sources. Then I activate

  • Ripple Training Video says I can "Share" (export) to Blu-Ray (PS3)

    I'm successfully exporting HD video from Final Cut Pro 7.0 to MP4 H.264 for streaming on PS3. As you know, this workflow locks up Final Cut Pro until it's done. Then I serve the video using PS3 Media Server. I'd prefer to use Compressor to handle thi

  • Exporting issue

    Long time lurker first time poster. You guys have solved almost every problem I've ever had with FCP. I've been searching for an exact answer and honestly I'm sick so I don't feel like reading through a ton of close answers to find exactly what I nee