If developers want to "implement" Apache Geode Functions using Spring Data GemFire's Function Annotation support, then they are unable to leverage other Geode features as a result.
One such feature is the ability to use Gfsh's 'deploy' command to (re-)deploy JAR files containing Function classes "implementing" Apache Geode Functions that may have been modified and Geode will "automatically" and subsequently those updated JAR packaged Function(s).
I have been asked, "what is Spring Data GemFire going to do to support the (hot) deploy feature?" However, this is the question.
It is not what SDG can do since, technically, this is a limitation in Geode (and by extension GemFire), and Geode only detects Geode specific types (in particular, and ... com.gemstone.gemfire.cache.Function class types). While non-Function classes and resources are technically added to the "custom" CLASSPATH (defined by an "internal", Geode ClassLoader), there is no recognition and "first-class" support for non-Geode types thereby complicating the matter for technologies that integrate with Geode such as Spring.
So, the right question is, "what can _Geode do to recognize additional types (or rather, meta-data annotated class types) that are not part of the core Geode types?
In essence, Apache Goede's Gfsh 'deploy' command needs to be enhanced to recognize SDG-defined Function Annotated POJOs and act accordingly, in this case.