3 Replies Latest reply on Jul 18, 2007 3:44 PM by jaikiran

    Linkage Error While returning the OrderedMap from EJB

    pankajkapley

      I am Using Jboss 4.2.0 GA.
      I have deployed the Stateless Session Bean (EJB 2.1) in Jboss 4.2.0 GA
      I can lookup the bean can invoke the method properly.
      My Method returns the VO Object properly.... but i have a getter & setter for the OrderedMap. OM get set properly but while retriving it i get Linkage error....
      Error is mentioned below

      java.lang.LinkageError: loader constraints violated when linking org/apache/commons/collections/OrderedMap class
       at struts.action.aaa.AuthenticateAction.execute(AuthenticateAction.java:108)
       at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
       at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
       at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
       at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
      


      While on other side when i use the OrderedMap for fetching the data in my web App. There is no Problem at all.
      I am using Common-Collection 3.0

      Need Clarification.......


        • 1. Re: Linkage Error While returning the OrderedMap from EJB
          jaikiran

          Looks like that class is present in multiple jar files (which are loaded by different classloaders). Have a look at http://wiki.jboss.org/wiki/Wiki.jsp?page=ClassCastExceptions. See if it helps identify those jars.

          • 2. Re: Linkage Error While returning the OrderedMap from EJB
            pankajkapley

             

            "jaikiran" wrote:
            Looks like that class is present in multiple jar files (which are loaded by different classloaders). Have a look at http://wiki.jboss.org/wiki/Wiki.jsp?page=ClassCastExceptions. See if it helps identify those jars.


            Nops, There is only one jar file common-collections.jar in ....default\lib\.
            And it is there in build path of both EJB as well as Web app.

            OrderedMap returned Remotely has problems, As I Have same jar in both build path there should not any problem.... but still it persist....




            • 3. Re: Linkage Error While returning the OrderedMap from EJB
              jaikiran

               

              Nops, There is only one jar file common-collections.jar in ....default\lib\.


              I meant, do you have multiple copies of the same jar file on the server?


              And it is there in build path of both EJB as well as Web app.


              You mean that the deployed ejb jar and the web app each have a copy of the common-collections.jar file? If yes, then that might be the cause of the LinkageError. The OrderedMap might be loaded by 2 different classloader (one from the ejb and the other from the web app). Are the ejb jar and the web app part of the same application? If yes, then you could deploy them as an ear file and have only one commons-collections.jar in the ear instead of at 2 places.

              Also, did you try the jmx-console method mentioned in the link that i posted earlier? That's going to tell you whether the OrderedMap is being loaded from 2 different commons-collections.jar file.