Hello,

I am running a Geode server instance from spring boot (with 
@CacheServerApplication annotation). Then on the client side (also spring boot 
applications with @ClientCacheApplication annotation), I am trying to define 
some regions (with @Region annotation). Together with 
@EnableEntityDefinedRegions and @EnableClusterConfiguration on the client side 
and @EnableGemfireFuctions on the server side, I was hoping the regions would 
be automatically created on the server. But when I ran the client app, I am 
getting an error saying:

org.apache.geode.cache.client.ServerOperationException: remote server on 
192.168.1.100(SpringBasedCacheClientApplication:50794:loner):55570:4310ba57:SpringBasedCacheClientApplication:
 The function is not registered for function id CreateRegionFunction

On the server side, I got a similar error:

18:11:40.636 [ServerConnection on port 40405 Thread 1] WARN  
org.apache.geode.internal.cache.tier.sockets.BaseCommand - Server connection 
from 
[identity(192.168.1.100(SpringBasedCacheClientApplication:50794:loner):55570:4310ba57:SpringBasedCacheClientApplication,connection=1;
 port=55570]: The function is not registered for function id 
CreateRegionFunction

From @EnableGemfireFunctions API doc:

Enables GemFire annotated Function implementations. Causes the container to 
discover any beans that are annotated with {code}@GemfireFunction{code}, wrap 
them in a PojoFunctionWrapper 
<https://docs.spring.io/spring-data/geode/docs/current/api/org/springframework/data/gemfire/function/PojoFunctionWrapper.html>,
 and register them with the cache.

I thought that is all I need to get the spring data geode’s functions (e.g., 
CreateRegionFunction) registered on the server side. What am I missing here?

Thanks,
Dennis

Reply via email to