You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Alexander Broekhuis <a....@gmail.com> on 2012/09/20 10:23:49 UTC

Replace JDK XML Factories

Hi all,

How can I replace the JAX* Factories provided by the JDK? I have several
bundles using DOM and XPath (some self written, some containing existing
code, etc).
I need to use XPath 2.0 to get things working, and when using Saxon in a
non-osgi application it is enough to simply put the Saxon jar file on the
classpath. The Saxon jar provides ServiceLoader services for this.

I've seen several references how ServiceLoaders can be used from OSGi, but
since the JAX* ServiceLoaders are part of the JDK I don't need to make a
ServiceLoader myself.

Any thoughts?

Tia!

-- 
Met vriendelijke groet,

Alexander Broekhuis

Re: Replace JDK XML Factories

Posted by Rob Walker <ro...@ascert.com>.
Ditto - same approach worked well for us too.
- R

On 20/09/2012 4:33 PM, Felix Meschberger wrote:
> Hi
>
> That's what we did in Sling: Have configurations without all the XML stuff and provide a system bundle extension fragment to "reinject" the default XML APIs.
>
> But it would thus be possible to not install those fragments but instead install your own XML API bundles
>
> Regards
> Felix
>
>
> Am 20.09.2012 um 15:01 schrieb Tobias Wunden:
>
>> Hi,
>>
>> we are going with the approach to list the system packages and leave those out that we don't need. I recall discussions on this list where people were asking for an explicit exclusion feature, but I honestly don't recall what the answer was ;-)
>>
>> org.osgi.framework.system.packages=
>>
>> Tobias
>>
>> Below is a list of packages that is leaving out
>>
>> - javax.xml.stream, javax.xml.stream.events, javax.xml.stream.util (in our setup provided by ServiceMix STAX)
>> - javax.mail, javax.mail.internet (in our setup provided by Jeronimo JavaMail)
>> - javax.transaction, javax.transaction.xa (in our setup provided by Geronimo JTA specs)
>>
>> org.osgi.framework.system.packages=org.osgi.framework.system.packages=org.osgi.framework;version=1.6.0,org.osgi.framework.hooks.bundle;version=1.0.0,org.osgi.framework.hooks.resolver;version=1.0.0,org.osgi.framework.hooks.service;version=1.1.0,org.osgi.framework.hooks.weaving;version=1.0.0,org.osgi.framework.launch;version=1.0.0,org.osgi.framework.startlevel;version=1.0.0,org.osgi.framework.wiring;version=1.0.0,org.osgi.service.packageadmin;version=1.2.0,org.osgi.service.startlevel;version=1.1.0,org.osgi.service.url;version=1.0.0,org.osgi.util.tracker;version=1.5.0,javax.accessibility, javax.activity, javax.annotation, javax.annotation.processing, javax.crypto, javax.crypto.interfaces, javax.crypto.spec, javax.imageio, javax.imageio.event, javax.imageio.metadata, javax.imageio.plugins.bmp, javax.imageio.plugins.jpeg, javax.imageio.spi, javax.imageio.stream, javax.jws, javax.jws.soap, javax.lang.model, javax.lang.model.element, javax.lang.model.type, javax.lang.model.util, javax.management, javax.management.loading, javax.management.modelmbean, javax.management.monitor, javax.management.openmbean, javax.management.relation, javax.management.remote, javax.management.remote.rmi, javax.management.timer, javax.naming, javax.naming.directory, javax.naming.event, javax.naming.ldap, javax.naming.spi, javax.net, javax.net.ssl, javax.print, javax.print.attribute, javax.print.attribute.standard, javax.print.event, javax.rmi, javax.rmi.CORBA, javax.rmi.ssl, javax.script, javax.security.auth, javax.security.auth.callback, javax.security.auth.kerberos, javax.security.auth.login, javax.security.auth.spi, javax.security.auth.x500, javax.security.cert, javax.security.sasl, javax.sound.midi, javax.sound.midi.spi, javax.sound.sampled, javax.sound.sampled.spi, javax.sql, javax.sql.rowset, javax.sql.rowset.serial, javax.sql.rowset.spi, javax.swing, javax.swing.border, javax.swing.colorchooser, javax.swing.event, javax.swing.filechooser, javax.swing.plaf, javax.swing.plaf.basic, javax.swing.plaf.metal, javax.swing.plaf.multi, javax.swing.plaf.synth, javax.swing.table, javax.swing.text, javax.swing.text.html, javax.swing.text.html.parser, javax.swing.text.rtf, javax.swing.tree, javax.swing.undo, javax.tools, javax.xml, javax.xml.bind, javax.xml.bind.annotation, javax.xml.bind.annotation.adapters, javax.xml.bind.attachment, javax.xml.bind.helpers, javax.xml.bind.util, javax.xml.crypto, javax.xml.crypto.dom, javax.xml.crypto.dsig, javax.xml.crypto.dsig.dom, javax.xml.crypto.dsig.keyinfo, javax.xml.crypto.dsig.spec, javax.xml.datatype, javax.xml.namespace, javax.xml.parsers, javax.xml.soap, javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.sax, javax.xml.transform.stax, javax.xml.transform.stream, javax.xml.validation, javax.xml.ws, javax.xml.ws.handler, javax.xml.ws.handler.soap, javax.xml.ws.http, javax.xml.ws.soap, javax.xml.ws.spi, javax.xml.ws.wsaddressing1, javax.xml.xpath, org.ietf.jgss, org.omg.CORBA, org.omg.CORBA_2_3, org.omg.CORBA_2_3.portable, org.omg.CORBA.DynAnyPackage, org.omg.CORBA.ORBPackage, org.omg.CORBA.portable, org.omg.CORBA.TypeCodePackage, org.omg.CosNaming, org.omg.CosNaming.NamingContextExtPackage, org.omg.CosNaming.NamingContextPackage, org.omg.Dynamic, org.omg.DynamicAny, org.omg.DynamicAny.DynAnyFactoryPackage, org.omg.DynamicAny.DynAnyPackage, org.omg.IOP, org.omg.IOP.CodecFactoryPackage, org.omg.IOP.CodecPackage, org.omg.Messaging, org.omg.PortableInterceptor, org.omg.PortableInterceptor.ORBInitInfoPackage, org.omg.PortableServer, org.omg.PortableServer.CurrentPackage, org.omg.PortableServer.POAManagerPackage, org.omg.PortableServer.POAPackage, org.omg.PortableServer.portable, org.omg.PortableServer.ServantLocatorPackage, org.omg.SendingContext, org.omg.stub.java.rmi
>>
>>
>> On 20.09.2012, at 10:23, Alexander Broekhuis <a....@gmail.com> wrote:
>>
>>> Hi all,
>>>
>>> How can I replace the JAX* Factories provided by the JDK? I have several
>>> bundles using DOM and XPath (some self written, some containing existing
>>> code, etc).
>>> I need to use XPath 2.0 to get things working, and when using Saxon in a
>>> non-osgi application it is enough to simply put the Saxon jar file on the
>>> classpath. The Saxon jar provides ServiceLoader services for this.
>>>
>>> I've seen several references how ServiceLoaders can be used from OSGi, but
>>> since the JAX* ServiceLoaders are part of the JDK I don't need to make a
>>> ServiceLoader myself.
>>>
>>> Any thoughts?
>>>
>>> Tia!
>>>
>>> -- 
>>> Met vriendelijke groet,
>>>
>>> Alexander Broekhuis
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>

