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.
Swordfish Documentation: Launching Service Registry
Contents
Prerequisites
Eclipse Galileo M7 build or later. The examples described here are based on Eclipse Galileo M7.
This "How To" assumes that user have downloaded and activated Swordfish Target Platform with Swordfish Runtime (core) bundles and Swordfish Registry bundles included. Follow steps from:
- Running Target Platform - to set up Target platform from local machine
- Setting Up Registry From the Galileo Update Site - to set up target platform from Update Site.
Local and Remote Service Resolvers
Swordfish uses service resolvers retrieve service description (wsdl and agreed policy). Currently Swordfish supports local and remote resolvers:
- org.eclipse.swordfish.plugins.resolver.backend.remote - remote resolver communicate with remote Swordfish registry using REST http calls.
- org.eclipse.swordfish.plugins.resolver.backend.local - local resolver not executes remote calls and retrieves service descriptions for local folder. By default this is org.eclipse.swordfish.plugins.resolver.backend.local\src\main\resources\wsdl folder.
Remote resolver perfect for production environment and Local resolver convenient for local development and testing, for example out of box Swordfish Samples (also available for Download from Galileo Update Site) by default work Local resolver.
Launching Service Registry
Service registry expose its interface as http REST service.
- In the Run Configurations... dialog create a new OSGi configuration based on Swordfish target platform.
- Switch to the Arguments tab and type the following VM arguments:
-Dorg.osgi.service.http.port=9001 -Dorg.eclipse.swordfish.registry.fileLocation="C:\swordfish\repository" -Dosgi.noShutdown=true -Dservicemix.base=. -Dorg.osgi.framework.system.packages="com.sun.jimi.core,com.sun.net.ssl,com.sun.net.ssl.internal.ssl, com.sun.org.apache.xalan.internal,com.sun.org.apache.xalan.internal.res,com.sun.org.apache.xalan.internal.xsltc.trax, com.sun.org.apache.xerces.internal.dom,com.sun.org.apache.xerces.internal.jaxp,com.sun.org.apache.xerces.internal.xni, com.sun.org.apache.xml.internal,com.sun.org.apache.xml.internal.utils,com.sun.org.apache.xpath.internal, com.sun.org.apache.xpath.internal.jaxp,com.sun.org.apache.xpath.internal.objects,com.sun.xml.fastinfoset.dom, com.sun.xml.fastinfoset.sax,com.sun.xml.fastinfoset.stax,javax.annotation,javax.annotation.security,javax.crypto, javax.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.metadata,javax.imageio.stream,javax.jms, javax.management,javax.management.loading,javax.management.modelmbean,javax.management.remote,javax.naming, javax.naming.directory,javax.naming.spi,javax.net,javax.net.ssl,javax.rmi,javax.security.auth, javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x500, javax.security.cert,javax.security.sasl,javax.sql,javax.swing,javax.swing.event,javax.xml.datatype,javax.xml.parsers, javax.xml.namespace,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stream, javax.xml.validation,javax.xml.xpath,org.jvnet.fastinfoset,org.jvnet.staxex,org.omg.CORBA,org.omg.CosNaming, org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.ls,org.w3c.dom.traversal,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers, sun.misc,sun.security.provider,javax.activation,org.omg.CORBA.TypeCodePackage,org.omg.CORBA.portable, org.omg.PortableServer,org.omg.PortableServer.POAPackage,javax.swing.border,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ranges"
First 2 arguments related to Swordfish registry:
- org.osgi.service.http.port - the port number witch will be used to expose Service Registry as http service. 9001 - the default port that the remote resolver uses to connect to the Swordfish registry.
- The next property org.eclipse.swordfish.registry.fileLocation must point to the directory where all the WSDL files that need to be loaded by the registry are placed.
- Create folder for Swordfish Registry File Location and change corresponding org.eclipse.swordfish.registry.fileLocation property in launch configuration.
Launching Service Registry
Service Registry JAR files are built together with the Swordfish Runtime JAR files.
To launch the Service Registry JAR files, specify the following environment variables:
- org.osgi.service.http.port - port for HTTP interface to SR
- org.eclipse.swordfish.registry.fileLocation - a path to the directory where SR will store WSDL files
You can specify value of these environment variables, using -D parameters when you are launching equinox.
Here is an example script that shows you how to launch it:
#!/bin/bash cd ./target/bundles java -Dorg.osgi.service.http.port=8080 \ -Dorg.eclipse.swordfish.registry.fileLocation=/tmp/swordfish-sr \ org.eclipse.osgi_3.5.0.v20090311-1300.jar -console -clean
The option -console starts equinox in the console mode. In this mode you can type commands. When the option-clean is used, equinox will clean up the caches before starting up.