1 Reply Latest reply on Jan 7, 2002 6:34 PM by Adrian Brock

    cmp entity bean exception

    Frank Morton Newbie

      Solaris 8/SPARC
      JDK 1.3.1_01
      Entity bean that works just fine called Profile except for below.

      Exception in thread "main" java.lang.NullPointerException: METHOD IS NOT FOUND:-3184400577625870244 {8365183370829956267=public abstract void com.base2inc.bean.entity.profile.Profile.setLeader(java.lang.String) throws java.rmi.RemoteException,
      5942406290193421106=public abstract void com.base2inc.bean.entity.profile.Profile.setLeaderId1
      [BIG SNIP]
      -8068252138006026368=public abstract void com.base2inc.bean.entity.profile.Profile.setLanguage(java.lang.String) throws java.rmi.RemoteException}
      at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:245)
      at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:220)
      at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
      at org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker_Stub.invoke(Unknown Source)
      at org.jboss.ejb.plugins.jrmp.interfaces.GenericProxy.invokeContainer(GenericProxy.java:357)
      at org.jboss.ejb.plugins.jrmp.interfaces.EntityProxy.invoke(EntityProxy.java:133)
      at $Proxy1.getValueObject(Unknown Source)
      at com.base2inc.test.profile.ProfileTestClient.(ProfileTestClient.java:57)
      at com.base2inc.test.profile.ProfileTestClient.main(ProfileTestClient.java:21)

      Profile.java contains:
      public String getValueObject() throws RemoteException;

      ProfileBean.java contains:
      public String getValueObject() { return("TESTING"); }

      when I lookup the bean, verify it contains what I think it should and even update a property of the bean, things work fine until:

      String test = profile.getValueObject();

      Which generates the exception above. Any ideas? I've tried everything
      I can think of.


        • 1. Re: cmp entity bean exception
          Adrian Brock Master

          This is a bit complicated.

          When jboss sends a message invocation remotely, it
          does not send the method name (it's usuall pretty big),
          instead it sends a hash code.
          8365183370829956267 is
          public abstract void com.base2inc.bean.entity.profile.Profile.setLeader(java.lang.String) throws java.rmi.RemoteException
          You got a proxy with the a hash code of
          -3184400577625870244 for the method you mentioned.

          But when the proxy tried to use this value to invoke the bean it doesn't have this in its list. [BIG SNIP]
          What is the correct value in [BIG SNIP] for this method.

          Can you post your ejb-jar.xml as well and anything else that might be relevant e.g. parts of the server.log
          for this bean(s) deployment..

          If you can reproduce it in a smaller test application
          that would be a great help :-)

          Hopefully this is a config problem.