Hi,
Using Ping Pong example i created a Riena Server which suits my application. I have two plugins in this server application (same like ping pong server). I am able to launch this server application from IDE by making changes to .launch file that came with ping pong example. Here is the .launch file i am using. Using this server launches fine and i can connect to this server running on port 8080 from my client.
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher"> <booleanAttribute key="append.args" value="true"/> <booleanAttribute key="automaticAdd" value="false"/> <booleanAttribute key="automaticValidate" value="true"/> <stringAttribute key="bootstrap" value=""/> <stringAttribute key="checked" value="[NONE]"/> <booleanAttribute key="clearConfig" value="true"/> <stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/testbench_server"/> <booleanAttribute key="default_auto_start" value="true"/> <intAttribute key="default_start_level" value="4"/> <booleanAttribute key="includeOptional" value="true"/> <booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/> <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console -clean"/> <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dorg.eclipse.equinox.http.jetty.http.port=8080"/> <stringAttribute key="pde.version" value="3.3"/> <booleanAttribute key="show_selected_only" value="false"/> <stringAttribute key="target_bundles" value="org.eclipse.core.jobs@default:default,org.eclipse.riena.communication.core@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.equinox.common@default:default,org.eclipse.core.contenttype@default:default,com.ibm.icu@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.http.jetty@default:default,javax.servlet@default:default,org.eclipse.ant.core@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.core.expressions@default:default,org.eclipse.equinox.log@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.osgi.services@default:default,org.eclipse.team.core@default:default,org.eclipse.riena.core@default:default,org.apache.commons.logging@default:default,org.eclipse.core.variables@default:default,org.eclipse.osgi@:,org.eclipse.core.filesystem@default:default,org.eclipse.core.resources.compatibility@default:false,org.eclipse.riena.communication.console@default:default,org.eclipse.riena.communication.factory.hessian@default:default,org.eclipse.riena.communication.publisher.hessian@default:default,org.apache.log4j*1.2.13.v200806030600@default:default,org.eclipse.core.resources@default:default,org.eclipse.debug.core@default:default,org.eclipse.core.runtime@default:default,org.mortbay.jetty@default:default,com.caucho.hessian@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.app@default:default,org.eclipse.riena.communication.publisher@default:default,org.eclipse.core.filesystem.linux.x86@default:false,org.eclipse.riena.server@default:default"/> <booleanAttribute key="tracing" value="false"/> <booleanAttribute key="useDefaultConfigArea" value="true"/> <stringAttribute key="workspace_bundles" value="com.abc.tb.communication.server@default:default,com.abc.tb.communication.common@default:default"/> </launchConfiguration>
When i use this .launch file to launch riena server i get following messages on my command line and my client can connect to this server running on 8080.
osgi> May 1, 2009 10:04:15 AM org.mortbay.http.HttpServer doStart INFO: Version Jetty/5.1.x May 1, 2009 10:04:15 AM org.mortbay.util.Container start INFO: Started org.eclipse.equinox.http.jetty.internal.Servlet25Handler@ef4599 May 1, 2009 10:04:15 AM org.mortbay.util.Container start INFO: Started HttpContext[/,/] May 1, 2009 10:04:15 AM org.mortbay.http.SocketListener start INFO: Started SocketListener on 0.0.0.0:8080 May 1, 2009 10:04:15 AM org.mortbay.util.Container start INFO: Started org.mortbay.http.HttpServer@1bbd583 May 1, 2009 10:04:33 AM org.mortbay.jetty.servlet.ServletHandler$Context log
But my aim is the run this server from command line using executable. I have an executable that points to the following config.ini ### bundles to start
eclipse.ignoreApp=true
osgi.noShutdown=true
workspace_bundles=com.abc.tb.communication.server@default:default,com.abc.tb.communication.common@default:default
osgi.bundles=reference\:file\:org.eclipse.equinox.simpleconfigurator_1.0.0.v20080604.jar@1\:start
org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.eclipse.equinox.simpleconfigurator/bundles.info
# update configurator will load all bundles present in the plugins
# folder of your installation
### install area (replace with your install area path)
osgi.install.area=plugins/
### osgii path to osgi runtime jar - replace path
### osgi.framework=plugins/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
osgi.framework=plugins/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
### no eclipse launch
org.eclipse.equinox.http.jetty.http.port=8080
osgi.bundles.defaultStartLevel=4
Using this config.ini when i start my server i get following messages on the command line. Which is almost same as what it displays when i run from IDE, only that i don't see osgi prompt here.
May 1, 2009 1:07:58 PM org.mortbay.http.HttpServer doStart INFO: Version Jetty/5.1.x May 1, 2009 1:07:59 PM org.mortbay.util.Container start INFO: Started org.eclipse.equinox.http.jetty.internal.Servlet25Handler@3bc20e May 1, 2009 1:07:59 PM org.mortbay.util.Container start INFO: Started HttpContext[/,/] May 1, 2009 1:07:59 PM org.mortbay.http.SocketListener start INFO: Started SocketListener on 0.0.0.0:8080 May 1, 2009 1:07:59 PM org.mortbay.util.Container start INFO: Started org.mortbay.http.HttpServer@a0864f May 1, 2009 1:08:36 PM org.mortbay.jetty.servlet.ServletHandler$Context log INFO: org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper: call null
When i start server executable from command i cannot connect from my client to this server and on client i see following File notfoundexception and on server i see "call null" being received. java.io.FileNotFoundException: http://adc:8080/hessian/tbServer?getUrl&RID-ed8kdrn4
Can anyone help me with pointing out what i am i missing here. I assume my config.ini is not right. Any help will be greatly appreciated.
Thanks, Prasanna
How fun is this? IMing with Windows Live Messenger just got better.
|