ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nagendra Inuguri" <inagen...@gmail.com>
Subject Re: Management API issue while using ODE with mysql
Date Wed, 07 Jan 2009 11:17:33 GMT
Hi Alexis,

Thanks for this. I am able to generate the schema for mysql. Here are my
observations which may be helpful to others.

STORE_ table schemas are not included in the mysql.sql file. I have used
store.sql to create these tables. I had to modify this sql file a bit  to
make it work on mysql database.

I also had to modify LARGE_DATA table schema in mysql.sql file to make
BIN_DATA column of type longblob. By default the type was blob(2g) which is
not recognized by mysql database.

After doing these things every thing works fine. I am attaching the final
database schema scripts I have used for mysql database.

Thanks,
Nagendra

On Wed, Jan 7, 2009 at 12:34 AM, Alexis Midon <midon@intalio.com> wrote:

> done in trunk as well.
>
> Alexis
>
>
> On Tue, Jan 6, 2009 at 10:59 AM, Alexis Midon <midon@intalio.com> wrote:
>
> > The Rakefile can generate the schema for you, I just added added mysql to
> > the list of databases (in branch 1.X).
> > If you're using a subversion checkout, simply update. Otherwise edit the
> > Rakefile and apply the patch manually.
> > http://svn.apache.org/viewvc?view=rev&revision=732052
> >
> > Then, after a build, you should have a file named mysql.sql
> >
> > Alexis
> >
> >
> >
> > On Tue, Jan 6, 2009 at 2:09 AM, Nagendra Inuguri <inagendra@gmail.com
> >wrote:
> >
> >> Hi Alexis,
> >>
> >> I did a rake build to generate schemas using dao-hibernate-db module.
> >> However it doesn't generate schema for mysql. It generated for oracle,
> >> derby, hsql, firebird, postgres and sqlserver. I took derby.sql and
> modified
> >> the schema to make it work on mysql database. However I am getting the
> >> following exception while trying to deploy a process (Full Stack trace
> >> attached):
> >>
> >> ERROR - GeronimoLog.error(104) | Field 'ID' doesn't have a default value
> >> 15:10:16,453 ERROR [JDBCExceptionReporter] Field 'ID' doesn't have a
> >> default value
> >> ERROR - GeronimoLog.error(108) | DbError
> >>  org.hibernate.exception.GenericJDBCException: could not insert:
> >> [org.apache.ode.daohib.bpel.hobj.HProcess]
> >>
> >> Thanks,
> >> Nagendra
> >> On Tue, Jan 6, 2009 at 11:44 AM, Nagendra Inuguri <inagendra@gmail.com
> >wrote:
> >>
> >>> Hi Alexis,
> >>>
> >>> Thanks for your reply. Good to know that JPA and hibernate uses
> different
> >>> database schemas.  Where can I find the sql statements  to  create
> >>> hibernate compliant  tables in mysql?
> >>>
> >>> Can you also please let me know why
> org.apache.ode.dao.jpa.BPELDAOConnectionImpl class doesn't implement
> bpelEventQuery and
> >>> bpelEventTimelineQuery methods? These methods are called while using
> >>> management API and hence I am getting an UnsupportedOperationException.
> >>>
> >>> Thanks,
> >>>  Nagendra
> >>>
> >>> On Tue, Jan 6, 2009 at 1:28 AM, Alexis Midon <midon@intalio.com>
> wrote:
> >>>
> >>>> Hi Nagendra,
> >>>>
> >>>> you're getting that error because you cannot use Hibernate with a JPA
> >>>> database schema. Schemas are not the same for Hibernate and JPA.
> >>>>
> >>>> So to fix your issue, you have to point ODE to a database containing
> the
> >>>> Hibernate data model.
> >>>> The schemas files are generated by the module "dao-hibernate-db".
> >>>>
> >>>> Alexis
> >>>>
> >>>>
> >>>> On Sun, Jan 4, 2009 at 10:54 PM, Nagendra Inuguri <
> inagendra@gmail.com
> >>>> >wrote:
> >>>>
> >>>> > Hi,
> >>>> >
> >>>> > I am using ODE with mysql database. My ode-axis2.properties file
has
> >>>> the
> >>>> > following settings:
> >>>> >
> >>>> > ode-axis2.db.mode=EXTERNAL
> >>>> >
> >>>> > ode-axis2.db.ext.dataSource=java:comp/env/jdbc/ODEDB
> >>>> >
> >>>> >
> >>>> > Everything works fine with these settings. However when I try to
use
> >>>> > management API to receive events, I get the following error. (Full
> >>>> stack
> >>>> > trace attached in ode-mysql-jpa.txt):
> >>>> >
> >>>> > ERROR - GeronimoLog.error(108) | Exception during database operation
> >>>> >
> >>>> > java.lang.UnsupportedOperationException
> >>>> >
> >>>> >         at
> >>>> >
> >>>>
> org.apache.ode.dao.jpa.BPELDAOConnectionImpl.bpelEventQuery(BPELDAOConnectionImpl.java:54)
> >>>> >
> >>>> >
> >>>> > When I see the ODE source I came to know that this is happening
> >>>> because
> >>>> > org.apache.ode.dao.jpa.BPELDAOConnectionImpl has a couple of methods
> >>>> that
> >>>> > throws UnsupportedOperationException. Why are these methods
> >>>> (bpelEventQuery,
> >>>> > bpelEventTimelineQuery) simply throwing this exception? By default
> ode
> >>>> uses
> >>>> > this jpa dao implementation. Am I supposed to use a different dao
> >>>> > implementation?
> >>>> >
> >>>> >
> >>>> > So I tried adding the following line in ode-axis2.properties to
use
> >>>> > hibernate dao implementation:
> >>>> >
> >>>> >
> >>>> >
> >>>>
> ode-axis2.dao.factory=org.apache.ode.daohib.bpel.BpelDAOConnectionFactoryImpl
> >>>> >
> >>>> > After adding this line management API works fine. However while
> >>>> deploying a
> >>>> > process I am getting the following error (Full stack trace attached
> in
> >>>> > ode-mysql-hibernate.txt):
> >>>> >
> >>>> > ERROR - GeronimoLog.error(104) | Unknown column
> 'properties0_.propId'
> >>>> in
> >>>> > 'field list'
> >>>> >
> >>>> > 12:02:00,484 ERROR [JDBCExceptionReporter] Unknown column
> >>>> > 'properties0_.propId' in 'field list'
> >>>> >
> >>>> > ERROR - GeronimoLog.error(108) | DbError
> >>>> >
> >>>> > org.hibernate.exception.SQLGrammarException: could not initialize
a
> >>>> > collection: [org.apache.ode.store.hib.ProcessConfDaoImpl.
> >>>> >
> >>>> > properties_#{http://soa-matrix.com/example}Flow-1<http://soa-matrix.com/example%7DFlow-1>
> <http://soa-matrix.com/example%7DFlow-1>
> >>>> <http://soa-matrix.com/example%7DFlow-1>
> >>>> > ]
> >>>> >
> >>>> >
> >>>> >
> >>>> > To summarize, if I use mysql with default dao implementation (which
> is
> >>>> in
> >>>> > jpa package), I am not able to use management API. If I use mysql
> with
> >>>> > hibernate dao implementation, I am getting an error while deploying
> a
> >>>> > process. Is there any work around for this problem?
> >>>> >
> >>>> >
> >>>> > Thanks,
> >>>> >
> >>>> > Nagendra
> >>>> >
> >>>>
> >>>
> >>>
> >>
> >
>

Mime
  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message