Perhaps you are returning something (the object or one of its constituent
parts) that is not marked as serializable.

----- Original Message -----
From: "Hanson, Matthew" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, January 20, 2003 12:17 PM
Subject: [JBoss-user] NotSerializableException Thrown by RelationSet in
jboss-3.0.4_tom cat-4.1.12


> Hi--
>
> I'm trying to configure jboss 3.0.4 w/tomcat4.1.12 for CMR for two tables
in
> our Oracle DB.  I use xdoclet1.1.2 to generate the interface and bean
> classes.  I have managed CMP for both tables that I'm using, but am having
> some trouble joining the two for CMR.
>
> Apologies in advance for the deluge of xml and code you are about to
see...
> :)
>
> The bean is deployed just fine, but the following error stack is generated
> when I try to use the one bean to get the many bean via a Collection:
>
> eBillClient caught an unexpected exception!
> java.lang.reflect.UndeclaredThrowableException
>         at $Proxy1.getSubscribers(Unknown Source)
>         at client.eBill.eBillClient.main(eBillClient.java:54)
> Caused by: java.io.NotSerializableException:
> org.jboss.ejb.plugins.cmp.jdbc.bridge.RelationSet
>         at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
>         at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
>         at java.rmi.MarshalledObject.<init>(MarshalledObject.java:92)
>         at
> org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:387)
>         at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
>         at
>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> .java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
>         at sun.rmi.transport.Transport$1.run(Transport.java:148)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
>         at
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
>         at
>
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:7
> 01)
>         at java.lang.Thread.run(Thread.java:536)
>         at
>
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteC
> all.java:247)
>
>         at
> sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
>         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
>         at
org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown
> Source)
>         at
>
org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProx
> y.java:138)
>         at
>
org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:108)
>         at
>
org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77
> )
>         at
> org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80)
>         at
> org.jboss.proxy.ejb.EntityInterceptor.invoke(EntityInterceptor.java:116)
>         at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:76)
>         ... 2 more
>
> Here is the relationship from ejb-jar.xml:
>    <!-- Relationships -->
>    <relationships >
>       <ejb-relation >
>          <ejb-relation-name>customer-subscriber</ejb-relation-name>
>          <!-- bidirectional -->
>          <ejb-relationship-role >
>
>
<ejb-relationship-role-name>customer-has-subscribers</ejb-relationship-role-
> name>
>             <multiplicity>One</multiplicity>
>             <relationship-role-source >
>                <ejb-name>account/customerBean</ejb-name>
>             </relationship-role-source>
>             <cmr-field >
>                <cmr-field-name>subscribers</cmr-field-name>
>                <cmr-field-type>java.util.Collection</cmr-field-type>
>             </cmr-field>
>          </ejb-relationship-role>
>          <ejb-relationship-role >
>
>
<ejb-relationship-role-name>subscriber-belongs-to-customer</ejb-relationship
> -role-name>
>             <multiplicity>Many</multiplicity>
>             <relationship-role-source >
>                <ejb-name>account/subscriberBean</ejb-name>
>             </relationship-role-source>
>             <cmr-field >
>                <cmr-field-name>customer</cmr-field-name>
>             </cmr-field>
>          </ejb-relationship-role>
>       </ejb-relation>
>    </relationships>
>
> Here is the relationship from jbosscmp-jdbc.xml:
>   <relationships>
>     <ejb-relation>
>       <ejb-relation-name>customer-subscriber</ejb-relation-name>
>       <foreign-key-mapping/>
>       <ejb-relationship-role>
>
>
<ejb-relationship-role-name>customer-has-subscribers</ejb-relationship-role-
> name>
>           <key-fields>
>              <key-field>
>                <field-name>customerId</field-name>
>                <column-name>customer_id</column-name>
>              </key-field>
>           </key-fields>
>       </ejb-relationship-role>
>       <ejb-relationship-role>
>
>
<ejb-relationship-role-name>subscriber-belongs-to-customer</ejb-relationship
> -role-name>
>           <key-fields/>
>       </ejb-relationship-role>
>     </ejb-relation>
>   </relationships>
>
> Here is the customer bean w/xdoclet tags:
> package com.uscc.account.entity;
>
> // uscc ejb imports
> import com.uscc.ejb.entity.defaultEntityBean;
>
> // util imports
> import java.util.Collection;
>
> /**
> *
> * // begin class level xdoclet attributes
> * @ejb:bean name="account/customerBean"
> * display-name="General customer and BAN information"
> * jndi-name="com/uscc/account/entity/customerBean"
> * view-type="remote"
> * type="CMP"
> * schema="account"
> *
> * @ejb:home extends="javax.ejb.EJBHome"
> * @ejb:interface extends="javax.ejb.EJBObject"
> *
> * @ejb:pk extends="java.lang.Object"
> *
> * @ejb:transaction type="Required"
> *
> * // begin jboss xdoclet attributes
> * @jboss:datasource name="OracleDB"
> *
> * @jboss:table-name table-name="customer"
> */
> public abstract class customerBean extends defaultEntityBean
> {
> /**
> * @ejb:interface-method view="remote"
> * @ejb:persistent-field
> * @ejb:pk-field
> *
> * @jboss:column-name name="customer_id"
> */
> public abstract Long getCustomerId();
>
> /**
> * @ejb:interface-method view="remote"
> * @ejb:persistent-field
> *
> * @jboss:column-name name="customer_ssn"
> */
> public abstract Long getSSN();
>
> /**
> * @ejb:interface-method view="remote"
> *
> * @ejb:relation name="customer-subscriber"
> * role-name="customer-has-subscribers"
> */
> public abstract Collection getSubscribers();
>
> /**
> * @ejb:interface-method view="remote"
> */
> public abstract void setSubscribers(Collection subscribers);
> }
>
> Here is the subscriber class:
> package com.uscc.account.entity;
>
> // billview ejb imports
> import com.uscc.ejb.entity.defaultEntityBean;
> import com.uscc.account.interfaces.customerBean;
>
> /**
> *
> * // begin class level xdoclet attributes
> * @ejb:bean name="account/subscriberBean"
> * display-name="General BAN information"
> * jndi-name="com/uscc/account/entity/subscriberBean"
> * view-type="remote"
> * type="CMP"
> * schema="subscriber"
> *
> * @ejb:home extends="javax.ejb.EJBHome"
> * @ejb:interface extends="javax.ejb.EJBObject"
> *
> * @ejb:pk extends="java.lang.Object"
> *
> * @ejb:transaction type="Required"
> *
> * // begin jboss xdoclet attributes
> * @jboss:datasource name="OracleDB"
> *
> * @jboss:table-name table-name="subscriber"
> */
> public abstract class subscriberBean extends defaultEntityBean
> {
> /**
> * @ejb:interface-method view="remote"
> * @ejb:persistent-field
> *
> * @ejb:pk-field
> *
> * @jboss:column-name name="subscriber_no"
> */
> public abstract String getSubscriberNo();
>
> /**
> * @ejb:interface-method view="remote"
> * @ejb:persistent-field
> *
> * @jboss:column-name name="customer_id"
> */
> public abstract String getCustomerId();
>
> /**
> * @ejb:interface-method view="remote"
> * @ejb:persistent-field
> *
> * @jboss:column-name name="contact_tn"
> */
> public abstract String getContactTN();
>
> /**
> * @ejb:interface-method view="remote"
> *
> * @ejb:relation name="customer-subscriber"
> * role-name="subscriber-belongs-to-customer"
> *
> * @jboss:relation fk-column="customer_id"
> * related-pk-field="customerId"
> */
> public abstract customerBean getCustomer();
>
> /**
> * @ejb:interface-method view="remote"
> */
> public abstract void
> setCustomer(com.uscc.account.interfaces.customerBean theCustomer);
> }
>
> Can someone eyeball something that is hosed up.  I haven't been able to
find
> anything on the web regarding this type of exception, so I'm stumped.
>
> Thanks!
> Matt Hanson
>
>
> -------------------------------------------------------
> This SF.NET email is sponsored by: FREE  SSL Guide from Thawte
> are you planning your Web Server Security? Click here to get a FREE
> Thawte SSL guide and find the answers to all your  SSL security issues.
> http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en
> _______________________________________________
> JBoss-user mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-user



-------------------------------------------------------
This SF.NET email is sponsored by: FREE  SSL Guide from Thawte
are you planning your Web Server Security? Click here to get a FREE
Thawte SSL guide and find the answers to all your  SSL security issues.
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to