Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] org.xml.sax

On Thu, Sep 13, 2012 at 8:55 AM, Thomas Watson <tjwatson@xxxxxxxxxx> wrote:

Hi Ray,

I think the issue is in the org.apache.jasper.glassfish bundle that is repackaged by the orbit project.  This bundle must import the package org.xml.sax if it uses that package.  

Done https://bugs.eclipse.org/bugs/show_bug.cgi?id=389510
 

This situation must also fail on felix.  In fact I would expect it to fail by default in felix also unless you are setting the org.osgi.framework.bootdelegation configuration property to include the org.xml.sax package.

This is entirely possible (with respect to the boot delegation) as this bundle works unmodified in glassfish 3.1.2. Tt's part of the main release.

 I suspected in equinox that you were setting the framework configuration property osgi.compatibility.bootdelegation=false (by default this configuration property is set to true in equinox).  When this option is set to true then the bundle class loader does a last resort delegation to the boot class loader before throwing a class not found.  Because this option is set to true by default must be why we are not seeing this CNFE when running eclipse help in Juno.

In fact I was not changing the boot delegation at all, however, the launch.Framework API (which is what I'm using) apparently does not allow boot delegation modification as it rejects all attempts to alter it and does not default to true as far as I can tell. 

Investigating...

- Ray
 

Thanks.

Tom



Inactive hide details for Raymond Auge ---09/12/2012 09:34:39 PM---Forgive me Tomas if I'm misunderstanding, I don't think the Raymond Auge ---09/12/2012 09:34:39 PM---Forgive me Tomas if I'm misunderstanding, I don't think the issue is actually with Equinox in any way. I just think there may b


    From:

Raymond Auge <raymond.auge@xxxxxxxxxxx>

    To:

Equinox development mailing list <equinox-dev@xxxxxxxxxxx>,

    Date:

09/12/2012 09:34 PM

    Subject:

Re: [equinox-dev] org.xml.sax




Forgive me Tomas if I'm misunderstanding,

I don't think the issue is actually with Equinox in any way. I just think there may be a different assumption in the Felix defaults compared to Equinox. Obviously there is no issue in Glassfish with this bundle, but under Equinox these are considered missing imports.

I was simply trying to understand the behavior. Your statement however, that these packages should be imported, leads me to believe that the problem lies with glassfish's jasper bundle.

I solved the issue by attaching a fragment bundle to the jasper bundle which included the missing imports and that solved that problem.

Thanks,
- Ray

On Wed, Sep 12, 2012 at 4:41 PM, Thomas Watson <tjwatson@xxxxxxxxxx> wrote:
    The answer is yes.  Bundles must import any package that is not from one of the java.* packages.  I suspect this is working for the default equinox configuration because we have a compatibility flag enabled by default that does a boot delegation as a last resort.  Could you please open an eclipse orbit bug for this at: https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Orbit

    Tom



    Inactive hide details for Raymond Auge ---09/12/2012 02:42:00 PM---excerpt of log: BundleLoader[org.apache.jasper.glassfish_2.2Raymond Auge ---09/12/2012 02:42:00 PM---excerpt of log: BundleLoader[org.apache.jasper.glassfish_2.2.2.v201112011158] found local class org.apache.jasper.compiler.Node

    From:

Raymond Auge <
raymond.auge@xxxxxxxxxxx>
    To:

Equinox development mailing list <
equinox-dev@xxxxxxxxxxx>,
    Date:

09/12/2012 02:42 PM
    Subject:

Re: [equinox-dev] org.xml.sax





    excerpt of log:

    BundleLoader[org.apache.jasper.glassfish_2.2.2.v201112011158] found local class org.apache.jasper.compiler.Node$Root
    BundleClassLoader[org.apache.jasper.glassfish_2.2.2.v201112011158].loadClass(org.xml.sax.Attributes)
    BundleLoader[org.apache.jasper.glassfish_2.2.2.v201112011158].loadBundleClass(org.xml.sax.Attributes)
    BundleLoader[org.apache.jasper.glassfish_2.2.2.v201112011158].findLocalClass(org.xml.sax.Attributes)
    BundleClassLoader[/home/rotty/AS/liferay-portal/data/framework/state/org.eclipse.osgi/bundles/69/1/bundlefile].findClassImpl(org.xml.sax.Attributes)
    BundleClassLoader[org.apache.jasper.glassfish_2.2.2.v201112011158].loadClass(org.xml.sax.Attributes) failed.
    java.lang.ClassNotFoundException: org.xml.sax.Attributes
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
    at org.apache.jasper.compiler.ParserController.parse(ParserController.java:145)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:212)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:625)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    at org.apache.jasper.servlet.JspServlet._serviceJspFile(JspServlet.java:492)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)


    - Ray


    On Wed, Sep 12, 2012 at 3:40 PM, Raymond Auge <
    raymond.auge@xxxxxxxxxxx> wrote:
      Do bundles have to declare this import?

      It appears that it's a default package exported by the system bundle.

      However, if you take a look at this bundle org.apache.jasper.glassfish_2.2.2.v201112011158 it does not declare that package as an import, but still fails to resolve it as well.

      Thoughts?

      I'm testing to see if I can solve this by attaching a fragment bundle which imports the package.

      --

      Raymond Augé  | Senior Software Architect | Liferay, Inc. 

      --- 

      8-9 October 2012 | Liferay North America Symposium | liferay.com/northamerica2012 

      16-17 October 2012 | Liferay Europe Symposium | liferay.com/europe2012 

      24-25 October 2012 | Liferay Spain Symposium | liferay.com/spain2012 





    --

    Raymond Augé  | Senior Software Architect | Liferay, Inc.  

    --- 

    8-9 October 2012 | Liferay North America Symposium | liferay.com/northamerica2012 

    16-17 October 2012 | Liferay Europe Symposium | liferay.com/europe2012 

    24-25 October 2012 | Liferay Spain Symposium | liferay.com/spain2012 

    _______________________________________________
    equinox-dev mailing list

    equinox-dev@xxxxxxxxxxx
    https://dev.eclipse.org/mailman/listinfo/equinox-dev

    _______________________________________________
    equinox-dev mailing list

    equinox-dev@xxxxxxxxxxx
    https://dev.eclipse.org/mailman/listinfo/equinox-dev




--
Raymond Augé  | Senior Software Architect | Liferay, Inc. 

---

8-9 October 2012 | Liferay North America Symposium | liferay.com/northamerica2012

16-17 October 2012 | Liferay Europe Symposium | liferay.com/europe2012

24-25 October 2012 | Liferay Spain Symposium | liferay.com/spain2012

_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev


_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev




--
Raymond Augé  | Senior Software Architect | Liferay, Inc. 

---

8-9 October 2012 | Liferay North America Symposium | liferay.com/northamerica2012

16-17 October 2012 | Liferay Europe Symposium | liferay.com/europe2012

24-25 October 2012 | Liferay Spain Symposium | liferay.com/spain2012


GIF image

GIF image


Back to the top