Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

ECF/Servers

< ECF
Revision as of 20:10, 5 July 2007 by Slewis.composent.com (Talk | contribs) (ECF Generic Server)

ECF Generic Server

ECF is currently using the Equinox Servlet Incubator to run and support the example collab application running on the 'ECF generic' provider.

Connecting to the ECF Generic Server

  1. Download and install the ECF SDK.
  2. Right-click on a project within your workspace.
  3. Choose 'ECF' -> 'Connect Project...' from the popup menu.
  4. Select the 'ECF generic' provider from the list.
  5. Use ecftcp://ecf.eclipse.org:3282/server as the connect URI.
  6. Choose a nickname and then select the 'OK' button.

Starting an ECF Generic Server as Eclipse Application (ECF 1.0.1 ETA for release 7/13/2007)

It's now (7/5/2007) possible to start and configure an ECF Generic Server as an Eclipse Application.

eclipse.exe -application org.eclipse.ecf.provider.GenericServer

This will start a server with hostname=localhost, port=3282, groupname=server...i.e. id=ecftcp://localhost:3282/server. The output upon startup looks like this:

Putting server localhost:3282 on the air...
  Creating container with id=ecftcp://localhost:3282/server keepAlive=30000
GenericServer localhost:3282 on the air.

It's also possible to provide the port hostname groupname and keepAlive (ms) For example:

eclipse.exe -application org.eclipse.ecf.provider.GenericServer 3285
ecf.eclipse.org mygroup 20000

Putting server ecf.eclipse.org:3285 on the air...
  Creating container with id=ecftcp://ecf.eclipse.org:3285mygroup
keepAlive=20000
GenericServer ecf.eclipse.org:3285 on the air.

or

eclipse.exe -application org.eclipse.ecf.provider.GenericServer 3333

Putting server localhost:3333 on the air...
  Creating container with id=ecftcp://localhost:3333/server keepAlive=30000
GenericServer localhost:3333 on the air.

Server Configuration File

Another way to start a number of servers and groups is to create a file with the server configuration...for example:

<server>
        <connector protocol="ecftcp"  hostname="localhost" port="3282"
timeout="30000">
                <group name="server"/>
            <group name="foobar"/>
        </connector>
        <connector protocol="ecftcp"  hostname="localhost" port="3283"
timeout="30000">
                <group name="server"/>
            <group name="foobar"/>
        </connector>
</server>

If this content is in file ./server.xml Then the command line would be:

eclipse.exe -application org.eclipse.ecf.provider.GenericServer -config
server.xml

And the output would be:

Putting server localhost:3282 on the air...
  Creating container with id=ecftcp://localhost:3282/server keepAlive=30000
  Creating container with id=ecftcp://localhost:3282/foobar keepAlive=30000
GenericServer localhost:3282 on the air.
Putting server localhost:3283 on the air...
  Creating container with id=ecftcp://localhost:3283/server keepAlive=30000
  Creating container with id=ecftcp://localhost:3283/foobar keepAlive=30000
GenericServer localhost:3283 on the air.

Setting up an ECF Generic Server with Equinox (ECF version 1.0.0M6 or newer)

With the following enhancement: #112890, it's possible to configure an ECF generic server by providing a plugin with an extension for the org.eclipse.ecf.server.generic.configure extension point.

  1. Download the Equinox SDK 3.3M6 (or newer) Note the location of the <equinoxhome>/plugins directory.
  2. Install the ECF SDK bundles to the <equinoxhome>/plugins directory. Get the ECF SDK here.
  3. ECF server requires the Eclipse bundle: org.eclipse.core.jobs,which is not yet part of the Equinox distribution. The jobs bundle can be found in the <eclipsehome>/plugins 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 copy 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.
  4. Create a new plugin, and add the following extension to this new plugin:
       <extension
             point="org.eclipse.ecf.server.generic.configuration">
          <connector
                hostname="localhost"
                keepAlive="30000"
                port="3283">
             <group
                   name="server">
             </group>
          </connector>
       </extension>
    

    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:

       <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>
    

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

  5. Build and deploy this new plugin to server plugins directory, along with all the other ECF bundles.
  6. Start the org.eclipse.ecf.server.generic 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 Equinox server.

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

  1. Follow instructions for setting up the Equinox Servlet Incubator. Note the location of the <appserverhome>/webapps/bridge/WEB-INF/platform/plugins directory.
  2. NOTE: ECF server requires some of the bundles that come from the Equinox core (containing org.eclipse.core.runtime packages and and others). See Equinox download page for these bundles.
  3. Download ECF plugins: ECF 0.9.6 or ECF Download Page
    1. Copy the ECF plugins into the <appserverhome>/webapps/bridge/WEB-INF/platform/plugins directory created above.
  4. 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 172724 to track this). The default content for server.xml is:
    <server>
      <!--
        <connector protocol="ecftcp"  hostname="localhost" port="3282" timeout="30000">
    	<group name="server"/>
        </connector>
    	-->
    </server>
    

    Notice that this default connector is commented out. You should create connectors like this (from ecf.eclipse.org):

    <server>
       <connector protocol="ecftcp"  hostname="localhost" port="3282" timeout="30000">
               <group name="server"/>
               <group name="se"/>
       </connector>
    </server>
    

    This sets up two groups, with URLs:

    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.

  5. 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.

Back to the top