5 Replies Latest reply on Apr 4, 2002 8:14 PM by user57

    Register Pair 2/3 contains wrong type on ejbSelect

    rinehart

      Here's the latest. I'm now working on the latest head (updated a few hours ago). In my ejbSelectNetWorth method I'm getting a RuntimeException when deploying my appication. But I cannot for the life of me figure out what is expressed in the wrong type. Does someone know what triggers this exception? Here's my ejbSelectNetWorth method:

      &nbsp&nbsp public abstract Collection ejbSelectNetWorth(long clientId, long createDate) throws FinderException;

      and the tag:


      &nbsp&nbsp<query-method>
      &nbsp&nbsp&nbsp&nbsp<method-name>ejbSelectNetWorth</method-name>
      &nbsp&nbsp&nbsp&nbsp<method-params>
      &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<method-param>long</method-param>
      &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<method-param>long</method-param>
      &nbsp&nbsp&nbsp&nbsp</method-params>
      &nbsp&nbsp</query-method>
      &nbsp&nbsp<ejb-ql><![CDATA[
      &nbsp&nbsp&nbsp&nbspSELECT acct.balance
      &nbsp&nbsp&nbsp&nbspFROM Account acct
      &nbsp&nbsp&nbsp&nbspWHERE acct.accountHolder.clientId = ?1
      &nbsp&nbsp&nbsp&nbsp&nbsp&nbspAND acct.accountHolder.createDate = ?2]]>
      &nbsp&nbsp</ejb-ql>


      accountHolder.clientId is long, and accountHolder.createDate is long.

      any thoughts?

        • 1. Re: Register Pair 2/3 contains wrong type on ejbSelect
          rinehart

          I'm attaching server.log with stack trace for what it's worth. :)

          • 2. Re: Register Pair 2/3 contains wrong type on ejbSelect
            rinehart

            This issue has a root cause in a java.lang.VerifierError, which is subclass of java.lang.LinkageError. JavaDoc says, "Subclasses of LinkageError indicate that a class has some dependency on another class; however, the latter class has incompatibly changed after the compilation of the former class."

            The VerifierError comes up on several of the ejbSelect methods in my application. This was not a problem prior to Mar 7, and it's root cause may be in changes that were made to the org.jboss.proxy.compiler package on that day. I've snooped around the classes in that package, but am hesitant to touch anything. Hopefully someone else takes an interest in this issue who has more knowledge of the compiler package.

            - Mac

            • 3. Re: Register Pair 2/3 contains wrong type on ejbSelect
              rinehart

              Here's a sample application that can be used to reproduce the error

              • 4. Re: Register Pair 2/3 contains wrong type on ejbSelect
                rinehart

                Note, there is an unrelated EJB-QL syntax error in the ejb-jar file of the sample application. Appologies for that, I'm not getting those error reports because the deployment is failing before the issue is identified.

                I'd repost the app, but I don't want to create a clutter of attachments on a program that I haven't been able to test. The fix is simple. Open the ejb-jar file, search for "owner.clientId = ?1 owner.createDate = ?2", and and the missing keyword "AND" in the middle.

                • 5. Re: Register Pair 2/3 contains wrong type on ejbSelect
                  user57

                  I have briefly looked into this, but I can't tell where the root of the bug is. Could be something in org.jboss.proxy.compiler, or could be a bug in BCEL...

                  =(

                  --jason