Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev] multiple service call

Hi Scott
   I took the zip from https://ecf2.osuosl.org/hudson/job/R-HEAD-sdk.feature/25/artifact/   its working now in my environment

Thanks and Regards

Abhisek

On Wed, May 19, 2010 at 10:03 PM, Scott Lewis <slewis@xxxxxxxxxxxxx> wrote:
Hi Abhisek,

During this period before Helios, it would probably be best to just use the p2 update site we create for Helios builds rather than the daily build pages...since we are going to be more builds as we approach the Helios release.
ECF's latest contribution to Helios is here:

http://download.eclipse.org/rt/ecf/3.3/helios/site.p2

This is a p2 repository URL, so can be added as a new update site via the Add button on the install new software page.

You can get to a zip of this build via this page:

https://ecf2.osuosl.org/hudson/job/R-HEAD-sdk.feature/25/artifact/

See the (all files in zip) link.


Thanks,

Scott

abhisek saikia wrote:
Hi Scott
  Could you please provide me the link from where i can take your changes and test.I could not find the latest build from http://www.eclipse.org/ecf/dailies32.php  and also http://download.eclipse.org/rt/ecf/3.5dailies3.2-repo/site.p2/  i am not able to access.
  Thanks and Regards

Abhisek

On Wed, May 19, 2010 at 9:22 AM, abhisek saikia <agscontact@xxxxxxxxx <mailto:agscontact@xxxxxxxxx>> wrote:

   wow...so fast....Sure...i will test now


   On Wed, May 19, 2010 at 5:02 AM, Scott Lewis <slewis@xxxxxxxxxxxxx
   <mailto:slewis@xxxxxxxxxxxxx>> wrote:

       Fix has been released to
       https://bugs.eclipse.org/bugs/show_bug.cgi?id=313445

       I would appreciate testing in your environment Abhisek to
       verify that it now works for your use case.

       Thanks,

       Scott

       abhisek saikia wrote:

           Thanks a lot Scott


           On Wed, May 19, 2010 at 2:55 AM, Scott Lewis
           <slewis@xxxxxxxxxxxxx <mailto:slewis@xxxxxxxxxxxxx>
           <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>>> wrote:

              Hi Abhisek,

              Thanks.  I believe this is because the discovery
           locator cache on
              the consumer is not being purged upon ungraceful
           shutdown of
              remote provider.   So when the service host startups up
           the second
              time, the consumer discovery thinks it's already
           there...and
              doesn't notify.

              I've opened this bug to track:
              https://bugs.eclipse.org/bugs/show_bug.cgi?id=313445

              Scott

              abhisek saikia wrote:

                  Hi Scott

                   Thanks for your response.
                   I am using jmdns discovery and ECF generic
                   Yes,on termination of host,in the consumer side i
           am geting
                  the event removedService(ServiceReference arg0,
           Object proxy)
                   of ServiceTrackerCustomizer .but after that if i
           start the
                  host equinox,consumer is not able to receive any
           event of
                  addingService(ServiceReference reference) of the
                  ServiceTrackerCustomizer.
                   If i use close osgi console command,consumer is
           able to
                  receive  addingService event once the host started
           again.
                     Thanks an Regards
                    Abhisek

                  On Wed, May 19, 2010 at 1:58 AM, Scott Lewis
                  <slewis@xxxxxxxxxxxxx <mailto:slewis@xxxxxxxxxxxxx>
           <mailto:slewis@xxxxxxxxxxxxx <mailto:slewis@xxxxxxxxxxxxx>>
                  <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx> <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>>>>
                  wrote:

                     Hi Abhisek,

                     abhisek saikia wrote:

                         Hi Scott

                           Today i tried with ECF
                         org.eclipse.ecf.sdk_3.3.0.v20100518-1435
           from head.It
                  has the
                         fix for this issue.I tested my use case for
           multiple
                  service
                         call.Its working fine.
                            But the other issue is still there(abrupt
           termination of
                         provider).
                           This issue can be reproduced with any ECF
           generic
                  sample. I
                         also have attached the sample which i tried
                          Steps to reproduce:
                             1.start consumer equinox
                             2.start provider equinox
                             3.let the service calls happen
                             4.terminate provider equinox using kill
           -9(if using
                  unix
                         environment)  or kill from task
           manager(windows) or press
                         terminate button(if launching from eclipse)


                     Ok.  So I would like to work through this case a
           little bit
                  with
                     you...understand what you are seeing...and we'll
           open a bug and
                     address it if necessary.

                     First please verify these assumptions:

                     a) Using zeroconf/jmdns for discovery
                     b) Using ECF generic for distribution
                     c) You are using 'provider' rather than 'host' for
                  terminology (I
                     know that OSGi remote services spec uses
           'provider' but
                  I/we don't
                     use that because we also have the concept of a
           'provider',
                     separate from the remote services role...i.e.
           host and
                  consumer.

                     Here's my assumptions about what is happening
           (please
                     verify/clarify):  you start the consumer first
           (1), and
                  then the
                     host (2).  The remote service is registered by
           host, and
                  published
                     via jmdns discovery provider.  The consumer
           discovers the
                  remote
                     service, creates a proxy, and the consumer's
                     ServiceTrackerCustomizer.addingService method is
           called. In the
                     consumer example code this results in several remote
                  service calls
                     (i.e. via the proxy, as well as via async/Future and
                     async/Callback.  These calls complete successfully.

                     At this point, the host is terminated.  What
           happens then
                  on the
                     consumer for you?  On my tests, if I terminate
           the host via
                     Eclipse (i.e. the red stop button), I
           immediately see the
                     following output on my consumer console:

                     IHello Service proxy removed
                     [log;-0700 2010.05.18
                                       13:04:13:273;INFO;org.eclipse.ecf.osgi.services.distribution;OSGi
                     ECF service distribution: unregistered
                                            endpointDescription=RemoteServiceEndpointDescriptionImpl[svcInterfaces=[org.eclipse.ecf.examples.remoteservices.hello.IHello];supportedConfigTypes=[ecf.generic.server];serviceIntents=null;location=null;remoteServiceId=0;discoveryServiceID=ServiceID[type=ServiceTypeID[typeName=_osgiservices._tcp.default._iana];location=osgiservices://192.168.1.102:3787/svc_0;full=_osgiservices._tcp.default._iana@osgiservices://192.168.1.102:3787/svc_0];endpointID=null;endpointAsID=StringID[ecftcp://localhost:3787/server];connectTargetID=null;remoteServicesFilter=null;props={ecf.rsvc.ns=ecf.namespace.generic.remoteservice
           <http://192.168.1.102:3787/svc_0;full=_osgiservices._tcp.default._iana@osgiservices://192.168.1.102:3787/svc_0%5D%3BendpointID%3Dnull%3BendpointAsID%3DStringID%5Becftcp://localhost:3787/server%5D;connectTargetID=null;remoteServicesFilter=null;props=%7Becf.rsvc.ns=ecf.namespace.generic.remoteservice>
                             <http://192.168.1.102:3787/svc_0;full=_osgiservices._tcp.default._iana@osgiservices://192.168.1.102:3787/svc_0%5D%3BendpointID%3Dnull%3BendpointAsID%3DStringID%5Becftcp://localhost:3787/server%5D;connectTargetID=null;remoteServicesFilter=null;props=%7Becf.rsvc.ns=ecf.namespace.generic.remoteservice>
                                       <http://192.168.1.102:3787/svc_0;full=_osgiservices._tcp.default._iana@osgiservices://192.168.1.102:3787/svc_0%5D%3BendpointID%3Dnull%3BendpointAsID%3DStringID%5Becftcp://localhost:3787/server%5D;connectTargetID=null;remoteServicesFilter=null;props=%7Becf.rsvc.ns=ecf.namespace.generic.remoteservice>,


                                       osgi.remote.service.interfaces=org.eclipse.ecf.examples.remoteservices.hello.IHello,
                     ecf.sp.cns=org.eclipse.ecf.core.identity.StringID,
                  ecf.rsvc.id <http://ecf.rsvc.id> <http://ecf.rsvc.id>
                     <http://ecf.rsvc.id>=[B@c3e967,
           ecf.sp.ect=ecf.generic.server,

                     ecf.sp.cid=[B@1079ff}]
                       proxyServiceRegistration=
                                       {org.eclipse.ecf.examples.remoteservices.hello.IHello}={service.imported=org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceImpl@1cb374f,
                     service.imported.configs=[ecf.generic.client],
           service.id <http://service.id>
                  <http://service.id>
                     <http://service.id>=52}

                     ]

                     The first line 'IHello Service proxy removed'
           indicates
                  that the
                     remote service registration *is* getting cleaned
           up when the
                     connect with the remote host is
           terminated...this is some
                  comment
                     code that I added to the
                  ServiceTrackerCustomizer.removedService
                     method (which is called when the appropriate
           service is
                  removed).
                     The log message confirms (via the
                  IProxyDistributionListener) that
                     the remote service proxy registration was removed.

                     This is basically as it should be...as the
           remote service
                  proxy is
                     being cleaned up.  Notice, however, that there is no
                  undiscovery
                     event received on the consumer.  That's because
           with zeroconf,
                     since the host was terminated abnormally, the
           host was not
                  able to
                     send out an zeroconf 'unpublish' to the
           consumer.  The ECF
                  generic
                     provider *did* get the socket close, and this
           was/is used to do
                     the proxy remove clean up...but the discovery
           mechanism
                  still has
                     the remote service in it's cache.

                     So, in fact, zeroconf still believes the remote
           services is out
                     there.  Zeroconf has what's called a 'time to
           live' for the
                     multicast message...and until that expires the
           remote osgi
                  service
                     information will be present.

                     But my question is...assuming you are seeing the
           same thing as
                     above...what do you do now?...and what is the
           result?...and how
                     does this result differ from what you are
           expecting to happen?

                     Thanks.  With your further assistance I think
           this should
                  be easy
                     to identify and fix.

                     Scott

                         And about container connect,which spring is
           using might
                  not be
                         an issue with ECF,may be in spring code we
           need to
                  handle in
                         such a way that we connect only after remote
           service
                  has been
                         discovered.May be angelo can provide more
           clarification
                  on it.

                         In the present version i faced only one
           issue which i have
                         mentioned.

                         Thanks and Regards

                         Abhisek

                         On Tue, May 18, 2010 at 12:42 AM, Scott Lewis
                         <slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx> <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>>
                  <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx> <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>>>
                         <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>
                  <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>>
           <mailto:slewis@xxxxxxxxxxxxx <mailto:slewis@xxxxxxxxxxxxx>
                  <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>>>>>
                         wrote:

                            Hi Abhisek,

                            abhisek saikia wrote:

                                Hi Scott

                                     Existing or new container both
           are ok for
                  me.For
                         me just
                                the service call should be successful
           which i guess
                         should be
                                the major specification of ECF :).I
           am currently
                  not going
                                with container.connect option with
           multiple
                  containers
                         as it
                                had the defect for which
           client(consumer) needs
                  to be
                         started
                                first ,Also been reproduced by angelo @
                                                         http://dev.eclipse.org/mhonarc/lists/ecf-dev/msg03635.html
                              Could you and/or Angelo please open a
           bug about this
                         issue?...and
                            include the explanation from Angelo in
           the bug
                  description?
                               Also, please address this question on
           the bug:

                            On the consumer, if the spring framework
           is creating a
                         container,
                            and connecting to a targetId with code
           like this (the
                         following is
                            copied from Angelo's mailing list post):

                            protected IContainer createContainer() throws
                            ContainerCreateException,
                                      ContainerConnectException {
                                  IContainer container =
                  super.createBasicContainer();
                                  if (targetId != null) {
                                      container.connect(targetId,
           connectContext);
                                  }
                                  return container;
                              }

                            Whenever this code is executed (e.g. upon
           startup), then
                         this logic:

                                  if (targetId != null) {
                                      container.connect(targetId,
           connectContext);
                                  }

                            *will* synchronously attempt to connect
           to the service
                         host...and
                            if the service host is not yet started
           (whether
                  localhost
                         or some
                            other process) you will get a a connect
           exception...e.g.
                         like he got:

                            Caused by:
                  org.eclipse.ecf.core.ContainerConnectException:
                            Exception during connection to
                  ecftcp://localhost:3787/server
                            <stack trace deleted>
                              ... 17 more
                            Caused by: java.net.ConnectException:
           Connection
                  refused:
                         connect

                            This means simply that the spring
           initialization code is
                         trying to
                            connect directly to a given host
           container (i.e.
                  targetId), and
                            that container hasn't had a chance to
           startup,
                  register the
                         remote
                            service, and then publish the remote
           service for
                  discovery
                         by the
                            consumer.  In other words, the consumer
           framework
                  startup is
                            racing against the startup/initialization
           of the host.

                            One way to avoid the need to explicitly call
                            container.connect(targetId,
           connectContext) at *all*
                  is to
                         (on the
                            consumer) wait until the remote service is
                  discovered via
                            discovery...and only *then* have the
           container
                  connect to the
                            target container.  The logic for doing so
           (i.e.
                  connect to the
                            target container) is already present in the
                            DefaultProxyContainerFinder, and the
           equivalent to
                  targetId is
                            already included in the metadata
           available via
                  discovery.   One
                            major change in
           DefaultProxyContainerFinder *since* the
                         release of
                            ECF 3.2 was represented by this bug:

                                       https://bugs.eclipse.org/bugs/show_bug.cgi?id=303979

                            This makes it unnecessary to even create
           a proxy
                  container in
                            advance of the service discovery, as
           after this bug was
                         addressed
                            a container will be automatically created
           (if one
                  doesn't
                         already
                            exist) for dealing with incoming remote
           services being
                         discovered.
                             In other words, I believe that with the
           most recent
                  code from
                            HEAD it should be unnecessary for the spring
                  framework bean
                         to be
                            created on the consumer side at all.
            Both the container
                         creation
                            and the connection can/could all be done
           lazily...at
                  remote
                            service discovery time instead of eagerly
           (at spring
                  bean
                         creation
                            time).

                            But I'm probably misunderstanding
           something about
                  your/Angelo's
                            use case.   So let's please move this to
           a new bug,
                         however, and
                            we can discuss further/diagnose/etc on
           that new bug.

                            Thanks,

                            Scott


                                 Anyway as per your suggestion i will
           try with the
                         unreleased
                                code chunk of ECF .

                                Thanks and Regards

                                Abhisek

                                On Mon, May 17, 2010 at 11:33 PM,
           Scott Lewis
                                <slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>
                  <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>>
           <mailto:slewis@xxxxxxxxxxxxx <mailto:slewis@xxxxxxxxxxxxx>
                  <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>>>
                         <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>
                  <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>>
           <mailto:slewis@xxxxxxxxxxxxx <mailto:slewis@xxxxxxxxxxxxx>
                  <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>>>>
                                <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>
                  <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>>
                         <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>
                  <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>>>
           <mailto:slewis@xxxxxxxxxxxxx <mailto:slewis@xxxxxxxxxxxxx>
                  <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>>
                         <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>
                  <mailto:slewis@xxxxxxxxxxxxx
           <mailto:slewis@xxxxxxxxxxxxx>>>>>>

                                wrote:

                                   Hi Abhisek,

                                   You seem to be using ECF 3.2
           release version
                         (Release date:
                                 Feb
                                   19, 2010).  There have been a
           number of bugs
                  fixed since
                                   then...one of which having to do
           with a
                  problem of
                         not properly
                                   publishing the same service
           multiple times.  For
                         testing, bug
                                   identification, etc I would urge
           you to get the
                         latest from
                                HEAD,
                                   as we are in the testing phase for
           ECF 3.3/Helios
                         release right
                                   now...and so it would be most
           helpful to get some
                                assistance from
                                   the community with testing ECF
           3.3/Helios for
                  your
                         specific use
                                   cases.  If you need instructions
           for how to
                  get the
                         lastest
                                from
                                   HEAD in your workspace please let me
                  know...and/or
                         see section
                                   'Anonymous CVS Access to ECF
           Source Code':
                                               http://www.eclipse.org/ecf/dev_resources.php

                                   abhisek saikia wrote:


                                       Hi Scott
                                          I used
                         org.eclipse.ecf.sdk_3.2.0.v20100219-1253.zip
                                                                       <http://www.eclipse.org/downloads/download.php?file=/rt/ecf/3.2/3.6/org.eclipse.ecf.sdk_3.2.0.v20100219-1253.zip>
                                           My issue is a bit
           different.I have 2
                         providers(in 2
                                       different machines) and one
            consumer in
                  another
                                machine.The
                                       providers implement the same
           Interface.I am
                         using Service
                                       tracker in consumer side.I am
           able to receive
                         only one
                                remote
                                       reference.While debugging ECF
           code i
                  found if a
                                container is
                                       already connected(i.e it
           already discovered
                         provider in
                                       machine 1),it cant find the
           remote service
                         reference from
                                       machine 2(as the code has a
           check for
                                isContainerConnect which
                                       is true while remotelocation
           becomes
                  machine2,
                         as its
                                already
                                       connected to provider of
           machine 1) .


                                   A couple of things.  First...since
           3.2 there has
                         been some
                                   improvement/change of the logic in
                                DefaultProxyContainerFinder wrt
                                   handling of multiple remote services.

                                   Second...it is possible that this
           represents a
                         bug/problem
                                in the
                                   DefaultProxyContainerFinder for
           handling your
                  use case.

                                   Third...it's also possible that
           for your use case
                         there is an
                                   ambiguity about what you want to
           happen on the
                         multiple-service
                                   consumer...i.e. do you want the
           *existing* proxy
                         container
                                to be
                                   used, or do you want a *new*
           container to be
                                created/connected for
                                   this remote service?  There are some
                  facilities already
                                present in
                                   ECF to support some of these use
           cases, so it
                  may be a
                                matter of
                                   figuring out what you wish to
           happen and then
                  using
                         those
                                facilities.

                                   So...I recommend that you get the
           latest code
                  from HEAD,
                                and try
                                   this same use case again.  If it
           still has
                  problems
                         then lets
                                   identify them, and we'll address
           those problems
                         and/or needed
                                   generalization to handle your use
           case.


                                   Thanks,

                                   Scott


                                              _______________________________________________
                                   ecf-dev mailing list
                                   ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>> <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>>
                         <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>> <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>>>
                                <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>
                         <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>> <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>
                         <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx> <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>>>>



                                              https://dev.eclipse.org/mailman/listinfo/ecf-dev


                                                         ------------------------------------------------------------------------



                                           _______________________________________________
                                ecf-dev mailing list
                                ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx> <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx> <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>>
                         <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>> <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>>>
                                           https://dev.eclipse.org/mailman/listinfo/ecf-dev
                                                            _______________________________________________
                            ecf-dev mailing list
                            ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx> <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx> <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>>
                         <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>> <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>>>
                                       https://dev.eclipse.org/mailman/listinfo/ecf-dev


                                           ------------------------------------------------------------------------

                         _______________________________________________
                         ecf-dev mailing list
                         ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx> <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx> <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>>
                         https://dev.eclipse.org/mailman/listinfo/ecf-dev


                     _______________________________________________
                     ecf-dev mailing list
                     ecf-dev@xxxxxxxxxxx <mailto:ecf-dev@xxxxxxxxxxx>
           <mailto:ecf-dev@xxxxxxxxxxx <mailto:ecf-dev@xxxxxxxxxxx>>
                  <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx> <mailto:ecf-dev@xxxxxxxxxxx
           <mailto:ecf-dev@xxxxxxxxxxx>>>
                     https://dev.eclipse.org/mailman/listinfo/ecf-dev


                             ------------------------------------------------------------------------

                  _______________________________________________
                  ecf-dev mailing list
                  ecf-dev@xxxxxxxxxxx <mailto:ecf-dev@xxxxxxxxxxx>
           <mailto:ecf-dev@xxxxxxxxxxx <mailto:ecf-dev@xxxxxxxxxxx>>
                  https://dev.eclipse.org/mailman/listinfo/ecf-dev
                 
              _______________________________________________
              ecf-dev mailing list
              ecf-dev@xxxxxxxxxxx <mailto:ecf-dev@xxxxxxxxxxx>
           <mailto:ecf-dev@xxxxxxxxxxx <mailto:ecf-dev@xxxxxxxxxxx>>
              https://dev.eclipse.org/mailman/listinfo/ecf-dev


           ------------------------------------------------------------------------

           _______________________________________________
           ecf-dev mailing list
           ecf-dev@xxxxxxxxxxx <mailto:ecf-dev@xxxxxxxxxxx>
           https://dev.eclipse.org/mailman/listinfo/ecf-dev
           

       _______________________________________________
       ecf-dev mailing list
       ecf-dev@xxxxxxxxxxx <mailto:ecf-dev@xxxxxxxxxxx>
       https://dev.eclipse.org/mailman/listinfo/ecf-dev



------------------------------------------------------------------------

_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev
 

_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev


Back to the top