Herve Tchepannou wrote:
 
if I change the UserCollection function by:

     public boolean findById( int id )
         throws ObjectNotFoundException,
             RemoteException
     {
         if ( TeamSpace.DEBUG_ENABLED )
         {
             m_logger.debug( "findById(" + id + ")" );
         }
 
         try
         {
             UserHome home = ( UserHome ) getHome( UserHome.JNDI_NAME,
 UserHome.class );
             User usr = home.findByPrimaryKey( new UserPK( id ) );
             return true;
         }
         catch ( FinderException f )
         {
             throw new ObjectNotFoundException( "Can't find user with
id:
 " + id, f );
         }
     }

every thing works fine. Looks like JBoss has problem returning UserData
class (BTW: UserData implements java.io.Serializable)


> 
> I have 2 beans: User (Entity) and UserCollection (Session).
> In UserCollection I have the following functions:
> 
>     public UserData findById( int id )
>         throws ObjectNotFoundException,
>             RemoteException
>     {
>         if ( TeamSpace.DEBUG_ENABLED )
>         {
>             m_logger.debug( "findById(" + id + ")" );
>         }
> 
>         try
>         {
>             UserHome home = ( UserHome ) getHome( UserHome.JNDI_NAME,
> UserHome.class );
>             User usr = home.findByPrimaryKey( new UserPK( id ) );
>             return usr.getData();
>         }
>         catch ( FinderException f )
>         {
>             throw new ObjectNotFoundException( "Can't find user with id:
> " + id, f );
>         }
>     }
> 
> When I call this function from my test-case, I receive the following
> exception:
>      [test] .test.UserCollectionBeanTest.testFindById()
>      [test] java.rmi.ServerException: RemoteException occurred in server
> thread; nested exception is:
>      [test]  java.rmi.ServerException: Load failed; nested exception is:
> 
>      [test]  java.lang.NullPointerException
>      [test] java.rmi.ServerException: Load failed; nested exception is:
>      [test]  java.lang.NullPointerException
>      [test] java.lang.NullPointerException
>      [test]  at
> 
>sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:245)
> 
>      [test]  at
> sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:220)
> 
>      [test] F
>      [test]  at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
>      [test]  at
> org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker_Stub.invoke(Unknown
> Source)
>      [test]  at
> 
>org.jboss.ejb.plugins.jrmp.interfaces.GenericProxy.invokeContainer(GenericProxy.java:357)
> 
>      [test]  at
> 
>org.jboss.ejb.plugins.jrmp.interfaces.StatelessSessionProxy.invoke(StatelessSessionProxy.java:123)
> 
>      [test]  at $Proxy2.findById(Unknown Source)
> 
> Does anyone knows what's wrong in my bean?
> thanx
> 
> PS: Im using JBoss 2.4 with Linux 6.2
> 
>   ------------------------------------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 
>2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd";>
> 
> <ejb-jar>
> 
>    <display-name></display-name>
> 
>    <enterprise-beans>
> 
>       <session>
>          <description>Collection of users</description>
>          <ejb-name>tspace/UserCollection</ejb-name>
>          <home>tbh.tspace.bo.user.UserCollectionHome</home>
>          <remote>tbh.tspace.bo.user.UserCollection</remote>
>          <ejb-class>tbh.tspace.bo.user.UserCollectionSession</ejb-class>
>          <session-type>Stateless</session-type>
>          <transaction-type>Container</transaction-type>
> 
>          <ejb-ref>
>             <ejb-ref-name>ejb/tspace/User</ejb-ref-name>
>             <ejb-ref-type>Entity</ejb-ref-type>
>             <home>tbh.tspace.bo.user.UserHome</home>
>             <remote>tbh.tspace.bo.user.User</remote>
>             <ejb-link>tspace/User</ejb-link>
>          </ejb-ref>
> 
>       </session>
> 
>       <entity>
>          <description>TeamSpace user</description>
>          <ejb-name>tspace/User</ejb-name>
>          <cmp-version>1.0</cmp-version>
>          <home>tbh.tspace.bo.user.UserHome</home>
>          <remote>tbh.tspace.bo.user.User</remote>
>          <ejb-class>tbh.tspace.bo.user.UserCMP</ejb-class>
>          <persistence-type>Container</persistence-type>
>          <prim-key-class>tbh.tspace.bo.user.UserPK</prim-key-class>
>          <reentrant>True</reentrant>
> 
>          <cmp-field>
>             <description>Unique Id</description>
>             <field-name>id</field-name>
>          </cmp-field>
>          <cmp-field>
>             <description>Login</description>
>             <field-name>login</field-name>
>          </cmp-field>
>          <cmp-field>
>             <description>Password</description>
>             <field-name>password</field-name>
>          </cmp-field>
>          <cmp-field>
>             <description>First name</description>
>             <field-name>firstname</field-name>
>          </cmp-field>
>          <cmp-field>
>             <description>Last name</description>
>             <field-name>lastname</field-name>
>          </cmp-field>
>          <cmp-field>
>             <description>Email</description>
>             <field-name>email</field-name>
>          </cmp-field>
>          <cmp-field>
>             <description>ID of the user timezone</description>
>             <field-name>timezoneID</field-name>
>          </cmp-field>
>          <cmp-field>
>             <description>Version number for soft locking</description>
>             <field-name>version</field-name>
>          </cmp-field>
> 
>       </entity>
> 
>       <entity>
>          <description>Workspace bean</description>
>          <ejb-name>tspace/Workspace</ejb-name>
>          <cmp-version>1.0</cmp-version>
>          <home>tbh.tspace.bo.workspace.WorkspaceHome</home>
>          <remote>tbh.tspace.bo.workspace.Workspace</remote>
>          <ejb-class>tbh.tspace.bo.workspace.WorkspaceCMP</ejb-class>
>          <persistence-type>Container</persistence-type>
>          <prim-key-class>tbh.tspace.bo.workspace.WorkspacePK</prim-key-class>
>          <reentrant>True</reentrant>
> 
>          <cmp-field>
>             <description>Workspace unique id</description>
>             <field-name>id</field-name>
>          </cmp-field>
>          <cmp-field>
>             <description>Name</description>
>             <field-name>name</field-name>
>          </cmp-field>
>          <cmp-field>
>             <description>Description</description>
>             <field-name>description</field-name>
>          </cmp-field>
>          <cmp-field>
>             <description>Date of creation</description>
>             <field-name>creationDate</field-name>
>          </cmp-field>
>          <cmp-field>
>             <description>Version number for soft locking</description>
>             <field-name>version</field-name>
>          </cmp-field>
> 
>       </entity>
> 
>    </enterprise-beans>
> 
>    <assembly-descriptor>
> 
>       <container-transaction>
>          <method>
>                  <ejb-name>tspace/UserCollection</ejb-name>
>             <method-name>*</method-name>
>          </method>
>          <trans-attribute>Supports</trans-attribute>
>       </container-transaction>
>       <container-transaction>
>          <method>
>                  <ejb-name>tspace/User</ejb-name>
>             <method-name>*</method-name>
>          </method>
>          <trans-attribute>Supports</trans-attribute>
>       </container-transaction>
>       <container-transaction>
>          <method>
>                  <ejb-name>tspace/Workspace</ejb-name>
>             <method-name>*</method-name>
>          </method>
>          <trans-attribute>Supports</trans-attribute>
>       </container-transaction>
> 
>    </assembly-descriptor>
> 
> </ejb-jar>
> 
>   ------------------------------------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> 
> <!DOCTYPE jaws PUBLIC "-//JBoss//DTD JAWS//EN" 
>"http://www.jboss.org/j2ee/dtd/jaws.dtd";>
> <jaws>
>    <datasource>java:/TSpaceDS</datasource>
>    <type-mapping>Hypersonic SQL</type-mapping>
> 
>    <enterprise-beans>
> 
>       <entity>
>          <ejb-name>tspace/User</ejb-name>
>          <table-name>t_user</table-name>
>          <create-table>true</create-table>
>          <remove-table>true</remove-table>
>          <tuned-updates>true</tuned-updates>
>          <read-only>false</read-only>
> 
>          <cmp-field>
>             <field-name>email</field-name>
>             <sql-type>VARCHAR(255)</sql-type>
>          </cmp-field>
>          <cmp-field>
>             <field-name>firstname</field-name>
>             <sql-type>VARCHAR(50)</sql-type>
>          </cmp-field>
>          <cmp-field>
>             <field-name>id</field-name>
>             <column-name>pk</column-name>
>          </cmp-field>
>          <cmp-field>
>             <field-name>lastname</field-name>
>             <sql-type>VARCHAR(50)</sql-type>
>          </cmp-field>
>          <cmp-field>
>             <field-name>login</field-name>
>             <sql-type>VARCHAR(16)</sql-type>
>          </cmp-field>
>          <cmp-field>
>             <field-name>password</field-name>
>             <sql-type>VARCHAR(16)</sql-type>
>          </cmp-field>
>          <cmp-field>
>             <field-name>timezoneID</field-name>
>             <sql-type>VARCHAR(50)</sql-type>
>          </cmp-field>
> 
>       </entity>
> 
>       <entity>
>          <ejb-name>tspace/Workspace</ejb-name>
>          <table-name>t_workspace</table-name>
>          <create-table>true</create-table>
>          <remove-table>true</remove-table>
>          <tuned-updates>true</tuned-updates>
>          <read-only>false</read-only>
> 
>          <cmp-field>
>             <field-name>creationDate</field-name>
>          </cmp-field>
>          <cmp-field>
>             <field-name>description</field-name>
>             <sql-type>VARCHAR(50)</sql-type>
>          </cmp-field>
>          <cmp-field>
>             <field-name>id</field-name>
>          </cmp-field>
>          <cmp-field>
>             <field-name>name</field-name>
>             <sql-type>VARCHAR(50)</sql-type>
>          </cmp-field>
> 
>       </entity>
> 
>    </enterprise-beans>
> </jaws>
> 
>   ------------------------------------------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> 
> <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS//EN" 
>"http://www.jboss.org/j2ee/dtd/jboss.dtd";>
> 
> <jboss>
> 
>    <enterprise-beans>
>       <entity>
>          <ejb-name>tspace/User</ejb-name>
>          <jndi-name>ejb/tspace/User</jndi-name>
>       </entity>
>       <entity>
>          <ejb-name>tspace/Workspace</ejb-name>
>          <jndi-name>ejb/tspace/Workspace</jndi-name>
>       </entity>
> 
>       <session>
>          <ejb-name>tspace/UserCollection</ejb-name>
>          <jndi-name>ejb/tspace/UserCollection</jndi-name>
>                         <configuration-name>Standard Stateless 
>SessionBean</configuration-name>
>          <ejb-ref>
>             <ejb-ref-name>ejb/tspace/User</ejb-ref-name>
>             <jndi-name>ejb/tspace/User</jndi-name>
>          </ejb-ref>
>       </session>
> 
>    </enterprise-beans>
> 
>    <resource-managers>
>    </resource-managers>
> 
> </jboss>

_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to