dobbs       02/03/07 07:36:38

  Modified:    .        NOTES
  Log:
  adding notes for ComponentLoader, assembled from IRC discussion with
  Jason
  
  Revision  Changes    Path
  1.14      +50 -0     jakarta-turbine-fulcrum/NOTES
  
  Index: NOTES
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-fulcrum/NOTES,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- NOTES     31 Aug 2001 07:27:58 -0000      1.13
  +++ NOTES     7 Mar 2002 15:36:38 -0000       1.14
  @@ -30,3 +30,53 @@
   /src/org/apache/fulcrum/intake/validator/IntegerValidator.java
   /src/org/apache/fulcrum/intake/Intake.java
   /src/org/apache/fulcrum/xmlrpc/util/FileTransfer.java
  +
  +
  +ComponentLoader
  +---------------
  +
  +Create a ComponentLoader in Stratum (in a 'loader' package) to be used
  +by Turbine and Fulcrum and Torque.  It's job is to load components
  +(some of which might also be services) and call their lifecycle
  +methods.
  +
  +The ComponentLoader will enable someone to extend any arbitrary class,
  +implement the lifecycle interfaces, and use it as a component in the
  +Turbine family.
  +
  +This trick will be immediately useful to enable turbine users to
  +migrate their Turbine 2.1 services to Fulcrum.  There are a few
  +services which should be changed to components, and this trick should
  +facilitate that migration as well.
  +
  +FIXME: Still need a better idea about what makes a service different
  +from a component, including examples to illustrate the differences.
  +
  +For now we will just load Fulcrum and it can use it's current
  +configuration file.
  +
  +Other 2.1->Fulcrum migration plans:
  +
  +jason can swap all the imports with the transformer in maven and then
  +people will probably have to poke around for a couple minutes.
  +
  +
  +Other implementation goals:
  +
  +*tons* of debug logging and *tons* of testing.  There's a crude
  +diagram here: http://www.apache.org/~jvanzyl/diagrams/fulcrum.jpg
  +
  +leave the code that is there alone as much as possible and extend the
  +BaseServiceBroker and implement the required lifecycle interfaces:
  +'public class Fulcrum extends BaseServiceBroker implements
  +Configurable, Initializable'.  We don't want the lifecycle interfaces
  +applied directly to the service broker.
  +
  +
  +Longer-term plans:
  +
  +let the ComponentLoader reload components without stopping the server.
  +It will have its own classloader eventually (probably borrowing the
  +webapp classloader code from catalina).  We can look for a
  +configuration.xml in a standard place in the jar or look at the
  +manifest and use that to configure the component.
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to