8 Replies Latest reply on Feb 24, 2009 3:13 PM by Wolfgang Knauf

    Samples: different versions for Tomcat/JBoss?

    Wolfgang Knauf Master

      Hi Stan,

      the samples you provide are built for a standalone webserver (Tomcat? Jetty?), and running them on a JBoss is a bit tricky, because a bunch of libraries (JSF, EL, ...) must be removed.
      So it would be great if you could provide sample packages for e.g. Tomcat and JBoss 5 (and 4.2 maybe), which can be directly deployed and run without modifications.

      Thanks

      Wolfgang

        • 1. Re: Samples: different versions for Tomcat/JBoss?
          Stan Silvert Master

          Thanks for the suggestion Wolfgang. I'll do that. Right now, you can build and test the JSFUnit subversion tree against Jetty, Tomcat 5, Tomcat 6, JBoss 4.0.x, JBoss 4.2.x, and JBoss 5.x. So if you do that you can look and see how each example application turned out.

          See https://jira.jboss.org/jira/browse/JSFUNIT-86

          Stan

          • 2. Re: Samples: different versions for Tomcat/JBoss?
            Wolfgang Knauf Master

            Thanks for reply.

            I have to admit that I never used Maven, I am still at the level of managing my dependencies myself ;-). That's why I prefer downloadable, runnable samples ;-)

            Wolfgang

            • 3. Re: Samples: different versions for Tomcat/JBoss?
              Stan Silvert Master

              I updated the samples on this page:
              http://www.jboss.org/community/docs/DOC-9819

              Let me know what you think.

              Stan

              • 4. Re: Samples: different versions for Tomcat/JBoss?
                Wolfgang Knauf Master

                Hi Stan,

                I took a look at the samples (I didn't find the time to do it before).

                They contain still the "broken" cargo library (see my forum post about JSR88 problems about this a while ago), but this is probably a problem just for JSR88 users like me ;-).

                ==============
                For JBoss 5, there is a problem: context.xml contains an absolute path to "users.xml":

                <Context>
                 <Realm className="org.apache.catalina.realm.MemoryRealm"
                 pathname="C:\projects\jbosslabs\jsfunit\jboss-jsfunit-examples\jboss-jsfunit-examples-hellojsf\jboss-jsfunit-examples-hellojsf-jsfunit\target/jboss-jsfunit-examples-hellojsf-jsfunit-1.0.0.GA-SNAPSHOT/WEB-INF/users.xml"/>
                </Context>


                This results in:
                LifecycleException: Memory database file C:\projects\jbosslabs\jsfunit\jboss-jsfunit-examples\jboss-jsfunit-examples-hellojsf\jboss-jsfunit-examples-hellojsf-jsfunit\target\jboss-jsfunit-examples-hellojsf-jsfunit-1.0.0.GA-SNAPSHOT\WEB-INF\users.xml cannot be read
                 at org.apache.catalina.realm.MemoryRealm.start(MemoryRealm.java:289)


                Unfortunately, I did not find a way to specify a path relative to the current context. So, it should be at least a big info on the website.

                ============

                JBoss 5: The app can be found at http://localhost:8080/hellojsfJBoss5/, the URL in your doc contains an additional ".war", which seems to be wrong (deployment of full WAR).

                By the way: does your doc refer to exploded deployment or WAR deployment? Does the path to the user realm work in WAR deployment (I let it point to the users.xml in my eclipse project ;-))?

                ========
                The "Memory Database" problem exists for the JBoss 4.2 version and the Tomcat 6 version. Tomcat 5 I did not verify.

                ========
                In "\WEB-INF\classes\org\jboss\jsfunit\example\hellojsf" of all samples there are three .class files without sources (CheckboxBean.class, Marathon.class, Marathons.class).

                ========
                I fixed a minor type in the doc: "For non-JEE servlet containers that support JSP 2.1 (Tomcat 5, Jetty 6, etc.)" should talk about "Tomcat 6".

                ========
                Is it possible to provide also server specific versions of your other samples/unit tests like "jboss-jsfunit-examples-ajax4jsf"?

                Thanks four your help

                Wolfgang

                • 5. Re: Samples: different versions for Tomcat/JBoss?
                  Stan Silvert Master

                   

                  "Wolfgang Knauf" wrote:
                  Hi Stan,

                  I took a look at the samples (I didn't find the time to do it before).

                  They contain still the "broken" cargo library (see my forum post about JSR88 problems about this a while ago), but this is probably a problem just for JSR88 users like me ;-).

                  I'm going to try to fix that in the JBoss repo today. I can fix the cargo jar by hand before I upload to the JBoss repo. I've reported this to the Cargo team. Hopefully it will be fixed in future versions.

                  "Wolfgang Knauf" wrote:

                  For JBoss 5, there is a problem: context.xml contains an absolute path to "users.xml":

                  <Context>
                   <Realm className="org.apache.catalina.realm.MemoryRealm"
                   pathname="C:\projects\jbosslabs\jsfunit\jboss-jsfunit-examples\jboss-jsfunit-examples-hellojsf\jboss-jsfunit-examples-hellojsf-jsfunit\target/jboss-jsfunit-examples-hellojsf-jsfunit-1.0.0.GA-SNAPSHOT/WEB-INF/users.xml"/>
                  </Context>


                  This results in:
                  LifecycleException: Memory database file C:\projects\jbosslabs\jsfunit\jboss-jsfunit-examples\jboss-jsfunit-examples-hellojsf\jboss-jsfunit-examples-hellojsf-jsfunit\target\jboss-jsfunit-examples-hellojsf-jsfunit-1.0.0.GA-SNAPSHOT\WEB-INF\users.xml cannot be read
                   at org.apache.catalina.realm.MemoryRealm.start(MemoryRealm.java:289)


                  Unfortunately, I did not find a way to specify a path relative to the current context. So, it should be at least a big info on the website.

                  I didn't see a way to do a relative path either, which is why the path gets set during the build. Unfortunately, that means that the war will only run on the machine where it was built. That's also why I didn't see the problem before I uploaded. Thanks for letting me know about the problem. I've corrected all of the WARs on that page now. The security tests are commented out for the demo.

                  "Wolfgang Knauf" wrote:

                  By the way: does your doc refer to exploded deployment or WAR deployment? Does the path to the user realm work in WAR deployment (I let it point to the users.xml in my eclipse project ;-))?

                  If you explode the WAR it should still work. I removed the context.xml file so you won't see the error. And I commented out the test for authentication.

                  "Wolfgang Knauf" wrote:

                  In "\WEB-INF\classes\org\jboss\jsfunit\example\hellojsf" of all samples there are three .class files without sources (CheckboxBean.class, Marathon.class, Marathons.class).

                  Good catch. I'll have to attach them separately.

                  "Wolfgang Knauf" wrote:

                  I fixed a minor type in the doc: "For non-JEE servlet containers that support JSP 2.1 (Tomcat 5, Jetty 6, etc.)" should talk about "Tomcat 6".

                  Thanks for fixing that.

                  "Wolfgang Knauf" wrote:

                  Is it possible to provide also server specific versions of your other samples/unit tests like "jboss-jsfunit-examples-ajax4jsf"?

                  It's possible, but I'm sure I won't be able to do it any time soon. I've got a lot to catch up on before I release and then go on vacation. It's really easy to build though. I've updated the "How to build" doc: http://www.jboss.org/jsfunit/building-jsfunit.html

                  "Wolfgang Knauf" wrote:

                  Thanks four your help

                  Wolfgang

                  Same to you Wolfgang. This is great feedback.

                  Stan

                  • 6. Re: Samples: different versions for Tomcat/JBoss?
                    Wolfgang Knauf Master

                    Hi Stan,


                    one minor thing: the link for running the JBoss 5 sample is wrong: "...click http://localhost:8080/hellojsfJBoss5.war to run ..." => the URL should not end with ".war".

                    And another minor thing: Your additional sources sample contains a whole bunch of ".svn" directories. Is this intended ;-)?


                    Have a nice vacation!

                    Wolfgang

                    • 7. Re: Samples: different versions for Tomcat/JBoss?
                      Stan Silvert Master

                      Thanks Wolfgang. This should be all fixed now.

                      I learned something new. When you delete a file from an archive using WinZip, it deletes the file, but not the reference. So if you look at the zip file with anything besides WinZip (like jar) it will look like those old files are still there.

                      Stan

                      • 8. Re: Samples: different versions for Tomcat/JBoss?
                        Wolfgang Knauf Master

                        Thanks for fixing it, now there is nothing left for me to complain about ;-)

                        I make heavy use of Winzip (12) to modify JARs, too, and I never experienced such problems. Maybe a problem of an older version?

                        Wolfgang