[ 
https://issues.apache.org/jira/browse/SYNAPSE-377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12609131#action_12609131
 ] 

Andreas Veithen commented on SYNAPSE-377:
-----------------------------------------

Some updates on this issue:

* Startups and embedded JARs are now supported.
* After discussion on the dev and user lists (see 
http://www.nabble.com/File-suffix-for-Synapse-extension-archives-td18132506.html),
 a majority was in favor of "xar" for the file suffix.
* A XAR Maven plugin is now available.
* MediatorDeployer has been renamed to ExtensionDeployer (with an empty 
MediatorDeployer extending ExtensionDeployer still in place for compatibility).

Things still to do:

* Update documentation.
* Provide a Maven archetype (project template) for easy creation of new XAR 
projects.
* Clean up the code in ExtensionDeployer, MediatorFactoryFinder, 
MediatorSerializerFinder and StartupFinder.

With respect to the last point, one can indeed identify the following issues:

* MediatorFactoryFinder, MediatorSerializerFinder and StartupFinder depend on 
sun.misc.Service. While this class is probably present in the majority of JREs 
it is nevertheless bad practice to depend on classes in Sun's internal 
packages. On the other hand ExtensionDeployer has code that is more or less 
equivalent to what is provided by sun.misc.Service. We should reuse this code.
* There is an asymmetry between mediator and startup factories/serializers 
(e.g. there is no service lookup for startup serializers). Given that 
initialization of startups had a bug that was only solved recently (see 
http://svn.apache.org/viewvc?view=rev&revision=670781) we can assume that there 
are not many existing startup implementations outside the Synapse project 
itself and it is thus safe to modify the startup factory/serialization 
mechanism to align it with the approach used for mediators.
* Creation and serialization of mediators and startups are quite similar: there 
should be code that can be reused for both types of extensions.

> Improve MediatorDeployer to support Startups and embedded JARs
> --------------------------------------------------------------
>
>                 Key: SYNAPSE-377
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-377
>             Project: Synapse
>          Issue Type: Improvement
>          Components: Deployment
>    Affects Versions: 1.2
>         Environment: N/A
>            Reporter: Andreas Veithen
>            Assignee: Andreas Veithen
>
> The MediatorDeployer could be improved to support
> (1) embedded JARs (under the lib folder inside the archive) in the same way 
> as for Axis2 service and module archives: this would allow to bundle 
> extension mediators together with their dependency JARs.
> (2) startups: the deployer should discover and register StartupFactory 
> implementations in the same way as MediatorFactory implementations. While 
> startups are not good candidates for hot deployment, this would still be 
> useful in conjunction with the first improvement.
> Note that if (1) is implemented it would be useful to define a standard file 
> extension for this kind of archive (to distinguish them from normal JARs). 
> Maybe .sxar (Synapse eXtension ARchive)?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to