The Artima Developer Community
Sponsored Link

Legacy Jini Forum
The Jini Lookup Service

Advertisement

Advertisement

This page contains an archived post to the Jini Forum made prior to February 25, 2002. If you wish to participate in discussions, please visit the new Artima Forums.

Message:

RemoteException while registering the Service

Posted by Megha on February 19, 2002 at 8:59 AM

HI i am able to connect ot the lookup service but when i try to register my service with the lookup, I get the following error:

RemoteException while registering the Service
java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.io.NotSerializableException: myown.Server1


I am using Jini version 1.2

and my code is:

package myown;

import myown.ServerInterface;

import net.jini.core.discovery.LookupLocator;
import net.jini.core.entry.Entry;
import net.jini.core.lookup.ServiceRegistrar;
import net.jini.core.lookup.ServiceItem;
import net.jini.core.lookup.ServiceRegistration;
import net.jini.core.lookup.ServiceID;
import net.jini.core.lookup.ServiceTemplate;
import net.jini.core.lease.Lease;
import net.jini.core.lease.LeaseDeniedException;
import net.jini.core.lease.UnknownLeaseException;

import net.jini.discovery.LookupDiscovery;
import net.jini.discovery.DiscoveryListener;
import net.jini.discovery.DiscoveryEvent;
import net.jini.lease.LeaseRenewalManager;
import net.jini.lease.LeaseListener;
import net.jini.lease.LeaseRenewalEvent;
import net.jini.lookup.entry.ServiceInfo;

//import com.sun.jini.lookup.entry.BasicServiceType;

import java.rmi.RMISecurityManager;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

import java.util.Properties;
import java.util.StringTokenizer;
import java.net.URL;
import java.net.MalformedURLException;
import java.io.File;
import java.io.IOException;

public class Server1 implements ServerInterface {

private static final long LEASE_DUR = 500; // seconds

private static ServerInterface thisClass;

public int echoFnc(String test) {
System.out.println("Message from the server");
return 0;
}

public static void main(String argv[]) {

//An RMISecurityManager is set
System.setSecurityManager(new RMISecurityManager());

System.out.println("\n1) Inside the main() will initiallize an instance of Server class\n");
try {
LookupLocator lookup = new LookupLocator("jini://megha");
System.out.println("lookup found : " + lookup);
ServiceRegistrar sr = lookup.getRegistrar();
System.out.println("registrar at lookup is = "+sr);
String[] groups = sr.getGroups();
for(int i=0;i System.out.println("Group i is :" + groups[i]);
System.out.println("Lookup service ID :" + sr.getServiceID().toString());
thisClass = new Server1();
System.out.println("\n3) thisClass instantiated \n");

System.out.println("\n To register the service...\n");

Object service = thisClass;
/* Create a ServiceItem from the service instance */
ServiceItem srvcItem = new ServiceItem(null,service,null);
/* Register the Service with the Lookup Service */
ServiceRegistration srvcRegistration = null;
try{
System.out.println("registrar at lookup is = "+sr);
srvcRegistration = sr.register(srvcItem,LEASE_DUR);
System.out.println("Registered ServiceID: "
+(srvcRegistration.getServiceID()).toString());
} catch (RemoteException e) {
System.out.println("RemoteException while registering the "
+"Service\n"+e.toString());
}

} catch (Exception e) {
System.out.println("RemoteException while exporting this object " +e.toString());
System.exit(-1);
}
}

}



Replies:

Sponsored Links



Google
  Web Artima.com   
Copyright © 1996-2009 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us