Re: Discovery issues
Francisco Albasini Mourão <[email protected]> Tue, 8 Jul 2008 16:52:50 +0100
| Newsgroups | gmane.comp.java.sun.jini |
|---|---|
| Message-ID | <[email protected]> |
I found the solution for this problem in the archives. Item 6647 (date 200-05-17) Thanx anyway! Francisco Mourão Engenheiro Desenvolvimento Brisa Auto-Estradas de Portugal, S.A. DIT/ddt - Departamento de Desenvolvimento Tecnológico Tel: +351 21 444 9183 - Fax: +351 21 4449190 Email: [email protected] <mailto:[email protected]> Declaração: A informação contida nesta mensagem, e os ficheiros anexos, é privilegiada e confidencial, destinando-se exclusivamente ao(s) destinatário(s). Se não é o destinatário (ou o responsável pela sua entrega ao destinatário) e recebeu a mesma por engano, fica notificado que é estritamente proibido reproduzir, guardar ou distribuir toda ou qualquer parte desta mensagem e ficheiros anexos. Por favor reencaminhe a mensagem para o responsável pelo seu envio ou contacte-nos por telefone e elimine a mensagem e ficheiros anexos do seu computador, sem os reproduzir. Disclaimer: The information contained in this message, and any files attached, is privileged and confidential, and intended exclusively for the addressee(s). If you are not the intended recipient (or the person responsible for delivering to the intended recipient) and received this message by mistake, be aware that copy, storage, distribution or any other use of all or part of this message and the files attached is strictly prohibited. Please notify the sender by reply e-mail or contact us by telephone and delete this message and the files attached, without retaining a copy. ________________________________ From: Francisco Albasini Mourão [mailto:[email protected]] Sent: terça-feira, 24 de Junho de 2008 19:36 To: [email protected] Subject: FW: Discovery issues Hi everyone, I have a simple sample running two jini services: call it ServiceClient and ServiceHost; service ServiceClient acts as a client of service ServiceHost. This sample uses Jini2_0 version. ServiceClient uses the following piece of code: ... discover = new LookupDiscoveryManager(groups, locators, new LookupListener()); sdm = new ServiceDiscoveryManager(discover, new LeaseRenewalManager(config), config); lCache = sdm.createLookupCache(new ServiceTemplate (null, new Class[] {IServiceHost.class}, null),null, new ServiceManager()); ... LookupListener implements DiscoveryListener and ServiceManager implements ServiceDiscoveryListener. The config object is related to a configuration file that holds no particular configuration for these objects. The ServiceClient service runs on machine-Client and ServiceHost on machine-Host. Each machine has its own reggie and httpd. 1) For Multicast Discovery, parameters for the LookupDiscoveryManager constructor above in code are as follow: groups="MyGroup","MySecondGroup" (there is only one machine with reggie as member of these - the machine-Host) locators= null 2) For Unicast Discovery, parameters for the LookupDiscoveryManager constructor above in code are as follow: groups= net.jini.discovery.DiscoveryGroupManagement.NO_GROUPS locators= new LookupLocator[] { new LookupLocator("jinni://<ip_ServiceHost>")} Everything is ok when I run the services. ServiceClient discovers ServiceHost and some methods are successfully invoked. My issue is when I stop application in machine-Host killing ServiceHost and respective reggie. 1)In the case of Multicast Discovery, I only receive a lookup discard event in ServiceClient approximately 5m:30s after killing machine-Host application. Maybe there is a parameter for setting this. I just can't find it. This is a piece of the log when I finally receive the discard notification on ServiceClient: 23/Jun/2008 15:12:23 net.jini.lease.LeaseRenewalManager renewAll FINE: Renewing lease com.sun.jini.reggie.ConstrainableServiceLease@e4b6741d 23/Jun/2008 15:12:23 net.jini.lease.LeaseRenewalManager renewAll FINE: Renewing lease com.sun.jini.reggie.ConstrainableServiceLease@a595dfab 23/Jun/2008 15:12:23 net.jini.lease.LeaseRenewalManager renewAll FINE: Renewing lease com.sun.jini.reggie.ConstrainableServiceLease@e5d63883 23/Jun/2008 15:12:23 net.jini.discovery.LookupDiscovery$UnicastDiscoveryTask run FINEST: LookupDiscovery - UnicastDiscoveryTask started 23/Jun/2008 15:12:24 net.jini.lease.LeaseRenewalManager renewAll FINE: Renewing lease com.sun.jini.reggie.ConstrainableServiceLease@ed58f920 23/Jun/2008 15:12:24 net.jini.discovery.LookupDiscovery$Notifier run FINEST: LookupDiscovery - Notifier thread started 23/Jun/2008 15:12:24 net.jini.discovery.LookupDiscovery$1 run FINEST: discarded event -- 1 lookup(s) 23/Jun/2008 15:12:25 net.jini.discovery.LookupDiscovery$1 run FINEST: discarded locator = null 23/Jun/2008 15:12:25 net.jini.discovery.LookupDiscovery$1 run FINEST: discarded group[0] = ps00041 23/Jun/2008 15:12:25 net.jini.discovery.LookupDiscovery$1 run FINEST: discarded group[1] = fmourao 23/Jun/2008 15:12:25 net.jini.lease.LeaseRenewalManager remove FINE: Removed lease com.sun.jini.reggie.ConstrainableEventLease@8b155855 23/Jun/2008 15:12:26 net.jini.lookup.ServiceDiscoveryManager cancelLease FINER: exception occurred while cancelling an event registration lease java.rmi.ConnectException: connection refused or timed out to BasicObjectEndpoint[e0b792ce-429c-42d2-a7e6-61c3175934d8,TcpEndpoint[10.10.9.41:35230]]; nested exception is: java.net.ConnectException: Connection refused: connect at net.jini.jeri.BasicInvocationHandler.wrapSafeIOException(BasicInvocationHandler.java:857) at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:678) at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethod(BasicInvocationHandler.java:626) at net.jini.jeri.BasicInvocationHandler.invoke(BasicInvocationHandler.java:495) at com.sun.jini.reggie.$Proxy13.cancelEventLease(Unknown Source) at com.sun.jini.reggie.EventLease.cancel(EventLease.java:77) at net.jini.lease.LeaseRenewalManager.cancel(LeaseRenewalManager.java:1050) at net.jini.lookup.ServiceDiscoveryManager.cancelLease(ServiceDiscoveryManager.java:3448) at net.jini.lookup.ServiceDiscoveryManager.access$1000(ServiceDiscoveryManager.java:611) at net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl.removeProxyReg(ServiceDiscoveryManager.java:1655) at net.jini.lookup.ServiceDiscoveryManager.dropProxy(ServiceDiscoveryManager.java:2363) at net.jini.lookup.ServiceDiscoveryManager.access$4200(ServiceDiscoveryManager.java:611) at net.jini.lookup.ServiceDiscoveryManager$DiscMgrListener.discarded(ServiceDiscoveryManager.java:2335) at net.jini.discovery.LookupDiscoveryManager.notifyListener(LookupDiscoveryManager.java:1388) at net.jini.discovery.LookupDiscoveryManager.notifyListener(LookupDiscoveryManager.java:1369) at net.jini.discovery.LookupDiscoveryManager.access$500(LookupDiscoveryManager.java:105) at net.jini.discovery.LookupDiscoveryManager$GroupDiscoveryListener.discarded(LookupDiscoveryManager.java:804) at net.jini.discovery.LookupDiscovery$1.run(LookupDiscovery.java:877) at com.sun.jini.start.AggregatePolicyProvider$5.run(AggregatePolicyProvider.java:513) at java.security.AccessController.doPrivileged(Native Method) at net.jini.discovery.LookupDiscovery$Notifier.run(LookupDiscovery.java:820) Caused by: java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(Unknown Source) at java.net.PlainSocketImpl.connectToAddress(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at net.jini.jeri.tcp.TcpEndpoint$ConnectionEndpointImpl.connect(TcpEndpoint.java:513) at net.jini.jeri.connection.ConnectionManager.connect(ConnectionManager.java:228) at net.jini.jeri.connection.ConnectionManager$ReqIterator.next(ConnectionManager.java:629) at net.jini.jeri.BasicObjectEndpoint$1.next(BasicObjectEndpoint.java:371) at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:675) ... 19 more 23/Jun/2008 15:12:26 net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl$ProxyRegDropTask run FINEST: ServiceDiscoveryManager - ProxyRegDropTask started 23/Jun/2008 15:12:26 net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl$ProxyRegDropTask run FINEST: ServiceDiscoveryManager - ProxyRegDropTask completed 23/Jun/2008 15:12:26 net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl$UnmapProxyTask run FINEST: ServiceDiscoveryManager - UnmapProxyTask started 23/Jun/2008 15:12:26 net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl$UnmapProxyTask run FINEST: ServiceDiscoveryManager - UnmapProxyTask completed 2) In the case of Unicast Discovery I only receive a lookup discard event in ServiceClient approximately 9m:30s after killing machine-Host application. Why is this different from the Unicast case. How can I change this setting? Approximately 5m after killing machine-Host application, ServiceClient log starts registering this every minute: FINE: Renewing lease com.sun.jini.reggie.ConstrainableServiceLease@b648e8a5 24/Jun/2008 18:23:36 net.jini.lease.LeaseRenewalManager renewAll FINE: Renewing lease com.sun.jini.reggie.ConstrainableEventLease@2f424901 24/Jun/2008 18:23:37 net.jini.lease.LeaseRenewalManager renewAll HANDLED: Indefinite exception while renewing lease com.sun.jini.reggie.ConstrainableEventLease@2f424901 java.rmi.ConnectException: connection refused or timed out to BasicObjectEndpoint[5fdf0550-a03f-4849-be75-52c3f4beed65,TcpEndpoint[10.10.9.41:35391]]; nested exception is: java.net.ConnectException: Connection refused: connect at net.jini.jeri.BasicInvocationHandler.wrapSafeIOException(BasicInvocationHandler.java:857) at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:678) at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethod(BasicInvocationHandler.java:626) at net.jini.jeri.BasicInvocationHandler.invoke(BasicInvocationHandler.java:495) at com.sun.jini.reggie.$Proxy13.renewEventLease(Unknown Source) at com.sun.jini.reggie.EventLease.doRenew(EventLease.java:96) at com.sun.jini.lease.AbstractLease.renew(AbstractLease.java:79) at net.jini.lease.LeaseRenewalManager.renewAll(LeaseRenewalManager.java:1289) at net.jini.lease.LeaseRenewalManager.access$400(LeaseRenewalManager.java:225) at net.jini.lease.LeaseRenewalManager$RenewTask.run(LeaseRenewalManager.java:352) at com.sun.jini.thread.TaskManager$TaskThread.run(TaskManager.java:322) Caused by: java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(Unknown Source) at java.net.PlainSocketImpl.connectToAddress(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at net.jini.jeri.tcp.TcpEndpoint$ConnectionEndpointImpl.connect(TcpEndpoint.java:513) at net.jini.jeri.connection.ConnectionManager.connect(ConnectionManager.java:228) at net.jini.jeri.connection.ConnectionManager$ReqIterator.next(ConnectionManager.java:629) at net.jini.jeri.BasicObjectEndpoint$1.next(BasicObjectEndpoint.java:371) at net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:675) ... 9 more 24/Jun/2008 18:23:39 net.jini.lease.LeaseRenewalManager renewAll FINE: Renewing lease com.sun.jini.reggie.ConstrainableServiceLease@bba89067 24/Jun/2008 18:23:39 net.jini.lease.LeaseRenewalManager renewAll FINE: Although no discard notification is received whatsoever. This is a piece of the log when I finally receive the discard notification for the Unicast Discovery case: 24/Jun/2008 18:24:43 net.jini.discovery.LookupLocatorDiscovery$DiscoveryTask tryOnce FINEST: LookupLocatorDiscovery - DiscoveryTask started 24/Jun/2008 18:24:43 net.jini.discovery.LookupLocatorDiscovery$Notifier run FINEST: LookupLocatorDiscovery - Notifier thread started 24/Jun/2008 18:24:43 net.jini.discovery.LookupLocatorDiscovery$Notifier run FINEST: discarded event -- 1 lookup(s) 24/Jun/2008 18:24:44 net.jini.discovery.LookupLocatorDiscovery$LocatorReg doUnicastDiscovery INFO: exception during unicast discovery java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(Unknown Source) at java.net.PlainSocketImpl.connectToAddress(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.<init>(Unknown Source) at java.net.Socket.<init>(Unknown Source) at net.jini.discovery.LookupLocatorDiscovery$LocatorReg.doUnicastDiscovery(LookupLocatorDiscovery.java:467) at net.jini.discovery.LookupLocatorDiscovery$LocatorReg.tryGetProxy(LookupLocatorDiscovery.java:430) at net.jini.discovery.LookupLocatorDiscovery.regTryGetProxy(LookupLocatorDiscovery.java:1208) at net.jini.discovery.LookupLocatorDiscovery.access$800(LookupLocatorDiscovery.java:281) at net.jini.discovery.LookupLocatorDiscovery$DiscoveryTask.tryOnce(LookupLocatorDiscovery.java:647) at com.sun.jini.thread.RetryTask.run(RetryTask.java:143) at com.sun.jini.thread.TaskManager$TaskThread.run(TaskManager.java:322) 24/Jun/2008 18:24:44 net.jini.discovery.LookupLocatorDiscovery$Notifier run FINEST: discarded locator = null 24/Jun/2008 18:24:44 net.jini.discovery.LookupLocatorDiscovery$DiscoveryTask tryOnce FINEST: LookupLocatorDiscovery - DiscoveryTask failed, will retry later 24/Jun/2008 18:24:44 net.jini.discovery.LookupLocatorDiscovery$Notifier run FINEST: discarded group[0] = ps00041 24/Jun/2008 18:24:44 net.jini.discovery.LookupLocatorDiscovery$Notifier run FINEST: discarded group[1] = fmourao 24/Jun/2008 18:24:44 net.jini.lookup.ServiceDiscoveryManager cancelLease FINER: exception occurred while cancelling an event registration lease net.jini.core.lease.UnknownLeaseException at net.jini.lease.LeaseRenewalManager.findEntry(LeaseRenewalManager.java:1206) at net.jini.lease.LeaseRenewalManager.remove(LeaseRenewalManager.java:1063) at net.jini.lease.LeaseRenewalManager.cancel(LeaseRenewalManager.java:1049) at net.jini.lookup.ServiceDiscoveryManager.cancelLease(ServiceDiscoveryManager.java:3448) at net.jini.lookup.ServiceDiscoveryManager.access$1000(ServiceDiscoveryManager.java:611) at net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl.removeProxyReg(ServiceDiscoveryManager.java:1655) at net.jini.lookup.ServiceDiscoveryManager.dropProxy(ServiceDiscoveryManager.java:2363) at net.jini.lookup.ServiceDiscoveryManager.access$4200(ServiceDiscoveryManager.java:611) at net.jini.lookup.ServiceDiscoveryManager$DiscMgrListener.discarded(ServiceDiscoveryManager.java:2335) at net.jini.discovery.LookupDiscoveryManager.notifyListener(LookupDiscoveryManager.java:1388) at net.jini.discovery.LookupDiscoveryManager.notifyListener(LookupDiscoveryManager.java:1369) at net.jini.discovery.LookupDiscoveryManager.access$500(LookupDiscoveryManager.java:105) at net.jini.discovery.LookupDiscoveryManager$LocatorDiscoveryListener.discarded(LookupDiscoveryManager.java:556) at net.jini.discovery.LookupLocatorDiscovery$Notifier.run(LookupLocatorDiscovery.java:582) 24/Jun/2008 18:24:44 net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl$ProxyRegDropTask run FINEST: ServiceDiscoveryManager - ProxyRegDropTask started 24/Jun/2008 18:24:44 net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl$ProxyRegDropTask run FINEST: ServiceDiscoveryManager - ProxyRegDropTask completed I'd like to receive the notification of discarded reggie as soon as possible in the ServiceClient service. Am I doing something wrong? Is there anything I can configure? Any help would be appreciated. Thanx in advance. -------------------------------------------------------------------------- Getting Started: http://www.jini.org/wiki/Category:Getting_Started Community Web Site: http://jini.org jini-users Archive: http://archives.java.sun.com/archives/jini-users.html Unsubscribing: email "signoff JINI-USERS" to [email protected] -------------------------------------------------------------------------- Getting Started: http://www.jini.org/wiki/Category:Getting_Started Community Web Site: http://jini.org jini-users Archive: http://archives.java.sun.com/archives/jini-users.html Unsubscribing: email "signoff JINI-USERS" to [email protected]