I'd call this a JAWS bug.
I'd say that when JAWS pulls the object out of the database, it needs to
check to see if it's a MarshalledObject and if it is extract the
contained object (unless the bean field is declared as MarshalledObject!)
That sound right?
If you could enter this as a bug at sourceforge that would be good. It'd
be great if you could take a stab at a patch, as well!
thanks,
danch
Matthew Cooper wrote:
> Somebody please tell me I am doing something really dumb and that this
> explanation below is all wrong!
>
> I have a CMP managed entity with some cmp fields, one of which is
> java.lang.Object. After persisting a value in this field (it happens to be a
> String) and bouncing jboss to make it re-load from the db, imagine my
> surprise when I got back an instance of java.rmi.MarshalledObject.
>
> I've looked at the code in org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand and
> this is what I think is happening...
>
> The method:
>
> setParameter(PreparedStatement stmt,
> int idx,
> int jdbcType,
> Object value)
>
> determines this is a binary type and wraps it in a MashalledObject and
> serializes it to a byte arry before writign that to the db.
>
> The method:
>
> getResultObject(ResultSet rs, int idx, Class destination)
>
> Finds no special methods for retriving the destination type (which is
> java.lang.Object in my case) and so calls rs.getObject(idx). The code...
>
> if(destination.isAssignableFrom(result.getClass()))
> return result;
>
> then says is the result an instanec of my destination type (java.lang.Object)
> which is always true in this case. hecne it doesn't do any unwrapping, etc.
>
> Can someone see if this reasoning is right please?
>
> I can think of 2 possible work arounds at present:
>
> 1) Declare my field as byte[] and serialize the supplied object to it myself
> (I'm pretty sure the byte[] cmp management works?)
>
> 2) Declare the field as MyObject which just contains the real object. This
> should fool the code into unwrapping MyObject and then I can extract the real
> object from that.
>
> I don't like either really.
>
> Any help appreciated. Should I have posted this to the developers list?
>
> Thanks, Matty.
>
> _______________________________________________
> JBoss-user mailing list
> [EMAIL PROTECTED]
> http://lists.sourceforge.net/lists/listinfo/jboss-user
>
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-user