Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO] Using HSQLDB with CDO 4.2
[CDO] Using HSQLDB with CDO 4.2 [message #1034445] Fri, 05 April 2013 12:42 Go to next message
Alex Lagarde is currently offline Alex Lagarde
Messages: 185
Registered: May 2010
Senior Member

Hi everyone,

I'm creating a product that allows to launch a cdo server with all
supported back-ends. It worked well with CDO 4.0.X, but now I'm trying
to move to CDO 4.2 and when I launch a HSQLDB-based server configuration
I encounter the following issue:

[ERROR] org/hsqldb/jdbc/JDBCDataSource
java.lang.NoClassDefFoundError: org/hsqldb/jdbc/JDBCDataSource
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(Unknown Source)
	at 
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
	at 
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:632)
	at 
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:614)
	at 
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:568)
	at 
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:492)
	at 
org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:465)
	at 
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
	at 
org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
	at 
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464)
	at 
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
	at 
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
	at 
org.eclipse.osgi.internal.loader.buddy.RegisteredPolicy.loadClass(RegisteredPolicy.java:79)
	at 
org.eclipse.osgi.internal.loader.buddy.PolicyHandler.doBuddyClassLoading(PolicyHandler.java:135)
	at 
org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:489)
	at 
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
	at 
org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
	at 
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at org.eclipse.net4j.util.ReflectUtil.instantiate(ReflectUtil.java:436)
	at org.eclipse.net4j.db.DBUtil.createDataSource(DBUtil.java:157)
	at org.eclipse.net4j.db.DBUtil.createDataSource(DBUtil.java:150)
	at org.eclipse.net4j.db.DBUtil.createDataSource(DBUtil.java:145)
	at 
org.eclipse.emf.cdo.server.internal.db.DBStoreFactory.getDataSource(DBStoreFactory.java:128)


I originally though that this was due to my build, but I get all the
back-ends from the net4j update site http://net4j.sourceforge.net/update
and it works like a charm for other back-ends contained in this update
site (e.g. MySQL).

Then I took a look at my server configuration file, and indeed the
datasource may be incorrect:
<dataSource 
class="org.eclipse.net4j.db.hsqldb.HSQLDBDataSource"


This configuration file worked well with a CDO 4.0-based cdoserver,
should I change it for CDO 4.2 or am I missing something here?


Best regards,
Alex Lagarde (Morel)
Re: [CDO] Using HSQLDB with CDO 4.2 [message #1034448 is a reply to message #1034445] Fri, 05 April 2013 12:46 Go to previous messageGo to next message
Alex Lagarde is currently offline Alex Lagarde
Messages: 185
Registered: May 2010
Senior Member

I have a similar issue with Derby so this is definitely related to my
build system :

[ERROR] java.lang.ClassNotFoundException: 
org.apache.derby.jdbc.EmbeddedDataSource
org.eclipse.net4j.db.DBException: java.lang.ClassNotFoundException: 
org.apache.derby.jdbc.EmbeddedDataSource
	at org.eclipse.net4j.db.DBUtil.createDataSource(DBUtil.java:161)
	at org.eclipse.net4j.db.DBUtil.createDataSource(DBUtil.java:150)
	at org.eclipse.net4j.db.DBUtil.createDataSource(DBUtil.java:145)
	at 
org.eclipse.emf.cdo.server.internal.db.DBStoreFactory.getDataSource(DBStoreFactory.java:128)
	at 
org.eclipse.emf.cdo.server.internal.db.DBStoreFactory.createStore(DBStoreFactory.java:53)
	at 
org.eclipse.emf.cdo.spi.server.RepositoryConfigurator.createStore(RepositoryConfigurator.java:370)
	at 
org.eclipse.emf.cdo.spi.server.RepositoryConfigurator.getRepository(RepositoryConfigurator.java:169)
	at 
org.eclipse.emf.cdo.spi.server.RepositoryConfigurator.configure(RepositoryConfigurator.java:111)
	at 
org.eclipse.emf.cdo.internal.server.bundle.CDOServerApplication.doStart(CDOServerApplication.java:61)
	at org.eclipse.net4j.util.om.OSGiApplication.start(OSGiApplication.java:63)


What net4j update site should I use to build a CDO 4.2 server ?

Best regards,
Alex
Re: [CDO] Using HSQLDB with CDO 4.2 [message #1034452 is a reply to message #1034445] Fri, 05 April 2013 12:53 Go to previous messageGo to next message
Eike Stepper is currently offline Eike Stepper
Messages: 5538
Registered: July 2009
Senior Member
Am 05.04.2013 14:42, schrieb Alex Lagarde:
> Hi everyone,
>
> I'm creating a product that allows to launch a cdo server with all supported back-ends. It worked well with CDO 4.0.X,
> but now I'm trying to move to CDO 4.2 and when I launch a HSQLDB-based server configuration I encounter the following
> issue:
>
>
> [ERROR] org/hsqldb/jdbc/JDBCDataSource
> java.lang.NoClassDefFoundError: org/hsqldb/jdbc/JDBCDataSource
I think this might be caused by:

     398167: [DB] Remove JDBC driver dependencies from DBAdapter bundles
     https://bugs.eclipse.org/bugs/show_bug.cgi?id=398167

Are you sure that the HSQLDB driver bundle is properly deployed?

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper


>     at java.lang.ClassLoader.defineClass1(Native Method)
>     at java.lang.ClassLoader.defineClass(Unknown Source)
>     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
>     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClassHoldingLock(ClasspathManager.java:632)
>     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:614)
>     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:568)
>     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:492)
>     at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:465)
>     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
>     at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
>     at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464)
>     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
>     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
>     at org.eclipse.osgi.internal.loader.buddy.RegisteredPolicy.loadClass(RegisteredPolicy.java:79)
>     at org.eclipse.osgi.internal.loader.buddy.PolicyHandler.doBuddyClassLoading(PolicyHandler.java:135)
>     at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:489)
>     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
>     at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
>     at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
>     at java.lang.ClassLoader.loadClass(Unknown Source)
>     at org.eclipse.net4j.util.ReflectUtil.instantiate(ReflectUtil.java:436)
>     at org.eclipse.net4j.db.DBUtil.createDataSource(DBUtil.java:157)
>     at org.eclipse.net4j.db.DBUtil.createDataSource(DBUtil.java:150)
>     at org.eclipse.net4j.db.DBUtil.createDataSource(DBUtil.java:145)
>     at org.eclipse.emf.cdo.server.internal.db.DBStoreFactory.getDataSource(DBStoreFactory.java:128)
> 

