Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • xxxModuleActivator, which implements the ModuleActivator interface
  • ModuleActivator file

How does a Component Type Module declare the XML that it handles?

For a Component Type module, it is going to handle the XML <implementation.xxx.../>, which is a child of a <component.../> element in the SCDL.

How does the module indicate to the core that it handles the <implementation.xxx.../> element?

TODO: Get an answer to this question.... 

xxxModuleActivator class

Called when the Tuscany core is loading, starting and stopping the Module which implements the component type.

Implements ModuleActivator interface, with 3 methods:

  • start
  • stop
  • getExtensionPoints

Of these, start() is the most important - it seems possible to get by with the other 2 doing nothing.

Start handles: 

  • Registration of xxxArtifactProcessor, which handles the <implementation.xxx..../> XML
  • Registration of xxxComponentBuilder, which builds a component of the type handled by the module
  • Registration of xxxPropertyValueObjectFactory 

The ModuleActivator file 

...

The file contains the class name for the implementation of your Module, eg:

Code Block


# Implementation class for the ExtensionActivator for module Foo
org.apache.tuscany.implementation.foo.FooModuleActivator