we run a derby network server in jboss, and want to be able to allow deployed ears to expose their functionality through derby VTI. ears run in their own classloader seperate from the common derby network server started in jboss. unfortunately there is no way to register a function in derby and have it record the classloader which registered the function, and which should be used resolve the function class. the problem is that when we use ij to connect to the jboss instance, or even another ear in the same jboss, to call the declared function, derby says it can't resolve the function class. that is because derby does not remember which ear the function was declared in, and is only searching the "root" jboss class libs for the function. obviously, the only way to work around this is to NOT deploy our functions in ears, but that breaks the "cloud" like system we have for deployment.
obviously, the classloaders would be wrong after a "reboot" of derby, the classloader would no longer existing. so to solve our bug with our current deployment model, i think we need to be able to have a new sql call for derby to create a "transient function", a function which does not last across reboots
something like a modification to this call
CREATE FUNCTION externalEmployees
we need something like this
CREATE FUNCTION USING_THIS_CLASSLOADER externalEmployees
CREATE TRANSIENT_FUNCTION externalEmployees