[[Eclipse Communication Framework Project|ECF]] is currently using the [http://www.eclipse.org/equinox/server/http_in_container.php Equinox Servlet Incubator] to run and support the example collab application running on the 'ECF generic' provider.

−

===Connecting to the ECF Generic Server===

+

ECF Generic Servers can now be created, started, and managed dynamically using the [http://download.eclipse.org/rt/ecf/3.5Test/javadoc/org/eclipse/ecf/server/generic/IGenericServerContainerGroupFactory.html IGenericServerContainerGroupFactory] service started in the bundle activator of the org.eclipse.ecf.server.generic bundle.

This can be used in addition to, or instead of, the -application argument. Note that with the -application argument, if that main server/application closes, then all other running apps are closed. If you want the VM to remain running, supply -noExit and run individual instances as above.

+

−

+

−

''NB the reason for 'AppGenericServer' and 'GenericServer' is due to a workaround for a [https://bugs.eclipse.org/bugs/show_bug.cgi?id=193596 bug in Equinox 3.3.0]. If this is fixed and released in Equinox 3.3.1, then you'll be able to use the same name for both -application and startApp equivalents.''

+

−

+

−

====Server Configuration File====

+

−

+

−

Another way to start a number of servers and groups is to create a file with

<li>Install the ECF SDK bundles to the '''<equinoxhome>/plugins''' directory. Get the ECF SDK [http://www.eclipse.org/ecf/downloads.php here].

+

−

</li>

+

−

<li>

+

−

ECF server requires the Eclipse bundle: <b>org.eclipse.core.jobs</b>,which is not yet part of the Equinox distribution. The jobs bundle can be found in the <b><eclipsehome>/plugins</b> directory of an Eclipse installation, and has a name similar to: org.eclipse.core.jobs_3.3.0.v20070423.jar (the 3.3.0.v20070423 may be different). You should <b>copy</b> this jar into the '''<equinoxhome>/plugins''' directory. Make sure you do not remove or rename the original copy of this bundle as it will disable that copy of Eclipse.

+

−

</li>

+

−

+

−

<li>

+

−

Start/Run the generic server app as described above

+

−

</li>

+

−

+

−

OR

+

−

+

−

<li>

+

−

Create a new plugin, and add the following extension to this new plugin:

+

−

<pre>

+

−

<extension

+

−

point="org.eclipse.ecf.server.generic.configuration">

+

−

<connector

+

−

hostname="localhost"

+

−

keepAlive="30000"

+

−

port="3283">

+

−

<group

+

−

name="server">

+

−

</group>

+

−

</connector>

+

−

</extension>

+

−

</pre>

+

−

+

−

With the above, the server id would be 'ecftcp://localhost:3283/server'.

+

−

+

−

Change the values of 'hostname', 'keepAlive', 'port' for the connector, and add groups as desired/appropriate. For example:

+

−

<pre>

+

−

<extension

+

−

point="org.eclipse.ecf.server.generic.configuration">

+

−

<connector

+

−

hostname="ecf.eclipse.org"

+

−

keepAlive="20000"

+

−

port="9999">

+

−

<group

+

−

name="groupone">

+

−

</group>

+

−

<group

+

−

name="grouptwo">

+

−

</group>

+

−

</connector>

+

−

</extension>

+

−

</pre>

+

−

+

−

With the above, the ids for the two groups would be 'ecftcp://ecf.eclipse.org:9999/groupone' and 'ecftcp://ecf.eclipse.org:9999/grouptwo'.

+

−

</li>

+

−

<li>

+

−

Build and deploy this new plugin to server plugins directory, along with all the other ECF bundles.

+

−

</li>

+

−

<li>Start the <b>org.eclipse.ecf.server.generic</b> bundle. This can be done via the server console (with ''''start org.eclipse.ecf.server.generic'''') or can be setup to start automatically via the '''<appserverhome>webapps/bridge/WEB-INF/platform/configuration/config.ini''' file. Which is chosen

+

−

is dependent upon how one has setup the [http://www.eclipse.org/equinox/server/ Equinox server].

+

−

</li>

+

−

</ol>

+

−

+

−

===Setting up an ECF Generic Server with Equinox (prior to version 1.0.0M6)===

+

−

+

−

<ol>

+

−

<li>Follow instructions for setting up the [http://www.eclipse.org/equinox/server/http_in_container.php Equinox Servlet Incubator]. Note the location of the '''<appserverhome>/webapps/bridge/WEB-INF/platform/plugins''' directory.

+

−

</li>

+

−

<li><b>

+

−

NOTE: ECF server requires some of the bundles that come from the Equinox core (containing org.eclipse.core.runtime packages and and others). See [http://download.eclipse.org/eclipse/equinox/ Equinox download page] for these bundles.</b>

#Copy the ECF plugins into the '''<appserverhome>/webapps/bridge/WEB-INF/platform/plugins''' directory created above.

+

−

</li>

+

−

<li>Edit the '''conf/server.xml''' in '''org.eclipse.ecf.server''' plugin (temporarily (0.9.6) you will need to unjar this plugin, edit the server.xml as described below and either re-jar it or create a directory for it...we'll get this fixed in subsequent releases. I've setup bug [https://bugs.eclipse.org/bugs/show_bug.cgi?id=172724 172724] to track this).

'''ecftcp://ecf.eclipse.org:3282/server''' and '''ecftcp://ecf.eclipse.org:3282/se'''

+

−

+

−

You can add as many groups as you want for a given connector.

+

−

</li>

+

−

<li>Start the org.eclipse.ecf.server bundle. This can be done via the server console (with ''''start org.eclipse.ecf.server'''') or can be setup to start automatically via the '''<appserverhome>webapps/bridge/WEB-INF/platform/configuration/config.ini''' file.

+

−

</li>

+

−

</ol>

+

−

[[Category:Eclipse Communication Framework|Servers]]

+

[[Category:Eclipse Communication Framework]]

+

[[Category:ECF]]

+

[[Category:Servers]]

Latest revision as of 14:36, 14 March 2011

ECF Generic Server

ECF Generic Servers can now be created, started, and managed dynamically using the IGenericServerContainerGroupFactory service started in the bundle activator of the org.eclipse.ecf.server.generic bundle.