[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [ecf-dev] getting started with ECF
|
Hi David,
David Donohue wrote:
Hello!
ECF looks like just what I need. I have 2 questions.
My first question is: which protocols, service APIs, & architecture
should I use?
I want to have clustered OSGi applications, to permit handling a large
load on my calculation-intensive Eclipse RAP web application. I would
like to have my UI running as one OSGi instance. This UI would
balance load of many users by connecting to distributed data servers,
each running as OSGi service, and each storing the data for a
different set of users. These OSGi services might be running on the
same physical box or on distinct machines, within a network. The
client would be doing data operations. Ideally I could share objects
between client and servers.
Interesting. Incidently, I (Scott) have been working on a load
balancing system for my employer (EclipseSource). I intend to present
some of the work at Markus' and my ESE talk [1]. It load balances
remote service requests (i.e. individual method calls on the service
interface). We are using this to do load balancing of P2 planner
operations...as the P2 planner can be computationally intensive for
large numbers of features/IUs.
We are currently using JMS/ActiveMQ as the remote service provider for
ECF...because (among other reasons), JMS/ActiveMQ has support for load
balancing semantics (distributing messaging/requests over n Queue
consumers), and we can just use that to do load balancing of remote
services rather than implement the load balancing semantics ourselves.
My second question is: how do I get started? I followed these instructions.
http://wiki.eclipse.org/Getting_Started_with_Using_the_ECF_Remote_Services_API
and I disabled r-OSGi on my Eclipse IDE. However I still get this
message when starting the service host:
WARNING: Port 9278 already in use. This instance of R-OSGi is running
on port 9279
Yes. This will/does happen when multiple instances of r-OSGi are run
localhost, because r-OSGi assumes a default port. r-OSGi does allow
specification of the default port via a system property (i.e. see this
page for some info about this [2] ). There is also an enhancement
request to allow container creators to specify the port for r-OSGi to
listen on [3].
So I thought I would use a different protocol. I tried
ecf.generic.client and ecf.generic.server. But when I start the host
I get an exception
...Caused by: java.lang.IllegalArgumentException: Port value out of range: -1
at java.net.ServerSocket.<init>(ServerSocket.java:180)
at java.net.ServerSocket.<init>(ServerSocket.java:141)
at org.eclipse.ecf.provider.comm.tcp.Server.<init>(Server.java:39)
at org.eclipse.ecf.provider.generic.TCPServerSOContainerGroup.putOnTheAir(TCPServerSOContainerGroup.java:65)
...
This error is because the ecf generic provider needs to be told what
it's URI/ID is upon construction (it doesn't have a default). This is
done with a line like:
IContainer container =
containerFactory.createContainer("ecf.generic.server","ecftcp://localhost:3282/server");
<- note the protocol,host,port,path
I've opened a new bug [4] to enhance the generic provider to allow a
default URI (like above) to be set automatically. In the mean time, you
will need to specify the ID yourself (e.g. as above).
Bonus question:
It seems that the ECF update site(s) have been down the last few days?
We are now making ECF daily builds (for ECF 3.1) available as p2 repos
[5]...and you should be able to get the daily builds (for 3.1 stream)
from those repos. If you are having any trouble with getting/installing
from the given location, please do let us know.
Thanks for your help!
No problem. Please do let us all know what further needs you have WRT
your project and we will do what we can to help.
Scott
David Donohue
[1] http://www.eclipsecon.org/summiteurope2009/sessions?id=878
[2]
http://wiki.eclipse.org/Getting_Started_with_ECF%27s_RFC119_Implementation
[3] https://bugs.eclipse.org/bugs/show_bug.cgi?id=267521
[4] https://bugs.eclipse.org/bugs/show_bug.cgi?id=290291
[5] http://dev.eclipse.org/mhonarc/lists/ecf-dev/msg02913.html