-- 


Ascert - Taking systems to the edge
robw@ascert.com
+27 21 300 2028 ext 5119
www.ascert.com



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: Replace JDK XML Factories

Posted by Felix Meschberger <fm...@adobe.com>.
Hi

That's what we did in Sling: Have configurations without all the XML stuff and provide a system bundle extension fragment to "reinject" the default XML APIs.

But it would thus be possible to not install those fragments but instead install your own XML API bundles

Regards
Felix


Am 20.09.2012 um 15:01 schrieb Tobias Wunden:

> Hi,
> 
> we are going with the approach to list the system packages and leave those out that we don't need. I recall discussions on this list where people were asking for an explicit exclusion feature, but I honestly don't recall what the answer was ;-)
> 
> org.osgi.framework.system.packages=
> 
> Tobias
> 
> Below is a list of packages that is leaving out
> 
> - javax.xml.stream, javax.xml.stream.events, javax.xml.stream.util (in our setup provided by ServiceMix STAX)
> - javax.mail, javax.mail.internet (in our setup provided by Jeronimo JavaMail)
> - javax.transaction, javax.transaction.xa (in our setup provided by Geronimo JTA specs)
> 
> org.osgi.framework.system.packages=org.osgi.framework.system.packages=org.osgi.framework;version=1.6.0,org.osgi.framework.hooks.bundle;version=1.0.0,org.osgi.framework.hooks.resolver;version=1.0.0,org.osgi.framework.hooks.service;version=1.1.0,org.osgi.framework.hooks.weaving;version=1.0.0,org.osgi.framework.launch;version=1.0.0,org.osgi.framework.startlevel;version=1.0.0,org.osgi.framework.wiring;version=1.0.0,org.osgi.service.packageadmin;version=1.2.0,org.osgi.service.startlevel;version=1.1.0,org.osgi.service.url;version=1.0.0,org.osgi.util.tracker;version=1.5.0,javax.accessibility, javax.activity, javax.annotation, javax.annotation.processing, javax.crypto, javax.crypto.interfaces, javax.crypto.spec, javax.imageio, javax.imageio.event, javax.imageio.metadata, javax.imageio.plugins.bmp, javax.imageio.plugins.jpeg, javax.imageio.spi, javax.imageio.stream, javax.jws, javax.jws.soap, javax.lang.model, javax.lang.model.element, javax.lang.model.type, javax.lang.model.util, javax.management, javax.management.loading, javax.management.modelmbean, javax.management.monitor, javax.management.openmbean, javax.management.relation, javax.management.remote, javax.management.remote.rmi, javax.management.timer, javax.naming, javax.naming.directory, javax.naming.event, javax.naming.ldap, javax.naming.spi, javax.net, javax.net.ssl, javax.print, javax.print.attribute, javax.print.attribute.standard, javax.print.event, javax.rmi, javax.rmi.CORBA, javax.rmi.ssl, javax.script, javax.security.auth, javax.security.auth.callback, javax.security.auth.kerberos, javax.security.auth.login, javax.security.auth.spi, javax.security.auth.x500, javax.security.cert, javax.security.sasl, javax.sound.midi, javax.sound.midi.spi, javax.sound.sampled, javax.sound.sampled.spi, javax.sql, javax.sql.rowset, javax.sql.rowset.serial, javax.sql.rowset.spi, javax.swing, javax.swing.border, javax.swing.colorchooser, javax.swing.event, javax.swing.filechooser, javax.swing.plaf, javax.swing.plaf.basic, javax.swing.plaf.metal, javax.swing.plaf.multi, javax.swing.plaf.synth, javax.swing.table, javax.swing.text, javax.swing.text.html, javax.swing.text.html.parser, javax.swing.text.rtf, javax.swing.tree, javax.swing.undo, javax.tools, javax.xml, javax.xml.bind, javax.xml.bind.annotation, javax.xml.bind.annotation.adapters, javax.xml.bind.attachment, javax.xml.bind.helpers, javax.xml.bind.util, javax.xml.crypto, javax.xml.crypto.dom, javax.xml.crypto.dsig, javax.xml.crypto.dsig.dom, javax.xml.crypto.dsig.keyinfo, javax.xml.crypto.dsig.spec, javax.xml.datatype, javax.xml.namespace, javax.xml.parsers, javax.xml.soap, javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.sax, javax.xml.transform.stax, javax.xml.transform.stream, javax.xml.validation, javax.xml.ws, javax.xml.ws.handler, javax.xml.ws.handler.soap, javax.xml.ws.http, javax.xml.ws.soap, javax.xml.ws.spi, javax.xml.ws.wsaddressing1, javax.xml.xpath, org.ietf.jgss, org.omg.CORBA, org.omg.CORBA_2_3, org.omg.CORBA_2_3.portable, org.omg.CORBA.DynAnyPackage, org.omg.CORBA.ORBPackage, org.omg.CORBA.portable, org.omg.CORBA.TypeCodePackage, org.omg.CosNaming, org.omg.CosNaming.NamingContextExtPackage, org.omg.CosNaming.NamingContextPackage, org.omg.Dynamic, org.omg.DynamicAny, org.omg.DynamicAny.DynAnyFactoryPackage, org.omg.DynamicAny.DynAnyPackage, org.omg.IOP, org.omg.IOP.CodecFactoryPackage, org.omg.IOP.CodecPackage, org.omg.Messaging, org.omg.PortableInterceptor, org.omg.PortableInterceptor.ORBInitInfoPackage, org.omg.PortableServer, org.omg.PortableServer.CurrentPackage, org.omg.PortableServer.POAManagerPackage, org.omg.PortableServer.POAPackage, org.omg.PortableServer.portable, org.omg.PortableServer.ServantLocatorPackage, org.omg.SendingContext, org.omg.stub.java.rmi
> 
> 
> On 20.09.2012, at 10:23, Alexander Broekhuis <a....@gmail.com> wrote:
> 
>> Hi all,
>> 
>> How can I replace the JAX* Factories provided by the JDK? I have several
>> bundles using DOM and XPath (some self written, some containing existing
>> code, etc).
>> I need to use XPath 2.0 to get things working, and when using Saxon in a
>> non-osgi application it is enough to simply put the Saxon jar file on the
>> classpath. The Saxon jar provides ServiceLoader services for this.
>> 
>> I've seen several references how ServiceLoaders can be used from OSGi, but
>> since the JAX* ServiceLoaders are part of the JDK I don't need to make a
>> ServiceLoader myself.
>> 
>> Any thoughts?
>> 
>> Tia!
>> 
>> -- 
>> Met vriendelijke groet,
>> 
>> Alexander Broekhuis
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: Replace JDK XML Factories

