However, the following exception is common to the range of cache
implementations I've tried.

I'm using datanucleus-core.4.1.7.jar

I'll see if Andy will talk to me ..


   - java.lang.ClassCastException
   - org.datanucleus.identity.SCOID cannot be cast to java.io.Serializable
   - 
org.datanucleus.cache.ehcache.EhcacheLevel2Cache#get(EhcacheLevel2Cache.java:143)

   - 
org.datanucleus.ExecutionContextImpl#getObjectFromLevel2Cache(ExecutionContextImpl.java:5205)

   - 
org.datanucleus.ExecutionContextImpl#getObjectFromCache(ExecutionContextImpl.java:5101)

   - 
org.datanucleus.ExecutionContextImpl#findObject(ExecutionContextImpl.java:3048)

   - 
org.datanucleus.store.rdbms.query.PersistentClassROF#getObjectForDatastoreId(PersistentClassROF.java:460)

   - 
org.datanucleus.store.rdbms.query.PersistentClassROF#getObject(PersistentClassROF.java:405)

   - 
org.datanucleus.store.rdbms.query.ForwardQueryResult#nextResultSetElement(ForwardQueryResult.java:181)

   - 
org.datanucleus.store.rdbms.query.ForwardQueryResult$QueryResultIterator#next(ForwardQueryResult.java:400)

   - 
org.datanucleus.store.rdbms.query.ForwardQueryResult#processNumberOfResults(ForwardQueryResult.java:143)

   - 
org.datanucleus.store.rdbms.query.ForwardQueryResult#advanceToEndOfResultSet(ForwardQueryResult.java:164)

   - 
org.datanucleus.store.rdbms.query.ForwardQueryResult#toArray(ForwardQueryResult.java:524)

   - java.util.ArrayList#<init>(ArrayList.java:177)
   - com.google.common.collect.Lists#newArrayList(Lists.java:146)
   - 
org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor#getResults(PersistenceQueryFindUsingApplibQueryProcessor.java:124)

   - 
org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor#process(PersistenceQueryFindUsingApplibQueryProcessor.java:57)

   - 
org.apache.isis.objectstore.jdo.datanucleus.persistence.queries.PersistenceQueryFindUsingApplibQueryProcessor#process(PersistenceQueryFindUsingApplibQueryProcessor.java:41)

   - 
org.apache.isis.core.runtime.system.persistence.PersistenceSession#processPersistenceQuery(PersistenceSession.java:612)

   - 
org.apache.isis.core.runtime.system.persistence.PersistenceSession#access$000(PersistenceSession.java:150)

   - 
org.apache.isis.core.runtime.system.persistence.PersistenceSession$1#execute(PersistenceSession.java:573)

   - 
org.apache.isis.core.runtime.system.persistence.PersistenceSession$1#execute(PersistenceSession.java:570)

   - 
org.apache.isis.core.runtime.system.transaction.IsisTransactionManager#executeWithinTransaction(IsisTransactionManager.java:190)

   - 
org.apache.isis.core.runtime.system.transaction.IsisTransactionManager#executeWithinTransaction(IsisTransactionManager.java:180)

   - 
org.apache.isis.core.runtime.system.persistence.PersistenceSession#findInstancesInTransaction(PersistenceSession.java:569)

   - 
org.apache.isis.core.runtime.system.persistence.PersistenceSession#allMatchingQuery(PersistenceSession.java:536)

   - 
org.apache.isis.core.runtime.services.persistsession.PersistenceSessionServiceInternalDefault#allMatchingQuery(PersistenceSessionServiceInternalDefault.java:169)

   - 
org.apache.isis.core.metamodel.services.repository.RepositoryServiceInternalDefault#submitQuery(RepositoryServiceInternalDefault.java:172)

   - 
org.apache.isis.core.metamodel.services.repository.RepositoryServiceInternalDefault#allMatches(RepositoryServiceInternalDefault.java:168)

   - 
org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault#allMatches(DomainObjectContainerDefault.java:493)

   - 
au.com.scds.chats.dom.participant.Participants#listActiveParticipantIdentities(Participants.java:132)

   - 
au.com.scds.chats.dom.activity.Activity#choices0AddParticipant(Activity.java:637)

   - 
sun.reflect.NativeMethodAccessorImpl#invoke0(NativeMethodAccessorImpl.java:-2)

   - 
