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