Posted by Tobias Wunden <to...@entwinemedia.com>.
Hi,

we are going with the approach to list the system packages and leave those out that we don't need. I recall discussions on this list where people were asking for an explicit exclusion feature, but I honestly don't recall what the answer was ;-)

org.osgi.framework.system.packages=

Tobias

Below is a list of packages that is leaving out

- javax.xml.stream, javax.xml.stream.events, javax.xml.stream.util (in our setup provided by ServiceMix STAX)
- javax.mail, javax.mail.internet (in our setup provided by Jeronimo JavaMail)
- javax.transaction, javax.transaction.xa (in our setup provided by Geronimo JTA specs)

org.osgi.framework.system.packages=org.osgi.framework.system.packages=org.osgi.framework;version=1.6.0,org.osgi.framework.hooks.bundle;version=1.0.0,org.osgi.framework.hooks.resolver;version=1.0.0,org.osgi.framework.hooks.service;version=1.1.0,org.osgi.framework.hooks.weaving;version=1.0.0,org.osgi.framework.launch;version=1.0.0,org.osgi.framework.startlevel;version=1.0.0,org.osgi.framework.wiring;version=1.0.0,org.osgi.service.packageadmin;version=1.2.0,org.osgi.service.startlevel;version=1.1.0,org.osgi.service.url;version=1.0.0,org.osgi.util.tracker;version=1.5.0,javax.accessibility, javax.activity, javax.annotation, javax.annotation.processing, javax.crypto, javax.crypto.interfaces, javax.crypto.spec, javax.imageio, javax.imageio.event, javax.imageio.metadata, javax.imageio.plugins.bmp, javax.imageio.plugins.jpeg, javax.imageio.spi, javax.imageio.stream, javax.jws, javax.jws.soap, javax.lang.model, javax.lang.model.element, javax.lang.model.type, javax.lang.model.util, javax.management, javax.management.loading, javax.management.modelmbean, javax.management.monitor, javax.management.openmbean, javax.management.relation, javax.management.remote, javax.management.remote.rmi, javax.management.timer, javax.naming, javax.naming.directory, javax.naming.event, javax.naming.ldap, javax.naming.spi, javax.net, javax.net.ssl, javax.print, javax.print.attribute, javax.print.attribute.standard, javax.print.event, javax.rmi, javax.rmi.CORBA, javax.rmi.ssl, javax.script, javax.security.auth, javax.security.auth.callback, javax.security.auth.kerberos, javax.security.auth.login, javax.security.auth.spi, javax.security.auth.x500, javax.security.cert, javax.security.sasl, javax.sound.midi, javax.sound.midi.spi, javax.sound.sampled, javax.sound.sampled.spi, javax.sql, javax.sql.rowset, javax.sql.rowset.serial, javax.sql.rowset.spi, javax.swing, javax.swing.border, javax.swing.colorchooser, javax.swing.event, javax.swing.filechooser, javax.swing.plaf, javax.swing.plaf.basic, javax.swing.plaf.metal, javax.swing.plaf.multi, javax.swing.plaf.synth, javax.swing.table, javax.swing.text, javax.swing.text.html, javax.swing.text.html.parser, javax.swing.text.rtf, javax.swing.tree, javax.swing.undo, javax.tools, javax.xml, javax.xml.bind, javax.xml.bind.annotation, javax.xml.bind.annotation.adapters, javax.xml.bind.attachment, javax.xml.bind.helpers, javax.xml.bind.util, javax.xml.crypto, javax.xml.crypto.dom, javax.xml.crypto.dsig, javax.xml.crypto.dsig.dom, javax.xml.crypto.dsig.keyinfo, javax.xml.crypto.dsig.spec, javax.xml.datatype, javax.xml.namespace, javax.xml.parsers, javax.xml.soap, javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.sax, javax.xml.transform.stax, javax.xml.transform.stream, javax.xml.validation, javax.xml.ws, javax.xml.ws.handler, javax.xml.ws.handler.soap, javax.xml.ws.http, javax.xml.ws.soap, javax.xml.ws.spi, javax.xml.ws.wsaddressing1, javax.xml.xpath, org.ietf.jgss, org.omg.CORBA, org.omg.CORBA_2_3, org.omg.CORBA_2_3.portable, org.omg.CORBA.DynAnyPackage, org.omg.CORBA.ORBPackage, org.omg.CORBA.portable, org.omg.CORBA.TypeCodePackage, org.omg.CosNaming, org.omg.CosNaming.NamingContextExtPackage, org.omg.CosNaming.NamingContextPackage, org.omg.Dynamic, org.omg.DynamicAny, org.omg.DynamicAny.DynAnyFactoryPackage, org.omg.DynamicAny.DynAnyPackage, org.omg.IOP, org.omg.IOP.CodecFactoryPackage, org.omg.IOP.CodecPackage, org.omg.Messaging, org.omg.PortableInterceptor, org.omg.PortableInterceptor.ORBInitInfoPackage, org.omg.PortableServer, org.omg.PortableServer.CurrentPackage, org.omg.PortableServer.POAManagerPackage, org.omg.PortableServer.POAPackage, org.omg.PortableServer.portable, org.omg.PortableServer.ServantLocatorPackage, org.omg.SendingContext, org.omg.stub.java.rmi


On 20.09.2012, at 10:23, Alexander Broekhuis <a....@gmail.com> wrote:

> Hi all,
> 
> How can I replace the JAX* Factories provided by the JDK? I have several
> bundles using DOM and XPath (some self written, some containing existing
> code, etc).
> I need to use XPath 2.0 to get things working, and when using Saxon in a
> non-osgi application it is enough to simply put the Saxon jar file on the
> classpath. The Saxon jar provides ServiceLoader services for this.
> 
> I've seen several references how ServiceLoaders can be used from OSGi, but
> since the JAX* ServiceLoaders are part of the JDK I don't need to make a
> ServiceLoader myself.
> 
> Any thoughts?
> 
> Tia!
> 
> -- 
> Met vriendelijke groet,
> 
> Alexander Broekhuis


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org