sun.reflect.NativeMethodAccessorImpl#invoke(NativeMethodAccessorImpl.java:62)

   - 
sun.reflect.DelegatingMethodAccessorImpl#invoke(DelegatingMethodAccessorImpl.java:43)

   - java.lang.reflect.Method#invoke(Method.java:497)
   - 
org.apache.isis.core.commons.lang.MethodExtensions#invoke(MethodExtensions.java:53)

   - 
org.apache.isis.core.metamodel.adapter.ObjectAdapter$InvokeUtils#invoke(ObjectAdapter.java:385)

   - 
org.apache.isis.core.metamodel.adapter.ObjectAdapter$InvokeUtils#invokeAutofit(ObjectAdapter.java:422)

   - 
org.apache.isis.core.metamodel.facets.param.choices.methodnum.ActionParameterChoicesFacetViaMethod#getChoices(ActionParameterChoicesFacetViaMethod.java:79)

   - 
org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionParameterAbstract#findChoices(ObjectActionParameterAbstract.java:341)

   - 
org.apache.isis.core.metamodel.specloader.specimpl.ObjectActionParameterAbstract#getChoices(ObjectActionParameterAbstract.java:330)

   - 
org.apache.isis.viewer.wicket.model.models.ScalarModel$Kind$2#getChoices(ScalarModel.java:381)

   - 
org.apache.isis.viewer.wicket.model.models.ScalarModel#getChoices(ScalarModel.java:728)

   - 
org.apache.isis.viewer.wicket.ui.components.scalars.reference.ReferencePanel#obtainChoiceMementos(ReferencePanel.java:366)

   - 
org.apache.isis.viewer.wicket.ui.components.scalars.reference.ReferencePanel#setProviderAndCurrAndPending(ReferencePanel.java:345)

   - 
org.apache.isis.viewer.wicket.ui.components.scalars.reference.ReferencePanel#syncWithInput(ReferencePanel.java:267)

   - 
org.apache.isis.viewer.wicket.ui.components.scalars.reference.ReferencePanel#addComponentForRegular(ReferencePanel.java:123)

   - 
org.apache.isis.viewer.wicket.ui.components.scalars.reference.ReferencePanel#addComponentForRegular(ReferencePanel.java:69)

   - 
org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract#buildGui(ScalarPanelAbstract.java:225)

   - 
org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelAbstract#onBeforeRender(ScalarPanelAbstract.java:183)

   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - 
org.apache.wicket.markup.repeater.AbstractRepeater#onBeforeRender(AbstractRepeater.java:143)

   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.markup.html.form.Form#onBeforeRender(Form.java:1803)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - 
org.apache.wicket.MarkupContainer#onBeforeRenderChildren(MarkupContainer.java:1684)

   - org.apache.wicket.Component#onBeforeRender(Component.java:3833)
   - org.apache.wicket.Component#internalBeforeRender(Component.java:949)
   - org.apache.wicket.Component#beforeRender(Component.java:1017)
   - org.apache.wicket.Component#internalPrepareForRender(Component.java:2201)

   - org.apache.wicket.Component#prepareForRender(Component.java:2240)
   - 
org.apache.wicket.ajax.XmlAjaxResponse#writeComponent(XmlAjaxResponse.java:107)

   - 
org.apache.wicket.ajax.AbstractAjaxResponse#writeComponents(AbstractAjaxResponse.java:218)

   - 
org.apache.wicket.ajax.AbstractAjaxResponse#writeTo(AbstractAjaxResponse.java:150)

   - 
org.apache.wicket.ajax.AjaxRequestHandler#respond(AjaxRequestHandler.java:359)

   - 
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor#respond(RequestCycle.java:890)

   - 
org.apache.wicket.request.RequestHandlerStack#execute(RequestHandlerStack.java:64)

   - 
org.apache.wicket.request.RequestHandlerStack#execute(RequestHandlerStack.java:97)

   - org.apache.wicket.request.cycle.RequestCycle#execute(RequestCycle.java:261)

   - 
org.apache.wicket.request.cycle.RequestCycle#processRequest(RequestCycle.java:218)

   - 
org.apache.wicket.request.cycle.RequestCycle#processRequestAndDetach(RequestCycle.java:289)

   - 
org.apache.wicket.protocol.http.WicketFilter#processRequestCycle(WicketFilter.java:259)

   - 
