Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 4.1
    • Fix Version/s: None
    • Component/s: Container Architecture
    • Labels:
      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.

        Issue Links

          Activity

          Peter Donald made changes -
          Field Original Value New Value
          Link This issue depends upon PNIX-15 [ PNIX-15 ]
          Peter Donald created issue -

            People

            • Assignee:
              Unassigned
              Reporter:
              Peter Donald
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:

                Development