2 Replies Latest reply on Oct 23, 2007 7:27 AM by pmuir

    incremental hot deployment clarification

    dan.j.allen

      There is some confusion (at least, I perceive there to be) over the purpose of the two source directories in the structure of projects created by seam-gen and how they relate to XML component configuration (via components.xml).

      The two source directories are:

      model
      action

      The names are slightly misleading. Here is an overview.

      The model directory is treated as static. This means that once the application gets going, component definitions from the resulting classpath entry (WEB-INF/classes) remain in tact throughout the application's lifetime. (Read as: they are not hot redeployed).

      The action directory is treated as dynamic. This means that if a change is detected in the classpath entry (a new version of a class appears in WEB-INF/dev), all the component definitions that originated from that directory are removed and it is rescanned for components. (Read as: they are hot redeployed).

      The hot redeployable directory is an isolated, URL classloader. No classes or other classloaders can see these classes. That means that you cannot put a class in this directory and then define it as a component using XML in components.xml because the classloader that processes those definitions cannot see the classes in the hot redeployable directory.

      I now arrive at my point, a call for change. I feel that "model" and "action" names are ill-suited for their purpose. Here is my proposal:

      model -> static
      action -> dynamic

      other options include:

      model -> standard
      action -> dynamic or hot

      model -> main
      action -> redeployable

      This change would affect projects created by seam-gen.