org.apache.wicket.protocol.http.WicketFilter#processRequest(WicketFilter.java:201)

   - 
org.apache.wicket.protocol.http.WicketFilter#doFilter(WicketFilter.java:282)

   - 
org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1668)

   - 
org.apache.isis.core.webapp.diagnostics.IsisLogOnExceptionFilter#doFilter(IsisLogOnExceptionFilter.java:52)

   - 
org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1668)

   - 
org.apache.shiro.web.servlet.AbstractShiroFilter#executeChain(AbstractShiroFilter.java:449)

   - 
org.apache.shiro.web.servlet.AbstractShiroFilter$1#call(AbstractShiroFilter.java:365)

   - 
org.apache.shiro.subject.support.SubjectCallable#doCall(SubjectCallable.java:90)

   - 
org.apache.shiro.subject.support.SubjectCallable#call(SubjectCallable.java:83)

   - 
org.apache.shiro.subject.support.DelegatingSubject#execute(DelegatingSubject.java:383)

   - 
org.apache.shiro.web.servlet.AbstractShiroFilter#doFilterInternal(AbstractShiroFilter.java:362)

   - 
org.apache.shiro.web.servlet.OncePerRequestFilter#doFilter(OncePerRequestFilter.java:125)

   - 
org.eclipse.jetty.servlet.ServletHandler$CachedChain#doFilter(ServletHandler.java:1668)

   - org.eclipse.jetty.servlet.ServletHandler#doHandle(ServletHandler.java:581)

   - 
org.eclipse.jetty.server.handler.ScopedHandler#handle(ScopedHandler.java:143)

   - org.eclipse.jetty.security.SecurityHandler#handle(SecurityHandler.java:548)

   - 
org.eclipse.jetty.server.session.SessionHandler#doHandle(SessionHandler.java:226)

   - 
org.eclipse.jetty.server.handler.ContextHandler#doHandle(ContextHandler.java:1158)

   - org.eclipse.jetty.servlet.ServletHandler#doScope(ServletHandler.java:511)

   - 
org.eclipse.jetty.server.session.SessionHandler#doScope(SessionHandler.java:185)

   - 
org.eclipse.jetty.server.handler.ContextHandler#doScope(ContextHandler.java:1090)

   - 
org.eclipse.jetty.server.handler.ScopedHandler#handle(ScopedHandler.java:141)

   - 
org.eclipse.jetty.server.handler.HandlerWrapper#handle(HandlerWrapper.java:119)

   - org.eclipse.jetty.server.Server#handle(Server.java:517)
   - org.eclipse.jetty.server.HttpChannel#handle(HttpChannel.java:308)
   - org.eclipse.jetty.server.HttpConnection#onFillable(HttpConnection.java:242)

   - 
org.eclipse.jetty.io.AbstractConnection$ReadCallback#succeeded(AbstractConnection.java:261)

   - org.eclipse.jetty.io.FillInterest#fillable(FillInterest.java:95)
   - 
org.eclipse.jetty.io.SelectChannelEndPoint$2#run(SelectChannelEndPoint.java:75)

   - 
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume#produceAndRun(ExecuteProduceConsume.java:213)

   - 
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume#run(ExecuteProduceConsume.java:147)

   - 
org.eclipse.jetty.util.thread.QueuedThreadPool#runJob(QueuedThreadPool.java:654)

   - 
org.eclipse.jetty.util.thread.QueuedThreadPool$3#run(QueuedThreadPool.java:572)

   - java.lang.Thread#run(Thread.java:745)



On Fri, Dec 9, 2016 at 9:17 PM, Stephen Cameron <steve.cameron...@gmail.com>
wrote:

> No problem.
>
> On Fri, Dec 9, 2016 at 9:16 PM, Dan Haywood <d...@haywood-associates.co.uk>
> wrote:
>
>> Sure.. I was just suggesting a couple of paragraphs capturing the contents
>> of this particular thread, ie how to enable caching.
>>
>>
>> On Fri, 9 Dec 2016 at 09:59 Stephen Cameron <steve.cameron...@gmail.com>
>> wrote:
>>
>> > I'll see what I can do, its a new area for me and alot to read up on.
>> Maybe
>> > even a fast moving area at the moment, with things like Apache Ignite
>> >
>> > On Fri, Dec 9, 2016 at 6:00 PM, Dan Haywood <
>> d...@haywood-associates.co.uk>
>> > wrote:
>> >
>> > > Thanks for doing this exploration... I've made a note to add
>> something to
>> > > the docs, but even better would be a PR from yourself to add it.
>> > Perhaps a
>> > > new section in "other techniques" chapter of the "beyond the basics"
>> > guide
>> > > [1,2]?
>> > >
>> > > Cheers
>> > > dan
>> > >
>> > > [1] http://isis.apache.org/guides/ugbtb.html#_ugbtb_other-techniques
>> > > [2]
>> > > https://github.com/apache/isis/blob/master/adocs/documentati
>> on/src/main/
>> > > asciidoc/guides/_ugbtb_other-techniques.adoc
>> > >
>> > >
>> > >
>> > > On Thu, 8 Dec 2016 at 12:11 Stephen Cameron <
>> steve.cameron...@gmail.com>
>> > > wrote:
>> > >
>> > > > Hazelcast (https://hazelcast.org/) works 'out of the box' as a
>> JSR-170
>> > > > javax.cache implementation. No config file expected.
>> > > >
>> > > > I have:
>> > > >
>> > > > isis.persistor.datanucleus.impl.datanucleus.cache.level2.
>> > > type=javax.cache
>> > > > isis.persistor.datanucleus.impl.datanucleus.cache.level2.
>> > > mode=UNSPECIFIED
>> > > > isis.persistor.datanucleus.cache.level2.cacheName=myCache
>> > > >
>> > > > Then added the following dependencies:
>> > > >
>> > > > <dependency>
>> > > >       <groupId>javax.cache</groupId>
>> > > >       <artifactId>cache-api</artifactId>
>> > > >        <version>1.0.0</version>
>> > > >   </dependency>
>> > > >
>> > > > <dependency>
>> > > >     <groupId>com.hazelcast</groupId>
>> > > >     <artifactId>hazelcast</artifactId>
>> > > >     <version>3.7.3</version>
>> > > > </dependency>
>> > > >
>> > > > It seems to make quite a significant difference to the speed of the
>> > app.
>> > > > but I should be measuring that to make any claims.
>> > > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > > On Thu, Dec 8, 2016 at 8:35 PM, Stephen Cameron <
>> > > > steve.cameron...@gmail.com>
>> > > > wrote:
>> > > >
>> > > > > Thanks Andy, sorry for my astounding naïveté.
>> > > > >
>> > > > > I see now there is a page where JSR-107 implementations are
>> listed:
>> > > > > https://jcp.org/aboutJava/communityprocess/
>> > > implementations/jsr107/index.
>> > > > > html
>> > > > >
>> > > > > 7.5 Billion people in the world and only one person working on
>> > > > > DataNucleus, why?!
>> > > > >
>> > > > >
>> > > > >
>> > > > > On Thu, Dec 8, 2016 at 6:06 PM, Andy Jefferson <
>> a...@datanucleus.org
>> > >
>> > > > > wrote:
>> > > > >
>> > > > >> > Caused by: org.datanucleus.exceptions.NucleusException: Error
>> > > creating
>> > > > >> > cache
>> > > > >> >    at
>> > > > >> > org.datanucleus.cache.JavaxCacheLevel2Cache.<init>(
>> > > > >> > JavaxCacheLevel2Cache.java:98)
>> > > > >>
>> > > > >> You did not put a Javax.cache provider in your CLASSPATH. As
>> Oscar
>> > > > >> suggested.
>> > > > >>
>> > > > >> DataNucleus provides "a simple wrapper to javax.cache's caches".
>> So
>> > > you
>> > > > >> need to select an implementation of javax.cache (just like
>> > DataNucleus
>> > > > is
>> > > > >> an implementation of javax.jdo, so you need to select your
>> preferred
>> > > > >> implementation of javax.cache). EHCache has one IIRC.
>> > > > >>
>> > > > >> You didn't really expect DataNucleus to implement its own
>> > javax.cache
>> > > > >> implementation as well as its own JDO implementation as well as
>> its
>> > > own
>> > > > JPA
>> > > > >> implementation, etc? All with 1 developer?!
>> > > > >>
>> > > > >>
>> > > > >> Regards
>> > > > >> --
>> > > > >> Andy
>> > > > >> DataNucleus (Web: http://www.datanucleus.org   Twitter:
>> > @datanucleus)
>> > > > >>
>> > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>
>

Reply via email to