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

Reply via email to