Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-6430

ClassNotFoundException when invoking a table function declared in another classloader

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Blocker
    • Resolution: Unresolved
    • 10.10.1.1
    • None
    • Network Server
    • jboss

    Description

      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

      instead of

      CREATE FUNCTION externalEmployees
      ()
      ...

      we need something like this

      CREATE FUNCTION USING_THIS_CLASSLOADER externalEmployees
      ()
      ...

      or

      CREATE TRANSIENT_FUNCTION externalEmployees
      ()
      ...

      Attachments

        Activity

          People

            Unassigned Unassigned
            rhuddusa Richard Huddleston
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: