A RMI question

I try to write a distributed program using Java RMI technology to generate first 1000 numbers in the (sorted) sequence of numbers described below:
a)1 is in the sequence
b) If number X is in the sequence then so are the numbers 3*X, 5*X and 7*X
c) No number appears more than once in the sequence, and
d)No other number is in the sequence.
Thus, first few numbers in the sequence are:
1,3,5,7,9,15,21,25,27,35,45,49,63,75,81,105...
I guess that i need to have 3 helper(remote server) objects to multiply the numbers by constants 3, 5 and 7, ie one helper object for each multiplier constant. The client process initially sends 1 - the first number in the sequence - to each helper(multiplier). A helper, at each stage, keeps the multiplication of the next number in its "input" sequence ready for the client to request. The client needs to perform a simple merge of numbers being generated by the helpers. At each step in the merge process, the client looks at the next number received from each helper. It selects the smallest of these numbers and includes it into the output sequence -- the number is displayed on screen for the user to read.
Can anyone give me any idea on how to do this program? I'm sorry to write so long. If you are unclear, please inform me and i'll try to explain what the problem is. Thanks!

That rule simply generates a sequence containing all numbers that have no prime divisors except 3, 5, and 7. So my approach would be to consider each integer in sequence and apply that test. I don't know why you'd want to use RMI for this problem.

