Hi,

Yes, JOnAS supports attributes mapping to BLOB.
I got a test and it works fine on Oracle.
Could you send us the traces of the EJBServer to understand
what the problem could be ?

Regards.
H�l�ne.

> Thomas DANDELOT wrote:
> 
> Hi,
> 
> I'm trying to store in Oracle database an attribute implementing a
> java serializable Class :
> I modified the JOnAS exemple AccountImplBean like this :
> 
> public class AccountImplBean implements EntityBean {
> ....
>     public int accno;
>     public String customer;
>     public double balance;
>     public SVector myObject;
> ...
> 
>     public AccountBeanPK ejbCreate(int val_accno, String val_customer,
> double val_balance, SVector myObject)
>         throws CreateException {
> 
>  // Init object state
>  accno = val_accno;
>  customer = val_customer;
>  balance = val_balance;
>  this.myObject = myObject;
>  return null;
>     }
> 
>     public void ejbPostCreate(int val_accno, String val_customer,
> double val_balance, SVector myObject)
>     {
>     }
> 
> ...
> 
> 
> -----> where SVector is a simple serializable java Vector Object :
> 
> public class SVector extends java.util.Vector implements
> java.io.Serializable
> {
>    public SVector ()
>    {
>        super();
>    }
> }
> 
> 
> -----> I modified the ejb-jar.xml file as follow :
> ....
>       <cmp-field>
>  <field-name>balance</field-name>
>       </cmp-field>
>       <cmp-field>
>  <field-name>myObject</field-name>
>       </cmp-field>
> ...
> 
> -----> and jonas-ejb-jar.xml :
> 
>  <cmp-field-jdbc-mapping>
>      <field-name>balance</field-name>
>      <jdbc-field-name>balance</jdbc-field-name>
>  </cmp-field-jdbc-mapping>
>  <cmp-field-jdbc-mapping>
>      <field-name>myObject</field-name>
>      <jdbc-field-name>myobject</jdbc-field-name>
>  </cmp-field-jdbc-mapping>
> 
> -----> the Oracle table is built using the script :
> 
> drop table accountsample;
> create table accountsample (
>  accno   integer primary key,
>  customer  varchar(30),
>  balance  number(15, 4),
>  myobject BLOB
> );
> insert into accountsample values(101, 'Antoine de St Exupery',
> 200.00,null);
> insert into accountsample values(102, 'alexandre dumas fils',
> 400.00,null);
> insert into accountsample values(103, 'conan doyle', 500.00,null);
> insert into accountsample values(104, 'alfred de musset',
> 100.00,null);
> insert into accountsample values(105, 'phileas lebegue', 350.00,null);
> insert into accountsample values(106, 'alphonse de lamartine',
> 650.00,null);
> -----> The Client runs, create a new bean instance :
> 
>      SVector zob = new SVector();
>      zob.add("test");
>      try
>      {
>      System.out.println("Create a new Account in database, number
> "+args[2]);
>          home.create(Integer.parseInt(args[2]),"new
> client",1000.00,zob);
>      }
>      catch (CreateException ce)
>      {
>                 System.out.println("Cannot create account number
> "+args[2]);
>                 ce.printStackTrace();
>       }
> 
> -----> The Creation happens well and the finder method also :
> 
>      Account acc2 = null;
>      try {
>          acc2 = home.findByNumber(Integer.parseInt(args[2]));
>      } catch (Exception e) {
>          System.err.println("Cannot find Account");
>          e.printStackTrace();
>      }
> 
> -----> But when trying to access bean attribute :
> 
>      try
>      {
>          System.out.println("Account "+ acc2.getNumber() + " found");
>      }
>      catch (Exception e)
>      {
>          System.out.println("Cannot access getNumber method");
>          e.printStackTrace();
>      }
> -----> I get an EJBException :
> 
> Cannot access getNumber method
> java.rmi.ServerException: RemoteException occurred in server thread;
> nested exception is:
>         java.rmi.RemoteException: Got exception in activate:; nested
> exception is:
>         javax.ejb.EJBException
> java.rmi.RemoteException: Got exception in activate:; nested exception
> is:
>         javax.ejb.EJBException
> javax.ejb.EJBException
>         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:354)
>         at
> org.objectweb.jonas.rmifilters.RemoteStub.invoke(RemoteStub.java:87)
>         at
> 
>ismarttechnology.smartycart.smartycartwebos.debug.JOnASAccountImplRemote_Stub.getNumber(JOnASAccountImplRemote_Stub.java:211)
>         at
> ismarttechnology.smartycart.smartycartwebos.debug.ClientSave.main(ClientSave.java:99)
> 
> 
> Does Jonas support attributes mapping to BLOB ?
> What did I do wrong ?
> Thanx in advance
> 
>                                     Thomas DANDELOT

-- 
-=- H�l�ne JOANIN -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  mailto:[EMAIL PROTECTED]   http://www.evidian.com
  Phone: 33.4.76.29.73.53            Fax: 33.4.76.29.76.00
  Download our EJB Server JOnAS at http://www.objectweb.org
----
To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".

Reply via email to