The class works, but I don't think it is what you want. Maybe it is. Just don't have high expectations. I did and was disappointed. Just trying to help you out, Radar! ///;-)
Jack On Fri, 18 Mar 2005 12:21:28 -0500 (EST), Frank W. Zammetti <[EMAIL PROTECTED]> wrote: > Why do you think it wouldn't work? Does it sometimes return incorrect > information in some setups? > > I thought of doing some kind of mini-browser-type thing, but before I go > down that road I wanted to explore some simpler solutions. The Commons ID > thing is very nice, but I'm not so sure I'm comfortable putting in > something that isn't actually released yet. > > That being said, what was on the site for it got me to thinking... I think > if I do a combination of the sum of the MAC address digits + the current > time + the hashCode of the IP address, that is probably as random as I > need. But, if you know something about InetAddress that would make this > not work, I'm all ears :) > > Of course, I'm not sure how to get the MAC address yet, but one problem at > a time... > > -- > Frank W. Zammetti > Founder and Chief Software Architect > Omnytex Technologies > http://www.omnytex.com > > On Fri, March 18, 2005 12:14 pm, Dakota Jack said: > > InetAddress might not get the answer for you, Frank. I don't know > > what your setup is, but you can go to any ip address service outside > > your system and get a unique return address for your machines with a > > mini-browser. > > > > Jack > > > > > > On Fri, 18 Mar 2005 11:36:10 -0500 (EST), Frank W. Zammetti > > <[EMAIL PROTECTED]> wrote: > >> Yes, I think InetAddress just might do the trick. Thank you Kris! > >> > >> -- > >> Frank W. Zammetti > >> Founder and Chief Software Architect > >> Omnytex Technologies > >> http://www.omnytex.com > >> > >> On Fri, March 18, 2005 11:24 am, Kris Schneider said: > >> > Will InetAddress.getLocalHost() work for you? > >> > NetworkInterface.getNetworkInterfaces() might also be of interest. Or, > >> you > >> > might want to create yourself an instance of java.rmi.dgc.VMID... > >> > > >> > Quoting "Frank W. Zammetti" <[EMAIL PROTECTED]>: > >> > > >> >> Oh boy, I got a good one! It's only related to Struts in that the > >> >> application in question is Struts-based, so I hope no one minds a > >> >> semi-OT > >> >> question... > >> >> > >> >> Here's the situation... An app I wrote has a daemon thread that is > >> >> spawned > >> >> at startup (from a Struts plugin) that does periodic background > >> >> processing > >> >> tasks. This works great, never had a bit of trouble. > >> >> > >> >> Now though, the app is moving from a single server to a clusted > >> >> environment. > >> >> > >> >> So, what's going to happen is that each server in the cluster will > >> have > >> >> its own instance of the thread running on it. Not a huge problem > >> except > >> >> that I have to be sure only one instance of the thread (i.e., one > >> server > >> >> in the cluster) is executing concurrently. > >> >> > >> >> The easy solution is just a database table that is checked when the > >> >> thread > >> >> wakes up. If there is no entry in it, then there is no other > >> instance > >> >> running, so it can write an entry to the table and go off and do its > >> >> thing. > >> >> > >> >> I want to be extremely certain that no issues arise in terms of one > >> >> instance of the thread reading from the database while another > >> instance > >> >> is > >> >> writing, etc. So, aside from transactional database calls and > >> row-level > >> >> locking, I want to do one more thing: I want the thread to sleep a > >> >> random > >> >> number of seconds (1-300) at startup. This will ensure that, all the > >> >> database locking and such aside, the threads should all be offset > >> from > >> >> one > >> >> another in terms of when they run. > >> >> > >> >> So, I need a random number generated when the thread starts up. As > >> we > >> >> all > >> >> know though, random number generation on most computers that don't > >> have > >> >> something like a Brownian motion sensor attached stuck in a cup of > >> >> boiling > >> >> coffee can't generate truly random numbers. So, in theory, what > >> could > >> >> happen is that if all the servers in the cluster come up at the same > >> >> time, > >> >> the threads could wind up running at the same time regardless of the > >> >> random sleep at the start! It might never happen in reality, small > >> >> fluctuations would probably offset them anyway, but I want to be more > >> >> certain than that. > >> >> > >> >> So now we're at the crux of the problem... > >> >> > >> >> I can't just seed the random number generator with the current time > >> >> because it concievably might not be random enough. So, I thought I > >> >> could > >> >> just tally up the octets of the server's IP address and add that to > >> the > >> >> current time. Then the seed on each server should be different > >> enough. > >> >> > >> >> But, there doesn't appear to be any way to get the server IP address > >> >> independant of a request, so I can't get at it in my plugin. Anyone > >> >> know > >> >> differently? > >> >> > >> >> Assuming that is the case, can anyone think of any other way to seed > >> the > >> >> generator that would ensure a different value on different machines > >> in > >> >> the > >> >> cluster? There are some options like encoding the individual server > >> >> names > >> >> in my app's config file with a different seed value for each, but > >> that > >> >> makes maintenance a pain if a new server is added or one removed or > >> >> addresses simply changed. > >> >> > >> >> Any ideas? Thanks! > >> >> > >> >> -- > >> >> Frank W. Zammetti > >> >> Founder and Chief Software Architect > >> >> Omnytex Technologies > >> >> http://www.omnytex.com > >> > > >> > -- > >> > Kris Schneider <mailto:[EMAIL PROTECTED]> > >> > D.O.Tech <http://www.dotech.com/> > >> > > >> > --------------------------------------------------------------------- > >> > To unsubscribe, e-mail: [EMAIL PROTECTED] > >> > For additional commands, e-mail: [EMAIL PROTECTED] > >> > > >> > > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > -- > > "You can lead a horse to water but you cannot make it float on its back." > > ~Dakota Jack~ > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > -- "You can lead a horse to water but you cannot make it float on its back." ~Dakota Jack~ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]