Alberto, what you see is the expected behavior. Jars with dependencies have
to be deployed together, otherwise, they get loaded by different class
loaders, and one can't recognize the other. I believe this was the
restriction we put on deployed jars in order to avoid eager loading of all
the classes in the deployed jars.

If you bounce the servers, all the jars are loaded together at server
restart time, so you won't get the exception anymore.

On Fri, Aug 9, 2019 at 4:16 AM Alberto Gomez <alberto.go...@est.tech> wrote:

> Hi,
>
> We have two jar files one containing  a Geode function and another one
> containing some class used by the function in its execute method.
>
> We have observed the following behavior:
>
> If we load on a Geode cluster one jar and then the other (on any order)
> with gfsh and then call the function from a client, the function is
> executed correctly.
>
> But, if we first load the jar containing the function, call the function
> from a client (in which we get a java.lang.NoClassDefFoundError
> exception for the class referenced), load the other jar containing the
> class used by the function and then call the function we still get the
> same exception.
>
> If the servers are restarted afterwards the problem disappears.
>
> The Geode version we are using is the one found in the development
> branch last week.
>
> Is there an explanation for this behavior or is this a bug?
>
> Thanks in advance,
>
> -Alberto G
>
>
>

-- 
Cheers

Jinmei

Reply via email to