Issue with client embeddability and repository/modules/addressing.mar
---------------------------------------------------------------------

         Key: AXIS2-403
         URL: http://issues.apache.org/jira/browse/AXIS2-403
     Project: Apache Axis 2.0 (Axis2)
        Type: Improvement
  Components: core  
    Versions: 0.94    
    Reporter: Paul Fremantle
     Fix For: 0.95


Currently, you can only create an Axis2 client that supports addressing, 
security, etc, if you also create new directories on the client disk, and set 
axis2_home to point to this repository. I think this affects embedability. It 
would be great if we could simply pop a module into the classpath. Obviously 
this isn't much of an issue on the server, but for the client it would make it 
much easier to embed into other projects. 

One proposal on how to do that is to create a new module archiving model and 
use the Java JAR file Service Provider spec. 
http://java.sun.com/j2se/1.4.2/docs/guide/jar/jar.html#Service%20Provider

We could use this with a new interface/impl pair called o.a.a.m.ModuleInfo 
{ 
  public String getModuleName();
}

Suppose the module was called foo-1.2
Then the existing loader could look for foo-1.2/lib, foo-1.2/classes, 
foo-1.2/etc
in other words the MAR format pushed down one level based on the module name. 

Now this could simply be in a JAR called foo-1.2.jar (or foo-module-1.2.jar) 
and the SP stuff would identify the name and version and where to look for it.

This does leave a problem with the remote URL repository. We could maybe figure 
out how the JAR SP code works and replicate that for a URL based repository, 
thereby using the same mechanism in both cases.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to