>
> I originally though that this was due to my build, but I get all the back-ends from the net4j update site
> http://net4j.sourceforge.net/update and it works like a charm for other back-ends contained in this update site (e.g.
> MySQL).
>
> Then I took a look at my server configuration file, and indeed the datasource may be incorrect:
>
<dataSource class="org.eclipse.net4j.db.hsqldb.HSQLDBDataSource"

>
> This configuration file worked well with a CDO 4.0-based cdoserver, should I change it for CDO 4.2 or am I missing
> something here?
>
>
> Best regards,
> Alex Lagarde (Morel)
Re: [CDO] Using HSQLDB with CDO 4.2 [message #1034496 is a reply to message #1034452] Fri, 05 April 2013 13:52 Go to previous messageGo to next message
Alex Lagarde is currently offline Alex Lagarde
Messages: 185
Registered: May 2010
Senior Member

Hi Eike,

thanks for your fast answer !

Here are the plugins related to HSQLDB I have in my built product:
- org.hsqldb_1.8.0.v20110215-0651.jar
- org.eclipse.net4j.db_4.2.0.v20130115-1033.jar
- org.eclipse.net4j.db.hsqldb_4.2.0.v20130116-0901.jar
- org.eclipse.emf.cdo_4.2.0.v20130314-1120.jar
- org.eclipse.emf.cdo.server_4.2.0.v20130126-0958.jar
- org.eclipse.emf.cdo.server.net4j_4.1.0.v20130112-1217.jar
- org.eclipse.emf.cdo.server.db_4.2.0.v20130125-0507.jar

Is something seem wrong to you here ?

Another regression I have: my .product is defined with :
- the org.eclipse.emf.cdo.server.product product
- the org.eclipse.emf.cdo.server.app application

In the 4.0 version, when launching the executable I had access to an
osgi console that allowed me to list branches, locks...


But with 4.2, I don't have access to the osgi console anymore (juste a
plain text console). Should I use a new product/application or modify my
product ?

