Thanks GregI got the instruction to get started.RegardsBishnu
Bishnu Prasad Gautam > Subject: Re: River-examples project - followup > From: tras...@stratuscom.com > Date: Wed, 8 Apr 2015 04:12:52 -0400 > To: dev@river.apache.org > > First, retrieve the project using Subversion. The instructions to get > started are in the README.md file at the top level of the project repository. > Basically, you need to checkout the project using svn, then build the > project using Maven. > > Once the project is built, the tutorial starting point will be in > target/site/index.html > > Cheers, > > Greg Trasuk > > On Apr 8, 2015, at 3:30 AM, Bishnu Gautam <bishn...@hotmail.com> wrote: > > > > > Hi GregThanks for the link. Sorry, I could not find the tutorial about > > hello-service. Did I miss something from the link below. However, there was > > the GreeterService.java file. > > RegardsBishnu > > > > > > Bishnu Prasad Gautam > > > > > >> From: tras...@stratuscom.com > >> Subject: Re: River-examples project - followup > >> Date: Tue, 7 Apr 2015 09:45:46 -0400 > >> To: dev@river.apache.org > >> > >> > >> http://svn.apache.org/repos/asf/river/river-examples/river-examples/trunk > >> is the public svn folder. > >> > >> Cheers, > >> > >> Greg Trasuk. > >> > >> On Apr 7, 2015, at 12:13 AM, Bishnu Gautam <bishn...@hotmail.com> wrote: > >> > >>> > >>> Hi Greg > >>> Could you send me the SVN info to download the tutorials and other > >>> information that you updated. It would be great if you send me those > >>> information. > >>> RegardsBishnu > >>> > >>> Bishnu Prasad Gautam > >>> > >>> > >>>> Subject: Re: River-examples project - followup > >>>> From: tras...@stratuscom.com > >>>> Date: Mon, 6 Apr 2015 21:56:14 -0400 > >>>> To: dev@river.apache.org > >>>> > >>>> > >>>> Hi all: > >>>> > >>>> I updated the tutorial to include the discussion below in the > >>>> “hello-service” module. ‘svn up’ should bring it down to your local > >>>> machine. I haven’t yet integrated Patricia’s formatting suggestions, > >>>> mainly because I have to dig in to Maven’s site command a bit to include > >>>> the correct css, but I’ll do that before we release. > >>>> > >>>> Any feedback is greatly appreciated. > >>>> > >>>> Cheers, > >>>> > >>>> Greg Trasuk > >>>> > >>>> On Apr 6, 2015, at 3:30 PM, Greg Trasuk <tras...@stratuscom.com> wrote: > >>>> > >>>>> > >>>>> Hi Dan: > >>>>> > >>>>> Thanks for the great feedback. > >>>>> > >>>>> I’m pretty sure you already know this, Dan, since you’re a long-time > >>>>> Jini user, but let me explain for the newer folks and the archives. > >>>>> This is a case where what you’re seeing is the expected behaviour. > >>>>> When the service registers itself with Reggie, it takes out a lease on > >>>>> the registration. That lease is usually renewed periodically by the > >>>>> service’s JoinManager (that isn’t quite the whole story, but it’ll do > >>>>> for now). When you kill the service unexpectedly with ctrl-c, the > >>>>> service doesn’t de-register itself, however the lease eventually runs > >>>>> out (now that it’s not being renewed by the service) and then the > >>>>> registration expires, allowing Reggie to reclaim its resources and > >>>>> notify any registrar listeners. > >>>>> > >>>>> It would be possible to register a vm shutdown hook to de-register the > >>>>> service before the vm exits, but in this case I think it’s actually > >>>>> better to leave it out, since it demonstrates nicely that a dead > >>>>> service (or at least a dead JoinManager) eventually gets dropped from > >>>>> the registrar. > >>>>> > >>>>> You said the duplicate service instances “worked”, in that you can show > >>>>> info and browse the service, but of course, you’re really just looking > >>>>> at the information that’s in the registry - the registrar and service > >>>>> browser don’t actually contact the service. Reggie has no knowledge of > >>>>> the “liveness” of the service, and doesn’t attempt to do any “health > >>>>> check”. > >>>>> > >>>>> In fact, it’s a common misconception that if the service renews the > >>>>> lease, it must be “live”. This turns out to be false for many reasons. > >>>>> (1) The service could have delegated its lease renewals to a different > >>>>> service. (2) There’s no guarantee that failure of the actual service > >>>>> thread would also cause failure of the lease renewal thread, even if > >>>>> they are in the same process (embedded programmers might recognize this > >>>>> as being similar to the “resetting the watchdog in a timer-triggered > >>>>> interrupt service routine” problem). (3) Even if there were a health > >>>>> check task, the service could fail in the instant just after the health > >>>>> check. The most a health check, monitor or heartbeat can do is place a > >>>>> limit on how long it takes to find out a service has failed. The only > >>>>> way to say with certainty that a service “works” is to attempt to use > >>>>> it. > >>>>> > >>>>> The lease is purely for the convenience of the registrar (or > >>>>> generically, the service granting the lease). If ever the lease is not > >>>>> renewed, the landlord can go ahead and reclaim whatever resources were > >>>>> dedicated to the lease. In the case of Reggie, if the lease isn’t > >>>>> renewed, Reggie drops the registration. So there’s little risk of > >>>>> “stuck registrations”. And since the lease can be renewed, there’s no > >>>>> need for any kind of extended default timeout. > >>>>> > >>>>> So, I think I’ll put most of the above explanation into the tutorial, > >>>>> unless anyone has other thoughts. > >>>>> > >>>>> Cheers, > >>>>> > >>>>> Greg Trasuk > >>>>> > >>>>> On Apr 6, 2015, at 1:42 PM, Dan Rollo <danro...@gmail.com> wrote: > >>>>> > >>>>>> Hi Greg, > >>>>>> > >>>>>> I finally took some time to try this out. It really looks great to me! > >>>>>> > >>>>>> I noticed one minor thing that I thought might confuse users: While > >>>>>> going through tutorial steps, I decided to stop (via cntrl+c) are > >>>>>> restart the hello-service a couple times. This resulted in the service > >>>>>> being shown multiple times in the service browser (screenshot > >>>>>> attached). It appeared all the duplicate instances in the browser > >>>>>> “worked” (I could “show info” and “browse service” on all of them). > >>>>>> Eventually, the duplicate registrations “cleaned up” and I was left > >>>>>> with just one. I’m not sure how best to avoid confusion about this > >>>>>> situation. Would more doc about “why”/“how” that works just complicate > >>>>>> things? Is there any sort of “force lease check” to do in the browser > >>>>>> that could clear up the duplicates sooner? (And if so, would that be > >>>>>> worth noting in the tutorial?). So basically, not sure this is a > >>>>>> “problem”, but thought I’d ask… > >>>>>> > >>>>>> Thanks! > >>>>>> Dan > >>>>>> > >>>>>> <revier-examples-RepeatedService.png> > >>>>> > >>>> > >>> > >> > > >