Issue Details (XML | Word | Printable)

Key: SHALE-317
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Minor Minor
Assignee: Craig McClanahan
Reporter: sean schofield
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Shale

Annotations do not work in Jetty

Created: 20/Oct/06 01:22 PM   Updated: 23/Jan/07 04:40 PM
Return to search
Component/s: Tiger
Affects Version/s: None
Fix Version/s: 1.0.4


 Description  « Hide
Matthias was reporting problems with the Tiger annotations a while back and now I'm having problems with them when using the Jetty plugin. The managed beans are not available in EL expressions. Its most likely a problem on the Jetty side of things but if we can figure out what's going on here we could help users who are using Jetty.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Craig McClanahan made changes - 12/Nov/06 12:47 AM
Field Original Value New Value
Assignee Craig McClanahan [ craigmcc ]
Repository Revision Date User Message
ASF #473867 Sun Nov 12 04:00:53 UTC 2006 craigmcc In order to investigate SHALE-317 (Annotations do not work in Jetty),
and to enable easy testing of Shale webapps with Jetty, add the
maven-jetty-plugin to the shale-apps-parent pom. So far, however,
I haven't had much luck ... trying to run shale-usecases gives a
403 (FORBIDDEN) error, while most other apps give an error of:

  The absolute uri: http://java.sun.com/jsf/core cannot be
  resolved in either web.xml or the jar files deployed with
  this application.

This tag library URI is defined in the MyFaces implementation JAR that
is included in the application, so it is not at all clear why this
error message is being reported.
Files Changed
MODIFY /shale/framework/trunk/shale-apps/pom.xml

Repository Revision Date User Message
ASF #473877 Sun Nov 12 04:50:50 UTC 2006 craigmcc Working further on SHALE-317, modify the Jetty plugin registration the way
that the MyFaces Tomahawk trunk does it, defining a "jetty" profile that
(among other things) *replaces* the Jetty JSP compilation environment with
one from Tomcat 5.5.9 (!). That does ***not*** give me much confidence
about Jetty, but at least the shale-test-tiger application works (including
tests that require the annotations to be recognized).

I'm going to leave the issue open for the moment, because shale-sql-browser
fails on an EL evaluation error. Will probably require more hackery to
work around the combination of JSF and Jetty.
Files Changed
MODIFY /shale/framework/trunk/shale-apps/pom.xml

Craig McClanahan added a comment - 12/Nov/06 05:09 AM
With commit r473877, I have committed enough hacks to get shale-test-tiger (including the tests that require the annotations to be recognized) with Jetty 6.0.1. However, there are enough weirdness left to look at (the only way to make it work so far is to replace Jetty's JSP compiler with one from Tomcat), and the fact that the usecases and sql-browser apps don't work yet, that I want to leave this issue open for a bit.

Craig McClanahan added a comment - 12/Nov/06 06:48 AM
At least part of the issue is that Jetty apparently does not recognize TLDs embedded in JAR files, contrary to the requirements of the JSP specification. Filed <http://jira.codehaus.org/browse/JETTY-170> against Jetty to track this.

sean schofield added a comment - 13/Nov/06 03:22 PM
Are we sure the TLD's aren't recognized? That supposedly was fixed in Jetty 6.x. I'm also not experiencing any problems using the MyFaces or RI implementations which both rely on listeners defined in the TLD.

Craig McClanahan added a comment - 13/Nov/06 07:06 PM
> Are we sure the TLD's aren't recognized? That supposedly was fixed in Jetty 6.x.

Try deploying any of our Shale examples with the Jetty 6.0.1 plugin, and you'll see the error message quoted in the message thread above, stating that the tag library with URI "http://java.sun.com/jsf/core" is not recognized (even though the myfaces-impl.jar file that contains it is present in WEB-INF/lib.

> I'm also not experiencing any problems using the MyFaces or RI implementations which both
> rely on listeners defined in the TLD.

So the actual problem is likely to be that TLD URIs are not recognized, rather than the TLDs not being scanned at all. That's still a bug, but its a different bug.

Craig McClanahan added a comment - 14/Dec/06 01:20 AM
As of Jetty 6.1.0rc1, the Jetty related problems appear to have been addressed. I was successfully able to run all the tests in shale-test-tiger, which includes extensive use of evaluating EL expressions and loading annotated managed beans (as well as regular ones). Therefore, I'm going to mark this issue as FIXED.

Craig McClanahan made changes - 14/Dec/06 01:20 AM
Resolution Fixed [ 1 ]
Status Open [ 1 ] Resolved [ 5 ]
Rahul Akolkar made changes - 23/Jan/07 04:40 PM
Fix Version/s 1.0.4 [ 21790 ]
Fix Version/s 1.0.4-SNAPSHOT [ 21740 ]
Jeff Turner made changes - 09/Aug/07 07:17 AM
Workflow Struts [ 38844 ] Struts - editable closed status [ 42478 ]
Antonio Petrelli made changes - 08/Jan/09 08:57 AM
Workflow Struts - editable closed status [ 42478 ] Struts - editable closed status (temporary) [ 46339 ]
Antonio Petrelli made changes - 08/Jan/09 09:08 AM
Workflow Struts - editable closed status (temporary) [ 46339 ] Struts - editable closed status [ 52965 ]