How to stop the RMI server?

Hi,
I create a RMI Server, it has no problem to start. And I created a gui for the server, so that when user press the "start" button, it will start the server.
But somehow I want to update the server and restart again, but while the server is running, i press the "start" button again, i got the following error messages:
"Server error: internal error: ObjID already in use"
Is that mean i have to stop the server first? But how should I stop the server? Thx
Adrian

Hi,
I've tried to unexport the remote object and unbind the registry, but I still got this error message when I try to restart the server on the fly:
"internal error: ObjID already in use"
Does anyone know why?
Thanks.
Regards,
Adrian

Similar Messages

  • Stopping an RMI server

    hi all,
    i was curious about one hting: how can i stop a running RMI server via command line?
    will stop rmiregistry works??
    thanx and regards
    marco

    Hi,
    I have solved this problem by combining two techniques.
    First I save a copy of the current thread (Thread.currentThread() returns it) in a member variable of the class that implements the remote interface. This is done in the main() method that creates the instance of the object and registers it with the RMI service.
    Then I put the thread executing the main() method to sleep by calling Thread.currentThread().join(). It will sleep indefenately until interrupted.
    The other trick is to add a method to the remote interface called stopServer() and to implement it in the class that implements the remote interface.
    The stopServer() method simply calls the interrupt() method on the saved reference to the sleeping thread that executed the main() method until it was put to sleep.
    The result is that the sleeping call to join() in the main() method wakes up by throwing an InterruptedException, which you catch.
    Then you can have the remaining code body of the main() method proceed to unbind the remote object from the running RMI service, shut it down properly, and delete it (setting it equal to null).
    Finally, you must terminate the main() method by a call to System.exit( 0 ). Simply returning is not enough, since the RMI API does not offer any methods() for stopping it. But the exit() will kill the entire VM.
    Therefore it is propably important to really shotdown everything nicely and perhaps even call the garbage collecter to have it clean up explicitly, before killing the VM by the exit() call.
    Note that I also always start the RMI service in the beginning of my main() methods. I think this makes the RMI server application more complete.
    I have done this a lot of times and can e-mail a copy of a package that I always use as a template when beginning new RMI client/server projects. Just mail me at
    [email protected]
    and I'll send it to you. Good luck!
    Sincerely yours...

  • How to stop the internal batch session

    Hi ,
    How to stop the internal batch session, which is triggered from the program.
    When I execute the program, there is an batch session, which starts processing in parallel with the program, and causes an error message for the program, so the further process is affected.
    I tried finding the session through the Transactions - SM35, SM37. However, I could find any session in my name.
    However, when I try thro SM04, I could find an session with the same error message. But I am not able to end the session.
    Pleas advise.
    Thanks,
    cartesian.

    Go through transaction SM50. In case you have more than one application server (transaction SM51 will show) you can also use SM66 which will show all running processes on all application servers.
    With SM50 you will only see the process running if it is running on the same application server you are logged on to.
    Mark the process and use menu 'Program/Session - End Session' or 'Process - End with or without Core'
    Hope that helps,
    Michael

  • How to stop the auto-start of log reader agent (replication) right after my database is restored?

    I have the scenario where the SQL server is restored (after migration).
    This database has transactional replication set-up on one of the databases. When I do a manual delete and restore of the database, I see that the replication starts right after the publisher and subscriber are restored.
    Replication agents should not start and run before the integrity checks are completed. How to stop the replication from auto starting right after the migration?
    Thanks in advance - Jebah

    Thanks Pradyothana, I have disabled the logreader, distribution agents through sp_update_job in Tsql script. I have also verified that there are no pending transactions to be replicated to the subscriber, I see that the job is still being executed. Is there
    any other way to disable the jobs?
    Steps I followed
    Started with a Working publication and subscription
    Disabled the jobs (log reader and distribution agents)
    Backed up publisher, subscriber, distribution and msdb
    Deleted the publication, subscription, publisher and subscriber
    Restored the publisher, subscriber, distribution and msdb
    Enabled the jobs and executed sp_replrestart
    Observations/Issues
    Replication does not work
    Replication monitor does not show any error
    Jobs are shows as enabled but not started in job monitor
    Not able to start/stop the log reader and synchronization manually.
    I am not sure if I have missed something while restoring the db.
    Thanks in advance

  • How to stop the report from Web!

    hi,all!
    Now I can start a report from Web with schedule parameter!Can you tell me how to stop the report via the Web server?Or tell me with which patameter.Thank a lot.

    hello,
    there is a CGI/Servlet command called killjob which you pass the job-id of the job you want to kill.
    regards,
    the oracle reports team --pw                                                                                                                                                                                                                                                                                                           

  • How to check RBS maintainer is running or not and how to stop the RBS maintainer for a specific content db.

    HI
    how to check RBS maintainer is running after deleting orphan blobs and  while deleting the blobs from rbs storage,
    and also how to stop the RBS maintainer for a specific content db.
    when I run below query  I found the orphancleanup value true
    SELECT [config_key],[config_value] FROM [mssqlrbs_resources].[rbs_internal_config]
    where config_key='orphan_cleanup_in_progress'
    adil

    HI
    the  RBS maintainer was run from one of web front end server  And for one content database , that fine
    but I  now know this information only this did by other administrators.
    Now I did not found this Maintainer running in windows task scheduler, but blobs are decreasing from content database RBS storage folder, and  also I found this maintainer running I checked from  when  run sql queriy in  sql
    server
    SELECT
    [config_key],[config_value]
    FROM
    [mssqlrbs_resources].[rbs_internal_config]
    where
    config_key='orphan_cleanup_in_progress’
    it  given me true
    here now  I want to stop this orphan cleane up , what settings and script I will run?
    adil

  • How to stop an ORB server in other program

    I have writen an ORB server program, just like the sample HelloServer, the main thread wait on a new object forever.
    How to stop the server in some other programs?
    Is there some common method to stop ORB server except kill the main process.
    Thank for any help!

    The question I have is how to stop an orb server programmatically without shutting down my app. My app is a server that runs continuously. I want the ability to shut down just the orb portion and restart it if desired.
    I also look for this capability. When searching for this in the forums, surprisingly, I only find one question for this, but no reply or answer. Does anyone have any idea?
    Thank you for all ideas.

  • How to start the oc4j server

    I install oracle 9ias 9.0.3,but i don't know how to start the oc4j server.
    thanks for any help?

    hi
    Refer "Starting and Stopping OC4J" from
    http://otn.oracle.com/tech/java/oc4j/doc_library/902/A95880_01/html/toc.htm
    hope this helps.
    shrini

  • Stop Java RMI server properly

    Hi all,
    Currently, I implemented database application with RMI. But I have a problem about shutting down RMI server properly. Here are my method to start and stop RMI server
        public static void initRMI() {
            try {
                registry = LocateRegistry.createRegistry(Config.PORT);
                driverImp = new RemoteDriverImpl();
                driver = (RemoteDriver) UnicastRemoteObject.exportObject(driverImp, Config.PORT);
                registry.rebind("simpledb", driver);
                System.out.println("putting RMI driver");
            } catch (Exception ex) {
                Logger.getLogger(SimpleDB.class.getName()).log(Level.SEVERE, null, ex);
    public static void stop() {
            try {
                System.out.println("Remove rmi entry");
                registry.unbind("simpledb");
                UnicastRemoteObject.unexportObject(driverImp, true);
                System.gc();
            } catch (Exception ex) {
                Logger.getLogger(SimpleDB.class.getName()).log(Level.SEVERE, null, ex);
    }When I start server and there is no request from client, the stop() method is working correctly, i.e. the RMI server, as well as, its JVM are terminated.
    But there are some requests from client before, the stop() method only remove stub object from rmiregistry, but doesn't stop its JVM. And I don't want to use System.exit(0) to shut down since the program will continue running other stuffs.
    I hope that I explain the situation clearly.
    Thank you
    Edited by: Apolozeus on Jan 18, 2010 4:05 AM

    Hi all,
    Currently, I implemented database application with RMI. But I have a problem about shutting down RMI server properly. Here are my method to start and stop RMI server
        public static void initRMI() {
            try {
                registry = LocateRegistry.createRegistry(Config.PORT);
                driverImp = new RemoteDriverImpl();
                driver = (RemoteDriver) UnicastRemoteObject.exportObject(driverImp, Config.PORT);
                registry.rebind("simpledb", driver);
                System.out.println("putting RMI driver");
            } catch (Exception ex) {
                Logger.getLogger(SimpleDB.class.getName()).log(Level.SEVERE, null, ex);
    public static void stop() {
            try {
                System.out.println("Remove rmi entry");
                registry.unbind("simpledb");
                UnicastRemoteObject.unexportObject(driverImp, true);
                System.gc();
            } catch (Exception ex) {
                Logger.getLogger(SimpleDB.class.getName()).log(Level.SEVERE, null, ex);
    }When I start server and there is no request from client, the stop() method is working correctly, i.e. the RMI server, as well as, its JVM are terminated.
    But there are some requests from client before, the stop() method only remove stub object from rmiregistry, but doesn't stop its JVM. And I don't want to use System.exit(0) to shut down since the program will continue running other stuffs.
    I hope that I explain the situation clearly.
    Thank you
    Edited by: Apolozeus on Jan 18, 2010 4:05 AM

  • How to stop the spinning ball/pizza that is stalling repairs to project on imovie 09? on macosx10.5.8 using iomega and superspeed ext h.d. as storage for the events and projects archive of a wedding video that has had audio sync problems on all share form

    How to stop the spinning ball/pizza that is stalling repairs to project on imovie 09? on macosx10.5.8 using iomega and superspeed ext h.d. as storage for the events and projects archive of a wedding video that has had audio sync problems on all share formats (iDVD, mp4, and last of all iTunes). The project label now carries signal with yellow triangled exclamation “i tunes out of date”.
    To solve the sync problem I’m following advice and detaching sound from all of the 100 or so short clips.  This operation has been stalled by the spinning ball. Shut down restart has not helped.
    The Project is mounted from Iomega and superspeed ext hd connected to imovie09 on macosx 10.5.8.
    What to do to resume repairs to the audio sync problem and so successfully share for youtube upload?

    How to stop the spinning ball/pizza that is stalling repairs to project on imovie 09? on macosx10.5.8 using iomega and superspeed ext h.d. as storage for the events and projects archive of a wedding video that has had audio sync problems on all share formats (iDVD, mp4, and last of all iTunes). The project label now carries signal with yellow triangled exclamation “i tunes out of date”.
    To solve the sync problem I’m following advice and detaching sound from all of the 100 or so short clips.  This operation has been stalled by the spinning ball. Shut down restart has not helped.
    The Project is mounted from Iomega and superspeed ext hd connected to imovie09 on macosx 10.5.8.
    What to do to resume repairs to the audio sync problem and so successfully share for youtube upload?

  • How to stop the changes made for the BP in CRM not to update in R/3

    Hello Gurus''
    we are in need of help......i have an issue...the issue is
    Wht ever the changes we do in crm , need to be not updated in r/3 ....for example if we change the the language for the BP 100 in CRM, it should not update in R/3
    Where as in our case the data is updateing in R/3
    Here by requesting you all to help me out how to stop the updaation of some changes  which are made in CRM , that should not be in R/3
    Point will be given......
    Regards
    sreeram Raghu

    Hello
    Thanks for ur reply.........
    We have the following business process
    We create BP with role prospect in CRM, once the prospect is ready to buy the product we conver the prospet in to customer and thesame  customer is replicated in R/3 fro sales.
    What i am looking at is for the customer we created in CRM if we change any data that should be updated in r/3..it may be nay like name address ...language....etc.....
    can u help me out...as u told me to unassig/delete the subcription:All Business partner(MESG) under that we have --
    >publication>All BP(MESG)->Replication object-->Bupa_Main
    >Sites-->SQ1_300
    If we do this process does the issue will fix or else we need to do soem thing more...
    Thanks in advance
    Regards
    Sreeram Raghu
    +91-99 94 94 82 72

  • How to stop the waterflow?

    Hi,
    I need to make the water coming from the shower, when shower is clicked.
    And the water should stop after 5 seconds.
    The code is below.
    The water is flowing nicely. But I do not manage to stop it.
    I added a timer, which starts when the shower is clicked. And should stop the waterflow after 5 seconds have passed.
    With the lines
    if (stop = true)
         break;
         trace("break");
    it looks like the for loop is breaking right from the start, from the first second. But not completely, somehow 1 or 2 drops are flowing.
    Without these lines nothing is happening when the time is over (5 seconds from clicking the shower). Water is just flowing.
    Can someone help? How to stop the water flowing after 5 seconds and clean of the array and stage from the waterdrops?
    Many thanks in advance!
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.utils.Timer;
    import flash.events.TimerEvent;
    var WatertropArray: Array = new Array();
    var WaterArea01: MovieClip = new WaterArea();
    var WaterBorder01: MovieClip = new WaterBorder();
    var timer: Timer = new Timer(5000, 1);
    var stopp: Boolean;
    var i: uint;
    Shower.addEventListener(MouseEvent.CLICK, waterFlowStart);
    function waterFlowStart(event: MouseEvent): void
                    addChild(WaterArea01);
                    WaterArea01.x = WaterArea00.x;
                    WaterArea01.y = WaterArea00.y;
                    WaterArea01.alpha = 0;
                    addChild(WaterBorder01);
                    WaterBorder01.x = WaterBorder00.x;
                    WaterBorder01.y = WaterBorder00.y;
                    WaterBorder01.alpha = 0;
                    stopp = false;
                    timer.addEventListener(TimerEvent.TIMER, waterFlowEnd);
                    timer.start();
                    addWaterdrops();
                    Shower.removeEventListener(MouseEvent.CLICK, waterFlowStart);
    function addWaterdrops(): void
                    for(var i: uint = 0; i < 100; i++)
                                   var waterDrop: MovieClip = new Waterdrop();
                                   addChild(waterDrop);
                                   waterDrop.x = Math.round(Math.random() * stage.stageWidth / 1.5);
                                   waterDrop.y = Math.round(Math.random() * stage.stageHeight / 3);
                                   waterDrop.alpha = 0;
                                   waterDrop.rotation = -12;
                                   WatertropArray.push(waterDrop);
                                   trace("waterdrops added");
                                   moveWaterdrops();
    function moveWaterdrops(): void
                    waterDrop00.addEventListener(Event.ENTER_FRAME, waterFlow);
    function waterFlow(event: Event): void
                    for(var i: uint = 0; i < WatertropArray.length; i++)
                                   WatertropArray[i].y += 8;
                                   WatertropArray[i].x += 5;
                                   //trace(i);
                                   if(WatertropArray[i].hitTestObject(WaterArea01))
                                                   WatertropArray[i].alpha = Math.random();
                                                   WatertropArray[i].scaleX = Math.random();
                                                   WatertropArray[i].scaleY = WatertropArray[i].scaleX;
                                   if(WatertropArray[i].hitTestObject(WaterBorder01) || WatertropArray[i].x > stage.stageWidth || WatertropArray[i].y > stage.stageHeight / 2)
                                                   WatertropArray[i].x = Math.round(Math.random() * stage.stageWidth / 1.5);
                                                   WatertropArray[i].y = Math.round(Math.random() * stage.stageHeight / 3);
                                                   WatertropArray[i].alpha = 0;
                                   if(stopp = true)
                                                   break;
                                                   trace("break");
    function waterFlowEnd(event: TimerEvent): void
                    trace("TIME OVER");
                    stopp = true;
                    stoppTrue();
    function stoppTrue(): void
                    for(var i: uint = WatertropArray.length; i > WatertropArray.length; i--)
                                   remove(i);
    function remove(idx: int)
                    removeChild(WatertropArray[idx]);
                    WatertropArray.splice(idx, 1);
                    trace("REMOVED");
                    removeChild(waterDrop00);
                    trace(i);

    thanks again, kglad.
    changed the for-loop and it is reaching now the last functions as well.
    but there is still a but  ... an error message.
    function waterFlowEnd(event: TimerEvent): void
    trace("TIME OVER");
    stopp = true;
    stoppTrue();                                                       // line 106
    function stoppTrue(): void
    for(var i: uint = WatertropArray.length-1; i >= 0; i--)
    trace("stoppTrue");
    remove(i);                                                         // line 115                                                    
    function remove(idx: int)
    removeChild(WatertropArray[idx]);                   // line 123
    WatertropArray.splice(idx, 1);
    trace("REMOVED");
    //removeChild(waterDrop00);
    trace(i);
    and the output panel gives the following (tested with 5 water drops, 5 items in array):
    TIME OVER
    stoppTrue
    REMOVED
    0
    stoppTrue
    REMOVED
    0
    stoppTrue
    REMOVED
    0
    stoppTrue
    REMOVED
    0
    stoppTrue
    REMOVED
    0
    stoppTrue
    TypeError: Error #2007: Parameter child must be non-null.
    at flash.display::DisplayObjectContainer/removeChild()
    at TitavannisinglisekeelneAS3_fla::MainTimeline/remove()[TitavannisinglisekeelneAS3_fla.Main Timeline::frame1:123]
    at TitavannisinglisekeelneAS3_fla::MainTimeline/stoppTrue()[TitavannisinglisekeelneAS3_fla.M ainTimeline::frame1:115]
    at TitavannisinglisekeelneAS3_fla::MainTimeline/waterFlowEnd()[TitavannisinglisekeelneAS3_fl a.MainTimeline::frame1:106]
    at flash.utils::Timer/_timerDispatch()
    at flash.utils::Timer/tick()
    What is that error message trying to tell me?   

  • How to give the application server file path in the module pool programming

    Hi,
         Could somebody help me how to provide the application server file path in module pool programming once the logo is uploaded to sap system.
      For eg I have imported a logo name ‘owens’ into sap system by using transaction ‘se78’; now I need to call the path in the below url,
    if container2 is initial.
    CREATE OBJECT CONTAINER2
      EXPORTING
        CONTAINER_NAME              = 'PICTURE_CONTAINER2'.
    CREATE OBJECT PICTURE2
      EXPORTING
        PARENT = CONTAINER2.
    CALL METHOD PICTURE2->SET_DISPLAY_MODE
      EXPORTING
        DISPLAY_MODE = CL_GUI_PICTURE=>display_mode_fit_center
      EXCEPTIONS
        ERROR        = 1.
    CALL METHOD PICTURE2->LOAD_PICTURE_FROM_URL
      EXPORTING
        URL    = " ? "
      EXCEPTIONS
        ERROR  = 1
        Others = 2.
    endif.
    Thanks in advance
    Deepu

    hi Deepu,
    Use FM '/SAPDMC/LSM_F4_FRONTEND_FILE' for fetching the data from the application server path/presentation server path
    Regards,
    Santosh

  • How to stop the running infospoke

    Hi Experts,
    there is a infospoke is still running so long time, it's incorrect, i'll cancel it as kick off the dependenies, i have no idea to how to stop the running infospoke. Anybody could tell me how to do it. thanks in advance.

    hi denny,
       Go to SM37 , find the job , stop the process
    or
       To stop the job find the job with the help of the request name ( TC - SM37 ),then in the job Details find the PID .
    find the process in the process Overview (SM50 / SM51 ).
    Set the restart to NO and Cancel the process without core
    u can also see these threads that are already posted:
    stopping v3 run job LIS-BW-VB_APPLICATION_02_010
    how to cancel or change the background job which is scheduled
      In SM37, for the job , click on Step button. Then from the menu Goto > variant. You can see the process chain name here.
    sure it helps
    Thanks
    Varun CN

  • How to stop the timing out of web Discoverer Plus

    I was working in Plus, and it drove me crazy that I would loose my work because I kept my session open and it would time out.How to stop the timing out of web Discoverer Plus?
    Thank you,
    Olga

    Please check Discoverer configuration guide which tells you which parameter to change in preference file(pref.txt).I think you change the value.

Maybe you are looking for