Add voteWatch issue
    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 4.1
    • None
    • Container Architecture
    • None

    Description

      Start Facilitating creation of Blocks through a Factory. Each component can optionally define a factory through which it is loaded. This will allow components to be created from arbitary locations.

      For example, it would be valid for the component to be specified using a rmi, corba, soap or other url. ie Something like

      rmi://localhost/MyRemoteComponent

      The factory would take this implementationKey and construct a component that obeys the avalon lifecycle contract and for all intents and purposes can be treated like a normal Avalon component.

      These Factorys must be able to create the blocks themselves and the
      BlockBundle. The BlockBundle includes the BlockInfo object aswell as any associated descriptors (MXInfo files, schemas etc).

      The factory will look something like

      interface BlockFactory
      {
      Object createBlock( String implementationKey ) throws Exception;
      BlockBundle createBlockBundle( String implementationKey ) throws Exception;
      }

      interface BlockBundle
      {
      BlockInfo getBlockInfo();
      InputStream getResourceAsStream(String);
      }

      The BlockFactory will pass through all Avalon lifecycle stages except Composable/Serviceable.

      The initial implementions will allow at least RMI, AltRMI and Soap (via glue or axis?) objects to be dynamically assembled.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              pdonald Peter Donald

              Dates

                Created:
                Updated:

                Slack

                  Issue deployment