Can I please ask you to create a new Jira issue and attach all relevant files 
to it (JDO configuration, mapping, domain classes, ...). Having said that, can 
I please ask you to not ship a web application, but to create a JUnit test that 
basically mimics a very basic test scenario of your real application.

Werner

> -----Ursprüngliche Nachricht-----
> Von: Gonzalo Abollado [mailto:[EMAIL PROTECTED]
> Gesendet: Montag, 16. April 2007 10:45
> An: dev@castor.codehaus.org
> Betreff: RE: [castor-dev] Ehcache basic configuration
> 
> Hello Werner,
> 
> Thanks a lot for your fast answer...
> 
> You are right, the EHCache has to be in the class path, I change it there
> but still I get the same result. Here is the output log, there you can see
> the only error is the PresitenceException after the update:
> 
> 16 abr 2007 00:04:08.249 [INFO] [http-8080-Processor25]
> [org.exolab.castor.mapping.Mapping] - Loading mapping descriptors from
> mapping.xml
> 16 abr 2007 00:04:08.419 [INFO] [http-8080-Processor25]
> [org.castor.mapping.MappingUnmarshaller] - Loading mapping descriptors
> from
> mapping/User.xml
> 16 abr 2007 00:04:08.619 [INFO] [http-8080-Processor25]
> [org.castor.mapping.MappingUnmarshaller] - Loading mapping descriptors
> from
> mapping/Category.xml
> 16 abr 2007 00:04:08.629 [INFO] [http-8080-Processor25]
> [org.castor.mapping.MappingUnmarshaller] - Loading mapping descriptors
> from
> mapping/Content.xml
> 16 abr 2007 00:04:08.639 [INFO] [http-8080-Processor25]
> [org.castor.mapping.MappingUnmarshaller] - Loading mapping descriptors
> from
> mapping/Library.xml
> 16 abr 2007 00:04:08.649 [INFO] [http-8080-Processor25]
> [org.castor.mapping.MappingUnmarshaller] - Loading mapping descriptors
> from
> mapping/Link.xml
> 16 abr 2007 00:04:08.659 [INFO] [http-8080-Processor25]
> [org.castor.mapping.MappingUnmarshaller] - Loading mapping descriptors
> from
> mapping/UserContent.xml
> 16 abr 2007 00:04:08.669 [INFO] [http-8080-Processor25]
> [org.castor.mapping.MappingUnmarshaller] - Loading mapping descriptors
> from
> mapping/Configuration.xml
> 
> No timestamp information for object com.mbook.base.UserBase with identity
> <2(2)> available in cache (anymore).
> 16 abr 2007 00:04:32.524 [ERROR] [http-8080-Processor24]
> [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/mbookdev]
> .[
> jsp]] - Servlet.service() para servlet jsp lanzó excepción
> org.exolab.castor.jdo.PersistenceException: No timestamp information for
> object com.mbook.base.UserBase with identity <2(2)> available in cache
> (anymore).
>       at
> org.exolab.castor.persist.ClassMolder.update(ClassMolder.java:888)
>       at org.exolab.castor.persist.LockEngine.update(LockEngine.java:685)
>       at
> org.castor.persist.AbstractTransactionContext.markUpdate(AbstractTransacti
> on
> Context.java:913)
>       at..........................
> 
> 
> 
> I´m doing a simple test operation where I modify a UserBase object right
> after I load it. Here is the update code in the JSP.
> 
>       UserBase user = null;
>       String nombre = null;
> 
>       nombre = request.getParameter("nombre");
> 
>       user = UserBase.load(new Integer(2));
> 
> 
>       if(nombre != null && !nombre.trim().equals(""))
>       {
>               user.setName(nombre);
>               user.setToUpdate();
>               user.update();
>       }
> 
> 
> 
> I have the Castor code wrapped in some classes but you can see how I just
> load the Object and modify it in only two fast operations. If I don't
> modify
> the object It's there and I can use it with out any error. Also, If I take
> of the <cache-type type="ehcache"/> from the mapping file, it works fine.
> 
> It't the first time I use EHCache so I'm not sure of this but it's looks
> like you have to create a cache definition, there are some examples in the
> ehcache.xml:
> 
> <cache name="myCacheTest"
>    maxElementsInMemory="10000"
>    eternal="false"
>    timeToIdleSeconds="100"
>    timeToLiveSeconds="100"
>    overflowToDisk="false">
>    <cacheEventListenerFactory
> class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"/>
> </cache>
> 
> Does Castor need a specific definition there?
> 
> Also, running:
> java -jar ehcache-1.2.4-remote-debugger.jar ehcache.xml myCacheTest
> 
> It should give you some information about it. But you need to indicate the
> cache name to show the info.
> 
> Any more ideas?
> 
> Thanks a lot and best regards,
> Gonzalo Abollado.
> 
> 
> 
> 
> 
> 
> -----Mensaje original-----
> De: Werner Guttmann [mailto:[EMAIL PROTECTED]
> Enviado el: lunes, 16 de abril de 2007 8:47
> Para: dev@castor.codehaus.org
> Asunto: AW: [castor-dev] Ehcache basic configuration
> 
> As far as I can tell, the EHCache config file (ehcache.xml) should go into
> WEB-INF/classes, as EHCache expects its configuration to be on the
> CLASSPATH. Other than that, everything looks fine to me.
> 
> The Castor error message you are getting simply indicates that (during an
> update operation, i.e. a re-attachement) Castor is not able to find an
> object with the given identity in its cache(s).
> 
> Werner Guttmann
> 
> PS You might as well look for log statements that happen during startup of
> your web application that e.g. indicate that EHCache cannot be initialized
> properly.
> ________________________________________
> Von: Gonzalo Abollado [mailto:[EMAIL PROTECTED]
> Gesendet: Sonntag, 15. April 2007 23:50
> An: dev@castor.codehaus.org
> Betreff: [castor-dev] Ehcache basic configuration
> 
> Hello,
> 
> I´m trying to add Ehcache (or any distributed cache solution in case you
> can
> recommend one) to Castor in a Tomcat environment (J2EE). I´m looking
> everywhere and I don´t manage to find the right docs and I´m not sure if I
> have configured correctly and how to find out. Can you please point me to
> the right docs or give me some clues to configure?
> 
> I have added the ehcache-1.2.4.jar to the lib directory and the
> ehcache.xml
> and ehcache.xsd to the WEB-INF and I have added <cache-type
> type="ehcache"/>
> to every xml map file.
> These are the ehcache.xml properties I have:
> 
> <diskStore path="java.io.tmpdir"/>
> 
> <cacheManagerEventListenerFactory class="" properties=""/>
> 
> <cacheManagerPeerProviderFactory
> 
> class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
>             properties="peerDiscovery=automatic,
>                         multicastGroupAddress=230.0.0.1,
>                         multicastGroupPort=4446, timeToLive=1"/>
> 
>     <cacheManagerPeerListenerFactory
> 
> class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"/>
> 
> 
>     <defaultCache
>             maxElementsInMemory="10000"
>             eternal="false"
>             timeToIdleSeconds="120"
>             timeToLiveSeconds="120"
>             overflowToDisk="false"
>             maxElementsOnDisk="10000000"
>             diskPersistent="false"
>             diskExpiryThreadIntervalSeconds="120"
>             memoryStoreEvictionPolicy="LRU"
>             />
> 
> 
> I´m running the ehcache debugger and I don´t see any information.
> java -jar ehcache-1.2.4-remote-debugger.jar ehcache.xml
> 
> This is the info get, and as you can see there are no caches...
> 
> 13-abr-2007 11:28:57 net.sf.ehcache.distribution.RemoteDebugger main
> INFO: Increase the net.sf.ehcache.distribution logging level to debug or
> trace to see distributed cache operations as they occur.
> 13-abr-2007 11:29:00 net.sf.ehcache.distribution.RemoteDebugger main
> INFO: Available caches are:
> 
> 
> 
> And if I try to update an object I get this exception:
> 
> org.exolab.castor.jdo.PersistenceException: No timestamp information for
> object com.mbook.base.UserBase with identity <2(2)> available in cache
> (anymore).
>             at
> org.exolab.castor.persist.ClassMolder.update(ClassMolder.java:888)
>             at
> org.exolab.castor.persist.LockEngine.update(LockEngine.java:685)
>             at
> org.castor.persist.AbstractTransactionContext.markUpdate(AbstractTransacti
> on
> Context.java:913)
>             at
> org.castor.persist.AbstractTransactionContext.update(AbstractTransactionCo
> nt
> ext.java:966)
>             at
> org.exolab.castor.jdo.engine.AbstractDatabaseImpl.update(AbstractDatabaseI
> mp
> l.java:337)
> 
> 
> 
> 
> Do I have to add a cache with a specific name any where? Any specific
> properties? Do I need to add anything in the castor.properties?
> Can you please give me a hand?
> 
> Thanks a lot and best regards,
> Gonzalo Abollado.
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
> 
>     http://xircles.codehaus.org/manage_email
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
> 
>     http://xircles.codehaus.org/manage_email


---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to