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