jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bruno Coelho <bruno.coe...@pmelink.pt>
Subject Re: problem shuting down tomcat
Date Tue, 22 Sep 2009 18:12:40 GMT
thank you for the info but everything I found there tells me that the  
problem is related
to some reference in the RMI server that is not unbind or unexported  
properly.

I tried the following code in the RepositoryStartupServlet to see if  
there were some remote object that weren't unbind or unexported but I  
couldn't find any,
I inserted this line after the last line of code in the method  
unregisterRMI():

	try {
                 String[] names = registry.list();

                 log.info("names list lenght: " + names.length);

                 for(int i = 0; i < names.length; i++){

                     try{
                         log.info("trying to unbind: " + names[i]);
                         registry.unbind(names[i]);

                         log.info("trying to unexport remote obj with  
name: " + names[i]);

                         Remote remoteobj = (Remote)  
registry.lookup(names[i]);
                         UnicastRemoteObject.unexportObject(remoteobj,  
true);

                     } catch(Exception ex) {
                         log.error("Exception " + ex);
                     }
                 }
             } catch (RemoteException re) {
                 log.error("Remote Exception getting list: " + re);
             }


but the list is empty!

so at this moment I don't know whatelse to try...

is there any other place in the code where are some objects being bind?


thanks one more time!


cheers,

bruno coelho




On Sep 22, 2009, at 4:58 PM, Sébastien Launay wrote:

> Le 22/09/2009 17:29, Bruno Coelho a écrit :
>> "RMI Reaper" prio=5 tid=0x0102cfe0 nid=0x8d2400 in Object.wait()
>> [0xb1011000..0xb1011d90]
>>    at java.lang.Object.wait(Native Method)
>>    - waiting on <0x29adfdd8> (a java.lang.ref.ReferenceQueue$Lock)
>>    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:120)
>>    - locked <0x29adfdd8> (a java.lang.ref.ReferenceQueue$Lock)
>>    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:136)
>>    at sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:336)
>>    at java.lang.Thread.run(Thread.java:613)
>
> This is the only user thread as it does not contains the "daemon"  
> token.
> I don't know well how RMI and Jackrabbit works but the RMI connection
> appears to not be closed leading to this thread still alive.
>
> After googling, i find more information here:
> http://www.nabble.com/Correct-way-of-avoiding-a-shutdown-delay-caused-by-the-Reaper-thread-td5661918.html
>
> --
> Sébastien Launay


Mime
View raw message