Similar Messages

  • Interesting RMI question

    It's been a while since I've visited this forum, and I'd like to pose a question.
    The focus is on serailised arguments, and mobile code:
    Can a 32-bit JVM interact with a 64-bit one?
    It would seem the RMI libs could "translate on-the-fly" between architectures, but I understand that would be a substantial undertaking.
    Any definitive answer?
    Thanks,
    John

    Can a 32-bit JVM interact with a 64-bit one?What's stopping them? Java datatypes are identical, Serialization is identical, TCP is identical.
    It's not a problem.

  • Simple  RMI question

    I have completed reading tutorial...... i have understood How to code in RMI ?
    How you can interact with other JVM and call remote methods....basically you need to write code for RMIServer { //  it will have interface and classes which implemets those interfaces } and also a RMIClient .
    Client will look for rmiregistry and from the naming look up it will find out the remote object and then it calls the remote method.
    I have got some question after reading the tutorial
    Question 1:
    in the binding
    // implemented class in RMI server
    public class PowerServiceServer extends UnicastRemoteObject
    implements PowerService
    // blah blah
    Naming.bind ("PowerService", svr);   //  can i give  any name instead of  the Server  name  "PowerService"  ? 
    bcoz  i saw  another tutorial where  they have coded  like  below ....
    Naming.bind ("rmi://john/ServerName", svr);    //  note   "rmi :// "  ?  its different than above. why  "rmi://"  ?  Ho  many convention !!so It is misleading to me ......... can i give any name whatever i wish ( may not be SERVER name as well ) for Naming.bind ? like below
    Naming.bind ("abcdefghijklmnop", svr); // IS IT LEGAL ?
    or is there any convention or standard to follow ?
    OR do i need to write the path localtion of my server in that string ?
    like below...
    Naming.bind ("c:/packagename/RMIServer", svr); ?
    Plz correct me
    thank you

    You can use any name.yea......freedommmmmm............i like.
    //host:port/namewell , if i use this convention then it will be like...
    //CompName:1099/AnythingULike......right ?
    thanks ?kaj i am happy .
    I have some more queries.
    Question 2 :
    If you noticed my earlier post on "Stub and Skeleton" where ceil has given a fantastic explanation of what does this phrase means in programming point of view.
    In fact while reading RMI tutorial i came across these two words . But after reading the tutorial it seems to me Author is misusing these 2 words.
    see a comment from A CBT . i copied it in a notebook
    The server generates the stub and the skeleton. THE STUB resides on the client side and the skeleton on the server. In the recent version the generating skeleton are not required unless compatibality is required.
    To Generate stub and skeleton you can follow the command
    rmic myserver ( ???)
    plz note the statements which starts Capitalized . Its confusing .
    THE STUB resides on the client side and the skeleton on the server.No.
    Interfaces are there in the server code to make happy the compiler. so those are stubs and skeletons ( group of stubs) in the server.
    there is NO STUB in the client side. its wrong.
    To Generate stub and skeleton you can follow the command
    rmic myserver ( ???)wow ...what is this ? some tutorials dont tell about this at all !!
    i read a tutorial where they said the shortcut tips
    (compile all source files + start rmiregistry + run server + run client )....thats it !!
    tutorials are varryingggggggg.

  • RMI question

    Hi all,
    I am planning a client/server application, in which I want the server to accept multiple connections form clients each running in a its own separate thread.
    I plan to maintain each client connection object for the duration of the session.
    From my (limited) understanding of RMI, I need this conection class to implement an interface (also implemented by the client application) and have stubs for each of these objects on each machine the separate programs are running on.
    How (at a high level) do I go about creating each client connection on the fly and registering it? I can only find examples (so far) of cleint/server apps where the remote object already exist and the client simply looks it up.
    Thanks for any help provided - and sorry for any stupid mistakes , but I am new to this.
    cheers
    Jim

    What about registering? Obvisiously there would be
    only 1 FooFactory object, and this would be
    registered at start up, but what about the instances
    of Foo? You're getting a fully initialized stub back from the method call, so you shouldn't need to do anything special. You don't have to "find" it, because you already know where it came from!
    Give it a test and you should find it works. Drop another message here if you encounter problems.
    Dave.

  • Weblogic RMI question

    I am trying to implement a basic RMI class, using the example in "Programming Weblogic RMI" book. I used java rmic instead of wls rmic.
    The only difference from the book example is that I am tyring to bind remote object implementation from within a servlet GET/init. I am getting the following exception stack:
    java.security.AccessControlException: access denied (java.io.FilePermission <path>\user_projects\domains\my_domain\servers\my_ms1\tmp\_WL_user\MyApp\6210pw\war\WEB-INF\lib\_wl_cls_gen.jar read)
    at java.security.AccessControlContext.checkPermission(AccessControlConte
    xt.java:323)
    at java.security.AccessController.checkPermission(AccessController.java:
    546)
    I am not using a securitymanager explicitlty in my code, as adviced in the book.
    Please advise, what's going wrong here.

    I am trying to implement a basic RMI class, using the example in "Programming Weblogic RMI" book. I used java rmic instead of wls rmic.
    The only difference from the book example is that I am tyring to bind remote object implementation from within a servlet GET/init. I am getting the following exception stack:
    java.security.AccessControlException: access denied (java.io.FilePermission <path>\user_projects\domains\my_domain\servers\my_ms1\tmp\_WL_user\MyApp\6210pw\war\WEB-INF\lib\_wl_cls_gen.jar read)
    at java.security.AccessControlContext.checkPermission(AccessControlConte
    xt.java:323)
    at java.security.AccessController.checkPermission(AccessController.java:
    546)
    I am not using a securitymanager explicitlty in my code, as adviced in the book.
    Please advise, what's going wrong here.

  • Very basic RMI questions

    I am having troubles finding technical information about how RMI works, exactly. Specifically, I can't find out how the JVM and RMI is working on the remote machine.
    Say you have the server app running and 2 clients invoke the same method at the same time. Does the JVM create a new thread per request? Do these threads exist within the same JVM? (I believe both answers to be "yes"...)
    Basically, I have a program which causes the server to write a serialized objects to disk, and numerous clients are occasionally requesting these serialized objects from the server for remote processing. I want to be sure that the same file can't be served to more than one client.
    If someone can point to me a resource, I'd be delighted.
    Tony

    Your instincts are correct - the remote jvm will spawn separate threads for each incoming request, so you will have to provide some locking mechanism to ensure your serialized objects' state

  • 2 RMI Questions:"RMI and Marshalling" and...........

    Hi,
    Its not a programming Q. but its a conceptual Q. In all most all the websites related to RMI, I have seen refrence of Marshalling in the context of data encoding. In socket programming, we also do data transfer but there is no Marshalling? What is the reason of Marshalling in RMI? Is it because of Java to Java communication and for socket we use TCP/IP so we leave the Marshalling to the Network Interface Card??
    Zulfi.

    Thanks for your reply. Ok Marshalling is clear but I have to run a program and then we will discuss more about Marshalling. However after reading the doc specially about stubs
    The caller invokes a method on the local stub which is responsible for carrying out the method call on the remote object.
    In one other doc, I read the samething about dispatcher. Each machine has a local dispatcher . The client communicates with local dispatcher which then communicates with remote dispatcher and then returns a communication channel back to client via local dispatcher. So is it that these stubs and skeletons are basically the dispatcher component?
    In one other doc., http://cs.gmu.edu/~setia/cs571/slides/rmi-proj.pdf , I found that there is no dispatcher component on the client side? Which is correct?
    Zulfi.

  • RMI registry weirdness, API versioning, and more

    Hi folks,
         I have some RMI questions. I'd like to start by giving background on the software and our intentions with RMI.
         Our software is a molecular biology analysis and simulation tool. Since the technology is very proprietary, we've used RMI to split the Java software into a front-end GUI client that that's distributed to users and a back-end server that makes use of our in-house C++ tools.
         At the moment our user base is small, mostly a handful of academic researchers, but even with these few releases are getting difficult to manage. The problem, of course, is that when the server back-end is upgraded, if any serializable or remotable APIs are changed, the user must also upgrade their client. Our users have made it clear that this is an unacceptable inconvenience, and since we frequently push new feature-filled releases, its difficult to keep the APIs stable. Additionally, 40% of the original code base is absolute tripe, the inflexible, ill-thought, and monolithic work of a contractor who was at at deadline and had to 'just get the job done'. With only two developers (one of them part-time), we are forced to rewrite portions of this old code in small spurts as most of our time is taken up either adding features or working on the C++ tools. In short, there's simply no way we can stabilize our APIs at this time.
         My first (perhaps naive) solution was simple: the client/server pair are built with a common API version number that is incremented each time the API of a serializable or remotable API must be changed for a new release. This version number is appended to the RMI URI for the server. For example, when using API version 13, if the back-end service is told to listen on the following URI:
         //remote.mycompany.com/myobject
    ...the back-end would implicitly bind to...
         //remote.mycompany.com/myobject-13
         Since the client and server are built with the same API version, the client knows to append -13 to whatever URI the user specifies to connect to a back-end with a compatible API. This lets the user think they're connecting to the 'usual' URI, but allows us to run servers with varying APIs concurrently on the same physical machine, thus our users can upgrade at their leisure and we can push new releases whenever we please.
         I prefer this solution because its very non-intrusive code-wise and allows us developers complete freedom, but it seems prone to subtle problems. We have three releases (hence three servers) and clients are able to function initially, but eventually they start reporting not-bound and class UID/checksum errors - exactly what this system is supposed to prevent. The three services appear to work when started initially but fail sporadically after some period of time. It seems to me that the RMI registry is getting confused when deciding which classes from which service should be sent to which client.
         I should note that rmiregistry requires us to pass in the path to our classes to its JVM (with -J) or it throws NoClassDefFoundError errors when a client connects to the back-end service (if memory serves, our logger is the offending class, so perhaps the registry is executing a static initializer that prints log messages or something). We only pass in the path to one set of classes right now (the oldest of our API revisions). I'm not sure if passing all three would help, but I don't see how it would, and I really don't have the time to experiment. Interestingly, this class path requirement only started happening a few weeks ago - previously rmiregistry didn't seem to care where our logging classes were. I'm not sure if this is contributing to the concurrency problem stated above, but if there's reasonable suspicion I'm more than happy to figure out why this is happening. Also, I remember reading on some web site that setting the rmiregistry class path with -J could cause other strange problems relating to RMI stubs, so could this be a likely suspect? I wish I was more familiar with the guts of RMI as to know what's going on in the registry. Should I be seeing such problems when binding multiple versions of the same class instance?
         I suppose I'd really like, aside from the informed opinions and suggestions of experienced Java programmers, is an architectural overview of the RMI implementation so I can answer these questions myself, but I haven't found anything in that vein. Ideally I'd like to look at the code for the RMI implementation. Is this possible? I'm not 'hip' to Sun's code sharing policies, what portions of their code base they open up if any. Can anyone offer any hints?
         We did come up with some other possible solutions for the API versioning problem. Dynamic class loading via HTTP in particular is my next best hope. Tentatively speaking, it seems that this would help minimize API breakage so long as modifications are limited to adding elements to the API and not removing them. It seems to me that allowing users to download classes at runtime would allow us developers more flexibility, even though users would be forced to upgrade every once in a while, albeit less frequently than they otherwise would.
         Also considered was a separate tool for automated management of the client software, i.e., an auto-update utility. I'd rather not go down this path; I think it would annoy our users, and our two-man development team is busy enough without worrying about more cruft.
         Any additional suggestions are welcome, as is any insight into the Sun's RMI implementation. Advice, links to documentation, "hey stupid, google for <somthing obvious>" would be appreciated.
    Cheers :-)
    -Nick

    or you could buy mine (http://www.rmiproxy.com/javarmi), but I'll give you three tips:
    (1) If possible don't change existing interfaces, just extend them, i.e. version them by extending them:
    public interface MyRemoteVersion1 extends Remote {}
    public inteface MyRemoteVersion2 extends MyRemoteVersion1 {}This way old clients can still use the old services even if they receive a newer stub.
    (2) Do the same with the implementations, and load & register both, with different names as ou are doing. Don't use the same class name for a new version otherwise you will confuse the class loader. Altneratively you could use different class loaders for teh different versions to keep them separate, but that's a large can of worms.
    (3) Ignore your feelings about the code base. It's installed out there and it's a product now, you just have to live with it unless you can instaneously upgrade all your clients, which you can't. You will probably always have a client running the original version for reasons entirely beyond your control.
    (4) Do use the codebase feature if you possibly can. Don't install anything at a client that it could get via a codebase, e.g. stubs. The only thing that clients should need is the remote interfaces and the the true client code.
    (5) Make sure every version of every marshalled class has the same setversionuid and make sure that this is there from the beginning. Make sure you only evolve these classes in ways which will be compatible under serialization - see the spec.
    Good luck
    EJP

  • Weblogic 6.1   tomcat 4.0

    Hi,
    I'm having trouble getting jsp and servlets working from tomcat to a weblogic server.
    I guess this is almost a RMI question?
    If I put the weblogic.jar file at the end of the class path for the startup of tomcat I get the following:
    java.lang.InternalError: error initializing kernel
    at weblogic.kernel.Kernel.ensureInitialized(Kernel.java:86)
    at weblogic.jndi.WLInitialContextFactoryDelegate.<init>(WLInitialContext
    FactoryDelegate.java:166)
    If I put the weblogic.jar at the beging of the classpath for tomcat I get:
    Creating initial context...
    java.lang.NoClassDefFoundError: org/w3c/dom/Document
    It looks like a clash of the xml libraries that are in the weblogic.jar file with thoes in xerces.jar in the tomcat installation.
    I can get servlets to work by putting the weblogic.jar at the end of the class path and some of the extracted directories from the weblogic.jar file into the WEB-INF/classes directory, this however does not fix jsp files and seems a bit of a mess...
    Thanks,
    M

    Hi,
    I'm having trouble getting jsp and servlets working from tomcat to a weblogic server.
    I guess this is almost a RMI question?
    If I put the weblogic.jar file at the end of the class path for the startup of tomcat I get the following:
    java.lang.InternalError: error initializing kernel
    at weblogic.kernel.Kernel.ensureInitialized(Kernel.java:86)
    at weblogic.jndi.WLInitialContextFactoryDelegate.<init>(WLInitialContext
    FactoryDelegate.java:166)
    If I put the weblogic.jar at the beging of the classpath for tomcat I get:
    Creating initial context...
    java.lang.NoClassDefFoundError: org/w3c/dom/Document
    It looks like a clash of the xml libraries that are in the weblogic.jar file with thoes in xerces.jar in the tomcat installation.
    I can get servlets to work by putting the weblogic.jar at the end of the class path and some of the extracted directories from the weblogic.jar file into the WEB-INF/classes directory, this however does not fix jsp files and seems a bit of a mess...
    Thanks,
    M

  • Questions on Weblogic RMI

    Hi
              I've a few questions on WL RMI that I couldn't figure out from the
              documentation.
              Suppose I have a cluster containing Weblogic servers server1 and server2.
              Server1 hosts an RMI object o1 that is bind to the cluster wide JNDI tree.
              O1 implements remote interface i1 that has a method m1 which takes as an
              argument an object o2 implementing remote interface i2. That is:
              public class o1 implements i1 {...}
              public interface i1 extends weblogic.rmi.Remote {
              public void m1 (i2 _o2);
              public class o2 implements i2 {...}
              public interface i2 extends weblogic.rmi.Remote {...}
              Now if inside server2 I create o2 using the default constructor, lookup a
              reference to o1 and call method m1, will o2 get passed by value or by
              reference? Is there any way to control this? What if I don't use the
              constructor to create the object but the object is hosted in server2 and I
              get a reference to the object using JNDI lookup? In short, how does WL RMI
              decide when to pass an object by reference and when by value.
              I'm trying to increase the scalability of a system by distributing its
              modules as RMI objects to several machines running Weblogic server, and I
              need to know the details on how WL RMI works. The documentation seems to be
              rather inadequate...
              Thanks for reading this far :)
              - Juha
              

    Actually, O2 will always be passed by reference because it is an RMI object
              (i.e., it implements weblogic.rmi.Remote). If O2 were a non-RMI object, it would
              be passed by value if O1 is in a different process and by reference if O1 and O2
              are in the same process.
              Edwin Marcial wrote:
              > My 2 cents on this:
              >
              > I believe in this case, since O2 is a remote object, it will get passed by
              > reference. If it were not a remote object, it would be passed by value.
              >
              > Edwin
              >
              > "Juha Lindström" wrote:
              >
              > > Hi
              > >
              > > I've a few questions on WL RMI that I couldn't figure out from the
              > > documentation.
              > > Suppose I have a cluster containing Weblogic servers server1 and server2.
              > > Server1 hosts an RMI object o1 that is bind to the cluster wide JNDI tree.
              > > O1 implements remote interface i1 that has a method m1 which takes as an
              > > argument an object o2 implementing remote interface i2. That is:
              > >
              > > public class o1 implements i1 {...}
              > >
              > > public interface i1 extends weblogic.rmi.Remote {
              > > public void m1 (i2 _o2);
              > > }
              > >
              > > public class o2 implements i2 {...}
              > >
              > > public interface i2 extends weblogic.rmi.Remote {...}
              > >
              > > Now if inside server2 I create o2 using the default constructor, lookup a
              > > reference to o1 and call method m1, will o2 get passed by value or by
              > > reference? Is there any way to control this? What if I don't use the
              > > constructor to create the object but the object is hosted in server2 and I
              > > get a reference to the object using JNDI lookup? In short, how does WL RMI
              > > decide when to pass an object by reference and when by value.
              > >
              > > I'm trying to increase the scalability of a system by distributing its
              > > modules as RMI objects to several machines running Weblogic server, and I
              > > need to know the details on how WL RMI works. The documentation seems to be
              > > rather inadequate...
              > >
              > > Thanks for reading this far :)
              > >
              > > - Juha
              

  • I have a question about weblogic RMI , how can I resolve it.Thank you

    I have a question about the weblogic RMI .
    I have a program.web services+weblogic RMI +Data Sources When I run the program in the console application.it is ok.But When i run it with the web services(it 'is mean Get some parameter and run the different program).it's fail.The Exception is
    cannot assign instance of yype weblogic.rmi.RMIServices_1033_WLStub to field demo.RMIServer_1033_WLStub.stubinfo of type weblogic.rmi.internal.StubInfo in instance of demo.RMIEsrver_1033_WLStub
    how to resolve .Thank you.

    Hi Charles,
    Parental Controls has always had problems with https sites, no idea if it's fixed in 10.9.x or not.
    When you setup your Mac it shouldv'e made an admin account, are you not running from that account, or did you somehow change it to a Managed account???

  • Fundamental question: disable the GUI while RMI is communicating?

    Good afternoon,
    I'm using RMI in a swing application and i have fundamental question:
    I have a jlist with categories and another jlist which displays the items of the selected category. When a user selects a category rmi is used to get the items of the selected category from the server (internet).
    Should i disable the whole application while rmi is communicating with the server? For example with a glasspane with a cancel button.
    What is the best practice in this case?
    Best regards,
    James

    I found a really nice solution, now i call my remote methods like:
    taskManager.executeAction(new ITaskResult(){
          public void done(Object result) {
            Collections.sort(rpcs, new RpcComperator());
            fireContentsChanged(this, 0, getSize());
          public void failed(Exception e) {
            WindowUtils.showErrorDialog(owner, "Could not change server");
        }, new IAction(){
          public Object action() throws DBException, AccessException {
            return taskManager.getBasic().changeRpc(rpc);
        }, true);The first parameter of executeAction() is a object which gets notified when a task completes (done()) or fails (failed()). The second parameter is a object which indicates which remote functions should be called. And finally the third parameter defines if the user should wait until the remote function completes.
    If the user should wait the executeAction() function shows a nice modal dialog with a progressbar and a cancel button. If the user doesn't have to wait it takes the progressbar on the statusbar to indicate the system is busy.
    Much rewriting was needed, but i think it is quite simple and it is fully swing thread save. But it wonders me that such a thing wasn't available.

  • Question about Java RMI and Eclipse

    I would like to create an application with which I can easily connect to a JAVA program, installed on a web server, through JAVA RMI. I have already created a ClientRMI.java and a ServerRMI.java and compiled them. The stubs also have been created properly.
    When I run the application outside the Eclipse editor, everything works just fine! However, when I want to integrate the files into a bigger project in Eclipse... and starts running it, he tells me he can't find the stub class or something like that. I need to place this one in the classpath but I don't know how to do that in Eclipse? Could anyone help me with this problem?
    Thanks!
    This is the fault message I get:
    no security manager: RMI class loader disabled)
    D-me

    Do you have an idea of what the answer to our
    question could be?I don't have much idea about the question myself. I was groping in the dark. :-)
    Anyway, the project classpath settings and the external jars (or dependent projects) are a few things which could be experimented with. I'm afraid I couldn't be much help without having a look at what you are trying to do. :-(
    Regards,
    x

  • RMI recovery and multi-client questions

    Hello,
    I'm new to RMI and managed to get a sample HelloWorld-code running. After secceeding two major questions came up.
    1) If the RMI server is running and the registry server crashes and is restarted, then the new instance of the registry server does know anything about the still running RMI server. What do you need to to that the RMI server rebinds. My idea is that the RMI server must be multithreaded, controls in the background the registry and automatically rebinds after a crash. Any other easier and even better solutions?
    2) My impression is that there is one instance of the RMI server waiting for incoming requests. What happens, if a request takes a long time and a second request from a second client comes in? How can it be achieved that one RMI server handles many client requests? I know for database connections ther is something like pooling. Do you need to implement a similar technique for RMI.
    3) Would the implementation of a web service avoid the problems mentioned above?
    Thanks for any suggestions or hints to related topics.
    Regards, Rainer

    Hi carr_onstott ,
    thanks for clarification and the suggestion to start the name service withing the own application. � need to discuss this approach with the customer, normally there is one and only one name service on a server using the default port. With your suggestion I need to reserve a second portnumber and moreover standard tools providing a list of registered RMI servers will not detect my RMI server.
    The problem I see with web services is that we plan to exchange huge binary data byte[] and this is not really what web services are made for. There are sultions to use multibodypart to transfer the XML web service request/response, but the amount of data increases dramatically.
    Regards, Rainer

  • Some basic questions about rmi registry  context  "bind" and "lookup"

    We have more processing to do than can be accomplished with a single computer. To solve the problem I've implemented a distributed computing solution using RMI. (The first time I saw RMI was about 2 weeks ago, so please bear with me!)
    The implementation is a proof of concept not a fully fleshed out system. I have one "Workunit Distributor" computer and any number of "Data Processor" computers all on the same lan segment. "Workunit Distributor" and "Data Processor" computers are both RMI client and server to each other. The "Data Processor" computers are given the ip address and name of the "Data Distributor" on the commandline when they start. They communicate their willingness to receive and process a workunit to the ""Workunit Distributor" via a RMI call. Work units are sent to available "DataProcessors" and results are eventually returned to the "WorkunitDistributor" (minutes or hours later). The model program works quite well, and appears to be capable of doing the processing we need to get done.
    But now that it seems viable, I've been asked to make it a little more scalable, flexible and self configuring. In particular, instead of one "Workunit Distributor", any number of "Workunit Distributors" should be allowed to show up or disappear from the lan at any time and the system should continue to function. I've worked out a good scheme for how this can be done, but I have a couple of questions about the RMI registry (registries?). I'm trying to keep from implementing some functionality that may already be available as a library or subsystem.
    With my current model design, each computer binds to its own registry with a unique name. For instance:
    CRDataProcessorImpl crdpi = new CRDataProcessorImpl(svr);
    Context crDataProcessingContext = new InitialContext();
    crDataProcessingContext.bind("rmi:"+hostName, crdpi);
    Currently the "Data Processors" get the info they need for a Context lookup() of the one and only "Workunit Distributor" from the commandline. And the info the "Workunit Distributor" needs to do a Context lookup() of a "DataProcessor" is passed to it from each "DataProcessor" via a RMI call.
    But in the newer (yet to be implemented) scheme where any and all "Workunit Distributors" show up and disappear whenever they feel like, the naming bootstrapping scheme described above won't work.
    I can imagine a few ways of solving this problem. For instance, having "Workunit Distributors" multicast their contact information on the lan and have a worker thread on each "Data Processor" keep track of the naming information that was multicast. Another alternative (more organized, but more complex) might be to have a dedicated host with a "well known" address and port that "Workunit Distributors" and "Data Processors" could all go to, to register or look up at an application level. Sort of a "domain name service" for RMI. But both these schemes look like a lot of work to implement , debug and maintain.
    The BEST thing would be if there was one plain vanilla RMI registry that was usable by all RMI enabled computers instead of having each computer have its own local name registry. In volume 2 of the Core Java2 book it says that every registry must be local. I'm only hoping there's been progress since the book was published and now a central rmi registry is available.
    If you have any ideas about this I'd like to hear what you know.
    Thanks in advance for any advice.
    Lenny Wintfeld
    ps - I don't believe web services, as full featured as it is, is a useful alternative. I'm moving 100's (in the future possibly 1000's) of megabytes back an forth for processing.

    The local bind/rebind/unbind restriction is still there and it will always be there.
    I would look at
    (a) RMI/IIOP, where you use COSNaming as a registry, which doesn't have that registriction, and which also has location-independent object identifiers
    (b) Jini.

Maybe you are looking for

  • Is it possible to embed closed captions in mp4 videos?

    Hi, Is there a way to do that in Premiere Pro? If not, then how would such thing be done? Thanks, Rotem

  • Buy separate liscence for CS4 upgrade

    I have a copy of CS4 to upgrade from CS2.  Two other computers here at work need to be upgraded and we want to all be running the same version of the software - is there a way for me to just buy the correct upgrade liscenses (I have the software)?

  • Message no. GA749 on PSW5 - Actual periodic repsting

    Hello, When I try to execute the actual periodic reposting for WBS (KSW5) the system does not include in calculation the costs that been previously allocated to de sender by actual distribution (KSV5) from the cost center. Is anybody meet the problem

  • IDCS3 linking images setting SNAFU?

    I've got a problem with cloned linked images. Here's the scenario: I open a document and option-click drag on an image to create a copy of that image (I want to use that object's settings in a new image). I go to the Links panel and I relink the new

  • Encrypting String as well file/folders to 128bit security send over network

    Hi, As right now we are developing project in which we have to send username/password and other sensitive string info to be sent via network so, i need that algo. Also backup file encrypted and zipped to send via network so i need algorithm for that