Best regards,
Alex
Re: [CDO] Using HSQLDB with CDO 4.2 [message #1035018 is a reply to message #1034496] Sat, 06 April 2013 07:17 Go to previous messageGo to next message
Eike Stepper is currently offline Eike Stepper
Messages: 5538
Registered: July 2009
Senior Member
Am 05.04.2013 15:52, schrieb Alex Lagarde:
> Hi Eike,
>
> thanks for your fast answer !
>
> Here are the plugins related to HSQLDB I have in my built product:
> - org.hsqldb_1.8.0.v20110215-0651.jar
> - org.eclipse.net4j.db_4.2.0.v20130115-1033.jar
> - org.eclipse.net4j.db.hsqldb_4.2.0.v20130116-0901.jar
> - org.eclipse.emf.cdo_4.2.0.v20130314-1120.jar
> - org.eclipse.emf.cdo.server_4.2.0.v20130126-0958.jar
> - org.eclipse.emf.cdo.server.net4j_4.1.0.v20130112-1217.jar
> - org.eclipse.emf.cdo.server.db_4.2.0.v20130125-0507.jar
>
> Is something seem wrong to you here ?
That looks correct. I fear I need to try that out myself. Please submit a bugzilla.

>
> Another regression I have: my .product is defined with :
> - the org.eclipse.emf.cdo.server.product product
> - the org.eclipse.emf.cdo.server.app application
>
> In the 4.0 version, when launching the executable I had access to an osgi console that allowed me to list branches,
> locks...
>
>
> But with 4.2, I don't have access to the osgi console anymore (juste a plain text console). Should I use a new
> product/application or modify my product ?
I can't remember any changes to CDO in this context, so maybe it's related to the Felix Gogo Shell that had been
introduced into the Platform some time ago? When I run a CDOServerApplication through the shipped launch config I get
the normal OSGi console.

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
Re: [CDO] Using HSQLDB with CDO 4.2 [message #1036316 is a reply to message #1035018] Mon, 08 April 2013 08:19 Go to previous messageGo to next message
Alex Lagarde is currently offline Alex Lagarde
Messages: 185
Registered: May 2010
Senior Member

Hi Eike,

as always thanks a lot for your help, answers inline:

Le 06/04/2013 09:17, Eike Stepper a écrit :
> Am 05.04.2013 15:52, schrieb Alex Lagarde:
>> Hi Eike,
>>
>> thanks for your fast answer !
>>
>> Here are the plugins related to HSQLDB I have in my built product:
>> - org.hsqldb_1.8.0.v20110215-0651.jar
>> - org.eclipse.net4j.db_4.2.0.v20130115-1033.jar
>> - org.eclipse.net4j.db.hsqldb_4.2.0.v20130116-0901.jar
>> - org.eclipse.emf.cdo_4.2.0.v20130314-1120.jar
>> - org.eclipse.emf.cdo.server_4.2.0.v20130126-0958.jar
>> - org.eclipse.emf.cdo.server.net4j_4.1.0.v20130112-1217.jar
>> - org.eclipse.emf.cdo.server.db_4.2.0.v20130125-0507.jar
>>
>> Is something seem wrong to you here ?
> That looks correct. I fear I need to try that out myself. Please submit
> a bugzilla.

Done : https://bugs.eclipse.org/bugs/show_bug.cgi?id=405131

>
>>
>> Another regression I have: my .product is defined with :
>> - the org.eclipse.emf.cdo.server.product product
>> - the org.eclipse.emf.cdo.server.app application
>>
>> In the 4.0 version, when launching the executable I had access to an
>> osgi console that allowed me to list branches, locks...
>>
>>
>> But with 4.2, I don't have access to the osgi console anymore (juste a
>> plain text console). Should I use a new product/application or modify
>> my product ?
> I can't remember any changes to CDO in this context, so maybe it's
> related to the Felix Gogo Shell that had been introduced into the
> Platform some time ago? When I run a CDOServerApplication through the
> shipped launch config I get the normal OSGi console.

I'll try to investigate this issue

>
> Cheers
> /Eike
>
> ----
> http://www.esc-net.de
> http://thegordian.blogspot.com
> http://twitter.com/eikestepper
>
>

Best Regards,
Alex
Re: [CDO] Using HSQLDB with CDO 4.2 [message #1036482 is a reply to message #1036316] Mon, 08 April 2013 12:41 Go to previous message
Alex Lagarde is currently offline Alex Lagarde
Messages: 185
Registered: May 2010
Senior Member

Hi Eike,

just FYI, in regards to the OSGI console, CDO is not involved at all.
I just had to explicitelly add dependencies from by product to the
org.eclipse.equinox.console and org.apache.felix.gogo.shell plugins to
get it back.

Best regards,
Alex
Previous Topic:CDO server client connectivity via lan connected system
Next Topic:[CDO] Dirty transactions
Goto Forum:
  


Current Time: Wed Oct 22 15:41:37 GMT 2014

Powered by FUDForum. Page generated in 0.04453 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software