0 Replies Latest reply on Jan 30, 2008 12:31 PM by Adrian Brock

    dynamicRootURL in Module

    Adrian Brock Master

      To fix the AOP dynamic class generation a "hack" has been put into the
      Module. This is not correct for a number of reasons.

      1) It should be in the DeploymentUnit.getClassPath() where others that need
      the classloading roots can get at it.

      2) The implementation is hardwired

      
       public URL getDynamicClassRoot()
       {
       if (dynamicClassRoot == null)
       {
       try
       {
       dynamicClassRoot = new URL("vfsmemory://" + new GUID());
       }
       catch (MalformedURLException e)
       {
       throw new RuntimeException(e);
       }
       }
       return dynamicClassRoot;
       }
      

      instead of allowing somebody to specify how the dynamic root is determined.

      3) It uses the VFS api in a package (DeployersImpl) that should not depend on the VFS
      (compare the url above).

      This needs fixing to move it into a seperate deployer where people can
      (fixing the relevant problems above).

      1) Access it for other uses besides creating the classloader
      (or creating their own classloader that isn't part of the ClassLoading system
      e.g. an alternate classloader implementation).

      2) Determine where/how the dynamic classes are stored

      3) Doesn't break the dependencies between the projects