Say Scheveningen

Method server class loaders

October 16, 2008 · 2 Comments

The method server has a unique class loader arrangement because it has it’s own load directory (java_methods) and also allows for methods to be written and deployed as BOF modules. The following diagram illustrates the method server class loader configuration.

Categories: methodserver

2 responses so far ↓

  • Rob // December 23, 2008 at 2:22 am

    I have a problem with this classloader mechanism and BOF, maybe you can give me a suggestion. I would like to leverage the BOF in my servermethods. I use a ITestType interface (for the test_type object type) in my servermethod, and the implementation of that interface is done in BOF.

    When executing a session.getObject and casting it to the interface, I get an error:

    TestTypeImpl___PROXY incompatible with ITestType.

    Any hints?

    btw. I can pronounce Scheveningen perfectly ;)

  • donr7n // January 30, 2009 at 3:53 pm

    Rob, sorry for the delay. I missed your comment going through moderation and only just stumbled across it.

    This is basically a design flaw. You’ve probably figured that out already from the class loader diagram, but I can confirm it. You can’t use an orthogonal (ie. non DFC) interface of a BOF module from a server method loaded from the java_methods directory unless you put the interface in the method server startup classloader (a bad idea – don’t do that).

    The “solution” is to re-implement the consuming method as a BOF module as described in another blog post here.

    btw. I can’t, try as I might :-(

Leave a Comment