Keith, You can unsubscribe from any Apache mailing list by following the info on http://apache.org/foundation/mailinglists.html
On Thu, Dec 15, 2016 at 10:10 AM, Keith Martin <[email protected]> wrote: > team, please remove from mailing list or let me know appropriate process. > > Thanks ! > > *Keith B. Martin | Customer Success | Pivotal Software* > > Mobile: 573-846-8138 <(573)%20846-8138> | Email: [email protected] | > Web: http://www.pivotal.io/ > > To keep current on Pivotal news and events, please visit: > > Pivotal News and Events <https://pivotal.io/news-events> > > On Thu, Dec 15, 2016 at 11:17 AM, Bruce Schuchardt <[email protected] > > wrote: > >> +1 >> >> You need the key class on your server's classpath. The readSerialized >> setting applies to cache values, not cache keys. >> >> Le 12/15/2016 à 4:57 AM, Luke Shannon a écrit : >> >> Try removing your Cache reference from your config. If the xml is being >> bootstraped it will be created there. Then try referencing your Region as a >> member of the class you are working in using the @Resource annotation. Ie: >> >> >> >> @Resource(name = "Parent") >> private Region<?, ?> parent; >> >> >> To get a reference to foo.ScheduleRequest from the Cache you will need to >> have that class definition on your classpath (or that class defined in the >> client in the same package). >> >> On Dec 15, 2016 3:57 AM, "Preben Asmussen DR" <[email protected]> wrote: >> >> Hi >> >> >> >> I’m trying out Geode in client server mode with the following setup >> >> >> >> Using gfsh I have created a region as >> >> create region --name=/schedule --type=REPLICATE_PERSISTENT >> >> >> >> and enabled pdx disk store on the server >> >> configure pdx --disk-store=DEFAULT >> >> >> >> The Spring Boot client is setup as >> >> *public* *class* GeodeClientConfiguration { >> >> >> >> @Bean >> >> ClientCache cache() { >> >> *return* *new* ClientCacheFactory() >> >> .setPdxPersistent(*true*) >> >> .addPoolLocator("localhost", 10334) >> >> .setPdxDiskStore("foo") >> >> .setPdxReadSerialized(*true*) >> >> .setPdxSerializer(*new* ReflectionBasedAutoSerializer(*false*, >> "foo.ScheduleRequest", "bar.EpgProgram")) >> >> .create(); >> >> } >> >> >> >> @Bean >> >> Region<ScheduleRequest, List<EpgProgram>> testRegion(*final* >> ClientCache cache) { >> >> *return* cache.<ScheduleRequest, List<EpgProgram>> getRegion( >> "schedule"); >> >> } >> >> >> >> I has to include a cache.xml as >> >> <?xml version=*"1.0"* encoding=*"UTF-8"*?> >> >> <client-cache >> >> xmlns=*"http://geode.apache.org/schema/cache >> <http://geode.apache.org/schema/cache>"* >> >> xmlns:xsi=*"http://www.w3.org/2001/XMLSchema-instance >> <http://www.w3.org/2001/XMLSchema-instance>"* >> >> xsi:schemaLocation=*"http://geode.apache.org/schema/cache >> <http://geode.apache.org/schema/cache>* >> >> * >> http://geode.apache.org/schema/cache/cache-1.0.xsd >> <http://geode.apache.org/schema/cache/cache-1.0.xsd>"* >> >> version=*"1.0"*> >> >> <pool name=*"serverPool"*> >> >> <locator host=*"localhost"* port=*"10334"*/> >> >> </pool> >> >> <pdx disk-store-name=*"foo"* read-serialized=*"true"*> >> >> <pdx-serializer> >> >> <class-name>org.apache.geode.pdx.ReflectionBasedAutoSerializ >> er</class-name> >> >> <parameter name=*"classes"*> >> >> <string>xxx….</string> >> >> </parameter> >> >> </pdx-serializer> >> >> >> >> </pdx> >> >> <region name=*"schedule"* refid=*"CACHING_PROXY"*> >> >> <region-attributes pool-name=*"serverPool"* >> >> scope=*"global"* /> >> >> </region> >> >> </client-cache> >> >> >> >> I guess this shouldn’t he necessary, but I didn’t currently manage to get >> the java config work without it ?? >> >> >> >> Logs from boot startup shows that it is running in client mode >> >> [info 2016/12/15 09:31:49.278 CET <restartedMain> tid=0x14] Running in >> client mode >> >> >> >> >> >> [info 2016/12/15 09:31:49.510 CET <restartedMain> tid=0x14] Pool >> serverPool started with multiuser-authentication=false >> >> >> >> [info 2016/12/15 09:31:49.518 CET <poolTimer-serverPool-2> tid=0x28] >> AutoConnectionSource discovered new locators [host/10.65.95.154:10334] >> >> >> >> [info 2016/12/15 09:31:49.519 CET <poolTimer-serverPool-3> tid=0x29] >> Updating membership port. Port changed from 0 to 51.808. ID is now >> A78029(1164:loner):0:00de9b01 >> >> >> >> When using the region in code as >> >> >> >> ScheduleRequest scheduleRequest = *new* ScheduleRequest(channel, >> broadcastDate); >> >> List<EpgProgram> *list* = schedule.get(scheduleRequest); >> >> I get an Pdx Serialization exception >> >> >> >> 2016-12-15 09:32:50.465 INFO 1164 --- [nio-8080-exec-1] >> o.s.web.servlet.DispatcherServlet : FrameworkServlet >> 'dispatcherServlet': initialization completed in 24 ms >> >> [info 2016/12/15 09:32:54.564 CET <http-nio-8080-exec-1> tid=0x3c] Auto >> serializer generating type for class foo.ScheduleRequest for fields: >> >> channel: private java.lang.String foo.ScheduleRequest.channel >> >> broadcastDate: private java.time.LocalDate >> foo.ScheduleRequest.broadcastDate >> >> >> >> >> >> [info 2016/12/15 09:32:54.572 CET <http-nio-8080-exec-1> tid=0x3c] >> Defining: PdxType[ >> >> dsid=0, typenum=2, name=foo.ScheduleRequest, fields=[ >> >> channel:String:0:idx0(relativeOffset)=0:idx1(vlfOffsetIndex)=-1 >> >> broadcastDate:Object:1:1:idx0(relativeOffset)=0:idx1(vlfOffs >> etIndex)=1]] >> >> >> >> 2016-12-15 09:32:54.607 ERROR 1164 --- [nio-8080-exec-1] >> o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet >> [dispatcherServlet] in context with path [] threw exception [Request >> processing failed; nested exception is >> org.apache.geode.cache.client.ServerOperationException: >> remote server on A78029(1164:loner):51808:00de9b01: >> org.apache.geode.pdx.PdxSerializationException: Could not create an >> instance of a class foo.ScheduleRequest] with root cause >> >> >> >> java.lang.ClassNotFoundException: foo.ScheduleRequest >> >> at org.apache.geode.internal.Clas >> sPathLoader.forName(ClassPathLoader.java:426) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.internal.Inte >> rnalDataSerializer.getCachedClass(InternalDataSerializer.java:4006) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.pdx.internal. >> PdxType.getPdxClass(PdxType.java:236) ~[geode-core-1.0.0-incubating. >> jar:na] >> >> at org.apache.geode.pdx.internal. >> PdxReaderImpl.basicGetObject(PdxReaderImpl.java:686) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.pdx.internal. >> PdxReaderImpl.getObject(PdxReaderImpl.java:682) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.internal.Inte >> rnalDataSerializer.readPdxSerializable(InternalDataSerializer.java:3210) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.internal.Inte >> rnalDataSerializer.basicReadObject(InternalDataSerializer.java:3008) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.DataSerialize >> r.readObject(DataSerializer.java:3281) ~[geode-core-1.0.0-incubating. >> jar:na] >> >> at org.apache.geode.internal.util >> .BlobHelper.deserializeBlob(BlobHelper.java:94) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.internal.cach >> e.tier.sockets.CacheServerHelper.deserialize(CacheServerHelper.java:82) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.internal.cach >> e.tier.sockets.Part.getObject(Part.java:273) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.internal.cach >> e.tier.sockets.Part.getObject(Part.java:282) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.internal.cach >> e.tier.sockets.Part.getStringOrObject(Part.java:287) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.internal.cach >> e.tier.sockets.command.Get70.cmdExecute(Get70.java:95) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.internal.cach >> e.tier.sockets.BaseCommand.execute(BaseCommand.java:147) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.internal.cach >> e.tier.sockets.ServerConnection.doNormalMsg(ServerConnection.java:783) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.internal.cach >> e.tier.sockets.ServerConnection.doOneMessage(ServerConnection.java:913) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at org.apache.geode.internal.cach >> e.tier.sockets.ServerConnection.run(ServerConnection.java:1180) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at java.util.concurrent.ThreadPoo >> lExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_73] >> >> at java.util.concurrent.ThreadPoo >> lExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_73] >> >> at org.apache.geode.internal.cach >> e.tier.sockets.AcceptorImpl$1$1.run(AcceptorImpl.java:546) >> ~[geode-core-1.0.0-incubating.jar:na] >> >> at java.lang.Thread.run(Thread.java:745) >> [na:1.8.0_73] >> >> >> >> I guess the geode server should have the pdx serializing pushed ? >> >> >> >> Best regards >> >> Preben >> >> >> >> >
