Search code examples
gemfirespring-data-gemfire

Function in GemFire


I have created server function in GemFire and tried to deploy in gfsh, I was getting Exception shown below...

Member  | Deployed JAR | Deployed JAR Location
------- | ------------ | ----------------------------------------------------------------------------
server1 |              | ERROR: java.lang.NoClassDefFoundError: com/gemstone/gemfire/cache/Declarable
server2 |              | ERROR: java.lang.NoClassDefFoundError: com/gemstone/gemfire/cache/Declarable
server3 |              | ERROR: java.lang.NoClassDefFoundError: com/gemstone/gemfire/cache/Declarable

Solution

  • The application Function must be coded against the Pivotal GemFire 9.0.x API (http://gemfire-90-javadocs.docs.pivotal.io/) if you are running and deploying Functions to a Pivotal GemFire 9.0.x (i.e. 9.0.1) custer on the server-side.

    Specifically, this means your Function needs to implement the org.apache.geode.cache.Declarable interface, particularly when you declare/register your application Function in Pivotal GemFire's cache.xml.

    I really don't think the version of the DTD/XSD between Pivotal GemFire 8.x and 9.x matters all that much, but I would generally prefer the 9.x XSD if you are working with Pivotal GemFire 9, FYI.