Jump to: navigation, search

CDO/Hibernate Store/Quick Start

The quick start of the CDO Hibernate Store takes you through the following steps:

  • download and install
  • download example projects from cvs
  • start the CDO Server
  • run client side junit tests to see interaction between the client and server

Download and install

Download the required software:

  • Eclipse 3.6 (Helios), as Eclipse 3.6 is in development try the development tab
  • EMF 2.6, is normally included with the java EE version of Eclipse
  • CDO Nightly build, click on Nxyz (where xyz is a date) to open the nightly build location. The easiest is to download the all features and plugins zip: emf-cdo-AllFeaturesAndPlugins-N201001181004.zip (with a different date in your case ofcourse)
  • Teneo 1.2.0, Teneo 1.2.0 can be found a little down on the page
  • Hibernate 3.3.2 or later and JDBC drivers, pick the latest ThirdPartyDrivers zip file

Install Eclipse and the plugins, see: Eclipse p2 getting started.

Download the example projects from cvs

After installing Eclipse and the plugins, start Eclipse and in a workspace import/download the following three projects from CVS:

  • org.eclipse.emf.cdo.examples.company: contains the example model which has already been prepared for CDO (see here how this is done)
  • org.eclipse.emf.cdo.examples.hibernate.server: contains the server configuration and server launch config
  • org.eclipse.emf.cdo.examples.hibernate.client: shows client connection code and contains junit tests creating and querying for data

The cvs location of these projects is:

  • dev.eclipse.org
  • /cvsroot/modeling
  • paths:
    • org.eclipse.emf/org.eclipse.emf.cdo/examples/org.eclipse.emf.cdo.examples.company
    • org.eclipse.emf/org.eclipse.emf.cdo/examples/org.eclipse.emf.cdo.examples.hibernate.server
    • org.eclipse.emf/org.eclipse.emf.cdo/examples/org.eclipse.emf.cdo.examples.hibernate.client


Org.eclipse.emf.cdo.hibernate.quick view.png

Start the CDO server

To start the CDO server open the org.eclipse.emf.cdo.examples.hibernate.server project and right-click on the CDOHibernateServer.launch and then: Run As > CDOHibernateServer.

Check the console view, after 5-10 seconds you should see:

main [debug.lifecycle.dump] DUMP  TCPAcceptor@20
  Acceptor.config = TransportConfig[receiveExecutor=java.util.concurrent.ThreadPoolExecutor@46f93, bufferProvider=BufferPool[4,096], protocolProvider=org.eclipse.net4j.ContainerProtocolProvider$Server@139358c, negotiator=null]
  Acceptor.connectorListener = org.eclipse.spi.net4j.Acceptor$1@ea9bc8
  Acceptor.acceptedConnectors = 
  selector = TCPSelector
  startSynchronously = true
  synchronousStartTimeout = 20000
  serverSocketChannel = sun.nio.ch.ServerSocketChannelImpl[/0.0.0.0:2036]
  address = 0.0.0.0
  port = 2036
 
[INFO] Net4j extension started
[INFO] CDO server started
Application Started: 8521

As a default the CDO Hibernate server uses hsqldb.

For your info, the CDO server uses the config file: cdo-server.xml in the config directory in the org.eclipse.emf.cdo.examples.hibernate.server project.

Run client side code

As a last step run some client side code to see the CDO server storing and retrieving data. Open the org.eclipse.emf.cdo.examples.server.hibernate.client project, go to the junit classes in the src directory:

  • QuickStartTest: a very simple test which creates one resource and stores a new address in it
  • HibernateQueryTest: extensive test which creates a complete test data set and then show various HQL queries.

do right click on one of these two classes and then: Run As > Junit Test. Or to get better visibility on what happens place some breakpoints in the test cases and run in debug mode.

Quick Next Steps

The CDO Server uses hsqldb as a default. To change this to mysql (or another database) change the properties inside the cdo-server.xml file in the org.eclipse.emf.cdo.examples.hibernate.server/config. The file contains a commented block for mysql, change the url/passwords etc. to fit it to your situation.

Note that for mysql and most other databases Hibernate will not create the database itself for you. So you need to manually create a database and set the database name in the url in the cdo-server.xml.

As a next step create your own junit test case in the org.eclipse.emf.cdo.examples.hibernate.client project, extend the BaseTest class in that same plugin.

You can also try the standard CDO View.



Wikis: CDO | Net4j | EMF | Eclipse