Hi Charles I've made Batik and FOP OSGi-compatible in a private fork. Due to the minimum requirement of Java 1.5, the SPI Fly approach through java.util.Services is not possible. But I've created a small abstraction that partly leverages SPI Fly but works with Java 1.5. I've planned to submit [1] it to the Aries project but the initial submission showed a flaw that I've later fixed. But since then I haven't resubmitted the fixed version. I've got Batik and FOP running in production in an OSGi environment with the ability to add and remove plug-ins at runtime. The big problem is probably that I've done the necessary adjustments in private forks. In the meantime, a lot has been changed including backwards-incompatible changes of public APIs (mostly FOP) which I've given up contesting. If you've got the time and energy to pursue it, I can submit the fixed "SPI Catch" proposal and give you the changes necessary for XGC and Batik, so you can migrate them to the current trunks.
I'm not sure but I think the ServiceMix/Camel people have some kind of OSGi-fied FOP version running for them. Probably even Batik: http://svn.apache.org/repos/asf/servicemix/smx4/bundles/trunk/batik-1.7/ But I don't know what they've done and how well it works. [1] https://issues.apache.org/jira/browse/ARIES-938 HTH Jeremias Maerki On 28.05.2013 17:58:42 Charles Moulliard wrote: > Hi Chris, > > Thx for the update. I will have a look perhaps next week > > Regards, > > Charles > > ---------- Forwarded message ---------- > From: Chris Bowditch <[email protected]> > Date: Tue, May 28, 2013 at 5:51 PM > Subject: Re: Status of OSGI Support > To: [email protected] > > > Hi Charles, > > > On 28/05/2013 05:58, Charles Moulliard wrote: > > > Hi, > > > > We are currently working on deploying Activiti project (using batik) on > > Apache Karaf () which is a multi-technology OSGI container (CXF, Camel, > > ActiveMQ, Spring, Java, BPM, ...) and are faced to this issue : > > > > org.apache.batik.transcoder.**TranscoderException: null > > Enclosed Exception: > > Could not write PNG file because no WriteAdapter is availble > > at org.apache.batik.transcoder.**image.ImageTranscoder.** > > transcode(ImageTranscoder.**java:132) > > at org.apache.batik.transcoder.**XMLAbstractTranscoder.**transcode(** > > XMLAbstractTranscoder.java:**142) > > at org.apache.batik.transcoder.**SVGAbstractTranscoder.**transcode(** > > SVGAbstractTranscoder.java:**156) > > at org.activiti.editor.rest.**model.ModelSaveRestResource.**saveModel(** > > ModelSaveRestResource.java:78) > > at sun.reflect.**NativeMethodAccessorImpl.**invoke0(Native > > Method)[:1.6.0_45] > > > > > > This problem is due to to the fact (I think so) that ServiceProvider which > > is a Java EE feature does not work by default on OSGI container excepted if > > we use Aries SpiFly with Batik. As this approach was described here : > > > > http://wiki.apache.org/**xmlgraphics/OSGiSupport<http://wiki.apache.org/xmlgraphics/OSGiSupport> > > > > Can somebody provides me a status of that development ? > > > > I'm not aware of any development in this area. I think you are only the > second person who mentioned a need for it on the mailing lists, but I could > be wrong. Of course, if you have time to develop a patch for it, your > submission would be welcomed :-) > > May I suggest taking this discussion to [email protected]**, > since this issue affects fop, batik and commons in equal measure. > > Thanks, > > Chris > > > > > Regards, > > > > -- > > Charles Moulliard > > Apache Committer / Sr. Enterprise Architect (RedHat) > > Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com > > > > > > ------------------------------**------------------------------**--------- > To unsubscribe, e-mail: > batik-dev-unsubscribe@**xmlgraphics.apache.org<[email protected]> > For additional commands, e-mail: > batik-dev-help@xmlgraphics.**apache.org<[email protected]> > > > > > -- > Charles Moulliard > Apache Committer / Sr. Enterprise Architect (RedHat) > Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
