11 Replies Latest reply on Aug 27, 2008 6:12 PM by Beren Erchamion

    JBoss Tools 3.0.0.Alpha1 is released

    Max Rydahl Andersen Master

      Today we released the first alpha version of JBoss Tools 3.

      See the blog here: http://in.relation.to/Bloggers/JBossTools300Alpha1GanymedePagesxmlPortletTPTPBIRT



        • 1. Re: JBoss Tools 3.0.0.Alpha1 is released
          Beren Erchamion Newbie

          I grabbed the tools and tried them out on Eclipse 3.4 with the latest Seam 2.0 code, JBoss-AS 4.2.3, and MySQL 5.x.

          Unfortunately I still have the same killer problems that impacted the previous release when working with EARs:

          1. The components.xml generated by the project creation wizard has a security configuration that is non-existent. This prevents you from logging in until you manually change it.

          2. I get duplication PhaseListener's created for EAR projects. I think this is due to misconfiguration(s) in MANIFEST files, but I'm not 100% certain yet what is causing this.

          Both of these make it pretty hard to get started using both the tools and seam itself.

          If there are fixes for these please let me know. That would be really great.

          beren

          • 2. Re: JBoss Tools 3.0.0.Alpha1 is released
            Denis Golovin Master

            I've just went through new Seam Project EAR wizard in your configuration. I cannot reproduce any of your problems.
            1. I'm able log in/log out in generated application;
            2. I have no any errors related PhaseListener.

            Could you open JIRA issue with steps you did and attached logs, stack traces, anything you think can help us find the problem and fix it.

            Could you point me to your original post about problems with previous release?

            Thanks

            • 3. Re: JBoss Tools 3.0.0.Alpha1 is released
              Beren Erchamion Newbie

              Absolutely - will do so tonight.

              I haven't posted any issues - but the Jira and boards here and at the seam site are littered with both issues - but no real answers on how to fix.

              Just Google on "SeamPhaseListener".

              I'll post more details tonight on the Jira. Thanks very much for the offer of help. I'm very excited to use JBoss tools and seam.

              I'll also clarify that seam-gen works just fine on the same box (my laptop) with the same classpath and jars.

              beren

              • 4. Re: JBoss Tools 3.0.0.Alpha1 is released
                Beren Erchamion Newbie

                Here's the details.

                I have Eclipse 3.4 (latest build) running with JDK 1.6.0_05 in 1.5 compatibility mode. I have JBoss 4.2.3 with JBoss Portal 2.7B as the only other app running.

                I have seam 2.1.0B1.

                I installed the 3.0 tools to my eclipse using update manager, then restarted. Then I switch to the Seam perspective and do a new project, seam project, walk thru the stuff and pick off EAR as the deployment option. Finish out the wizard. The app deploys with no errors, but when I attempt to access it I get an error about a duplicate Seam PhaseListenter.

                Here's the error:

                22:07:37,546 ERROR [SeamPhaseListener] uncaught exception
                java.lang.IllegalStateException: No phase id bound to current thread (make sure you do not have two SeamPhaseListener instances installed)
                at org.jboss.seam.contexts.PageContext.getPhaseId(PageContext.java:162)
                at org.jboss.seam.contexts.PageContext.isBeforeInvokeApplicationPhase(PageContext.java:174)
                at org.jboss.seam.contexts.PageContext.getCurrentWritableMap(PageContext.java:90)
                at org.jboss.seam.contexts.PageContext.set(PageContext.java:97)
                at org.jboss.seam.Component.newInstance(Component.java:1977)
                at org.jboss.seam.Component.getInstance(Component.java:1873)
                at org.jboss.seam.Component.getInstance(Component.java:1852)
                at org.jboss.seam.Component.getInstance(Component.java:1829)
                at org.jboss.seam.Component.getInstance(Component.java:1824)
                at org.jboss.seam.faces.FacesPage.instance(FacesPage.java:92)
                at org.jboss.seam.core.ConversationPropagation.restorePageContextConversationId(ConversationPropagation.java:84)
                at org.jboss.seam.core.ConversationPropagation.restoreConversationId(ConversationPropagation.java:57)
                at org.jboss.seam.jsf.SeamPhaseListener.afterRestoreView(SeamPhaseListener.java:389)
                at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:228)
                at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:194)
                at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175)
                at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114)
                at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:104)
                at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
                at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
                at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
                at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
                at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
                at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
                at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
                at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
                at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
                at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
                at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
                at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
                at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
                at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
                at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
                at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                at java.lang.Thread.run(Thread.java:619)

                That's pretty much it. I do get a warning prior to my app getting deployed that I have duplicate listeners.

                Tonight or tomorrow I'll blow away my entire config and try again from scratch.

                • 5. Re: JBoss Tools 3.0.0.Alpha1 is released
                  Beren Erchamion Newbie

                  My "other issue" with the secutiry context is documented in on a forum on the seam site...I didn't cross-post it tho since that's normally not cool and I didn't want to be a jerk.

                  Its under my name "beren erchamion".

                  beren

                  • 8. Re: JBoss Tools 3.0.0.Alpha1 is released
                    Beren Erchamion Newbie

                    I just ran thru the wizard taking all the defaults with MySQL as a database. Here's the components.xml file that is generated:

                    <?xml version="1.0" encoding="UTF-8"?>
                    <components xmlns="http://jboss.com/products/seam/components"
                    xmlns:core="http://jboss.com/products/seam/core"
                    xmlns:persistence="http://jboss.com/products/seam/persistence"
                    xmlns:drools="http://jboss.com/products/seam/drools"
                    xmlns:bpm="http://jboss.com/products/seam/bpm"
                    xmlns:security="http://jboss.com/products/seam/security"
                    xmlns:mail="http://jboss.com/products/seam/mail"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xsi:schemaLocation=
                    "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.1.xsd
                    http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.1.xsd
                    http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.1.xsd
                    http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.1.xsd
                    http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.1.xsd
                    http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.1.xsd
                    http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.1.xsd">

                    <core:init debug="true" jndi-pattern="@jndiPattern@"/>

                    <core:manager concurrent-request-timeout="500"
                    conversation-timeout="120000"
                    conversation-id-parameter="cid"
                    parent-conversation-id-parameter="pid"/>

                    <persistence:managed-persistence-context name="entityManager"
                    auto-create="true"
                    persistence-unit-jndi-name="java:/eartest7EntityManagerFactory"/>

                    <drools:rule-base name="securityRules">
                    <drools:rule-files>
                    /security.drl
                    </drools:rule-files>
                    </drools:rule-base>

                    <security:rule-based-permission-resolver security-rules="#{securityRules}"/>

                    <security:identity authenticate-method="#{authenticator.authenticate}" remember-me="true"/>








                    <mail:mail-session host="localhost" port="2525" username="test" password="test" />

                    <!-- For use with jBPM pageflow or process management -->
                    <!--
                    <bpm:jbpm>
                    <bpm:process-definitions></bpm:process-definitions>
                    <bpm:pageflow-definitions></bpm:pageflow-definitions>
                    </bpm:jbpm>
                    -->


                    • 9. Re: JBoss Tools 3.0.0.Alpha1 is released
                      Beren Erchamion Newbie

                      The other issue is:

                      08:54:23,709 WARN [SeamPhaseListener] There should only be one Seam phase listener per application

                      When you use the wizard to create an EAR project I get this issue every time. The application will deploy properly, but then it will not load up and you'll get an exception about duplicate PhaseListener's.

                      I think the problem is a collision between the base project and the ejb project and their manifest files. If you go into the manifest file in the META-INF directory of the ejb project and delete the reference to jboss-seam.jar and then redeploy your app it will now work.

                      Of course this causes problems in the eclipse project. You can right-click on the project and now go in and manually add jboss-seam.jar back to the build path to fix that. I figured this out this morning as a workable solution. Kind of messy and just a hack, but so far it works.

                      beren

                      • 10. Re: JBoss Tools 3.0.0.Alpha1 is released
                        Max Rydahl Andersen Master

                        Ok, so this looks like a Seam 2.1 issue.

                        Have you tried with Seam 2.0 - does it happen there too ?

                        ejb-jar needs to have jboss-seam.jar in manifest.mf; makes no sense without it.

                        Could you report it in jira and we'll look at what is going on.

                        • 11. Re: JBoss Tools 3.0.0.Alpha1 is released
                          Beren Erchamion Newbie

                          ok - will do. Yes the same thing happens with 2.0.

                          I moved to 2.1 in the hope that this might be fixed.

                          Adding the jar back manually after deleting it from the manifest works both in eclipse and when you deploy.

                          I'll post a jira. It is also possible there's something funky in my eclipse. I just blew away my config and I'm downloading a clean eclipse 3.4 and reinstalling everything. If I still have the issue I'll post to jira tonight.

                          beren