Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 349009 - Enabling tld lookup in OSGi via the 'Require-TldBundle' header breaks all WAB deployments.
Summary: Enabling tld lookup in OSGi via the 'Require-TldBundle' header breaks all WAB...
Status: RESOLVED FIXED
Alias: None
Product: Jetty
Classification: RT
Component: osgi (show other bugs)
Version: 7.4.2   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: 7.2.x   Edit
Assignee: Jan Bartel CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 349010
  Show dependency tree
 
Reported: 2011-06-10 07:15 EDT by Chris Frost CLA
Modified: 2012-03-22 07:15 EDT (History)
3 users (show)

See Also:


Attachments
Build of Virgo Jetty server at 7.4.2 and a tld test app included. (21.81 MB, application/octet-stream)
2011-06-10 07:16 EDT, Chris Frost CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Frost CLA 2011-06-10 07:15:15 EDT
When not enabled all my WABs deploy just fine, including ones that use the JSTL standard tag libs as they are actually available via the jetty-osgi-boot bundles jsp fragment. When I want to use some other tag-libs I enable Require-TldBundle support in the jetty.xml file and now all my apps are failing to respond to requests. Just a 404 is returned but when checking '/' I'm told they are actually deployed. 

Related to bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=306971

This is using Jetty embedded in Virgo. I have been in the debugger and the code in 'org.eclipse.jetty.osgi.boot.jsp.TagLibOSGiConfiguration' is working fine, when the WAB is deployed it scans the META-INF folder in the bundle I specify and finds the .tld files. These are turned in to resources and returned. The deployment then continues on and completes but obviously something is going wrong but I don't know what.

Steps to reproduce:
1. Unzip the attached copy of the Virgo Jetty Server.
3. Startup the server by going to the bin dir and running startup.sh
3. Once the console reports that the test app has been deployed navigate to 'http://localhost:8080/taglibs'. Error reported.
4. Navigate to 'http://localhost:8080/' to the list of deployed contexts to confirm that something is deployed to '/taglibs'

If you want to see the other apps that come with Virgo working remove the Jetty config in the jetty/etc/jetty.xml file for the 'Require-TldBundle' support. The test app will still not be working as it uses some spring tlds.

The included test app is much simpler for the purpose of debugging than the admin app (id-admin/pass-springsource). Finally, the splash screen app which doesn't use tlds also fails to respond to http requests when 'Require-TldBundle' support is enabled.

Thanks, Chris.
Comment 1 Chris Frost CLA 2011-06-10 07:16:36 EDT
Created attachment 197764 [details]
Build of Virgo Jetty server at 7.4.2 and a tld test app included.
Comment 2 Glyn Normington CLA 2012-02-27 06:00:45 EST
Any update as we would like to close bug 349010?
Comment 3 Chris Frost CLA 2012-03-05 11:04:27 EST
The standard tag libraries are no longer working as well.
Comment 4 Jan Bartel CLA 2012-03-21 23:23:01 EDT
Fixed for jetty-7.6.3 and jetty-8.1.3.
Comment 5 Chris Frost CLA 2012-03-22 07:15:57 EDT
Fantastic :D woooop wooop