Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
CDO QuickStart
On this page how to quickly setup and run a CDO server
Contents
Workspace Setup
- create a new project named "cdo.serverConfig"
- create a new folder named "configuration"
- create a new xml-file cdo-server.xml in new folder and put the following content into the file
<?xml version="1.0" encoding="UTF-8"?> <cdoServer> <!--acceptor type="http"/ --> <acceptor type="tcp" listenAddr="0.0.0.0" port="2036"> <!-- negotiator type="challenge" description="/temp/users.db"/ --> </acceptor> <repository name="repo1"> <property name="overrideUUID" value="1ff5d226-b1f0-40fb-aba2-0c31b38c764f"/> <property name="supportingAudits" value="true"/> <property name="verifyingRevisions" value="false"/> <property name="currentLRUCapacity" value="10000"/> <property name="revisedLRUCapacity" value="100"/> <store type="db"> <mappingStrategy type="horizontal"> <property name="qualifiedNames" value="false"/> <property name="toManyReferences" value="ONE_TABLE_PER_REFERENCE"/> <property name="toOneReferences" value="LIKE_ATTRIBUTES"/> </mappingStrategy> <!-- Old setting <jdbcDelegate type="statement" /> is now replaced by preparedStatement: --> <jdbcDelegate type="preparedStatement" > <!-- to explicitly force prepared statement caching (e.g., if statement pooling is not supported by the JDBC driver, use <property name="cacheStatements" value="enabled" /> Else, the implicit default is: <property name="cacheStatements" value="guess" /> Which guesses the correct setting based on the JDBC driver's metadata. Also supported is the third setting "disabled". --> </jdbcDelegate> <dbAdapter name="derby-embedded"/> <dataSource class="org.apache.derby.jdbc.EmbeddedDataSource" databaseName="/temp/cdodb1" createDatabase="create"/> <!-- <dbAdapter name="hsqldb"/> <dataSource class="org.eclipse.net4j.db.hsqldb.HSQLDBDataSource" database="jdbc:hsqldb:mem:cdodb1" user="sa"/> --> <!-- <dbAdapter name="mysql"/> <dataSource class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" url="jdbc:mysql://localhost/cdodb1" user="sa"/> --> <!-- <dbAdapter name="postgresql"/> <dataSource class="org.postgresql.ds.PGSimpleDataSource" url="jdbc:postgresql://localhost:5432/cdo" databaseName="cdo" user="cdo" password="cdo"/> --> </store> </repository> </cdoServer>
Create launch config
- Create a new Eclipse Application launch configuration
- On the main tab in the 'Program to Run' section set the radio button to 'Run an application' and select 'org.eclipse.emf.cdo.server.app'
- Switch to the Arguments tab and
- set as program argument
-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -debug -console
- set as VM arguments
-Xms40m -Xmx1024m -Ddebug=true -Dnet4j.config=${resource_loc:/cdo.serverConfig/configuration} -Dorg.osgi.service.http.port=8080
- set
Starting the server
Now go and fire up the newly created launch configuration
On the console you should get something similar to
Configuration location: file:/C:/eclipse/3.5M4/eclipse/ws/.metadata/.plugins/org.eclipse.pde.core/cdo-server/ Configuration file: file:/C:/eclipse/3.5M4/eclipse/ws/.metadata/.plugins/org.eclipse.pde.core/cdo-server/config.ini loaded Install location: file:/C:/eclipse/3.5M4/eclipse/ Framework located: file:/C:/eclipse/3.5M4/eclipse/plugins/org.eclipse.osgi_3.5.0.v20081201-1815.jar Framework classpath: file:/C:/eclipse/3.5M4/eclipse/plugins/org.eclipse.osgi_3.5.0.v20081201-1815.jar Splash location: null Debug options: file:/C:/eclipse/3.5M4/eclipse/.options not found osgi> Time to load bundles: 0 Starting application: 1888 [INFO] CDO Server starting [INFO] CDO Server started Application Started: 10363
According to the config file from above, derby is used to store the data. The database can be found in the temp folder of your harddrive
Testing the server configuration
- Open the 'CDO Sessions' view
- Create a new session using the '+' icon from the views toolbar
- use as server description
tcp://localhost:2036
- has to be used as repository name
repo1
- Hit finish
- use
- Using the context menu on the session, you can register new ecore packages
- Select the session and open a new transaction from the context menu
- Open the context menu on the transaction an hit 'Create Resource...', choose a name and hit finish
- The resource editor opens and you can create new model elements in it using the context menu