[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| [ecf-dev] ISharedObjectObjectContainer problem client side -	SharedObjects not found | 
Dear All
I am using ECF 3.3 and the DistributedEventAdmin service. On the
server side, I have successfully added the service to the
ISharedObjectManager:
//wait for a container manager to come online
containerTracker = new ServiceTracker(context,
IContainerManager.class.getName(), new ServiceTrackerCustomizer() {
			@Override
			public Object addingService(ServiceReference arg0) {
				IContainerManager manager = (IContainerManager) context.getService(arg0);
				try {
					EventAdmin admin = new DistributedEventAdmin(context);
					
					
					final IContainer container =
manager.getContainerFactory().createContainer("ecf.generic.server");
					final ISharedObjectContainer sharedObjectContainer =
(ISharedObjectContainer)
container.getAdapter(ISharedObjectContainer.class);
					
					ISharedObjectManager manager1 =
sharedObjectContainer.getSharedObjectManager();
					
					Properties props = new Properties();
					props.put(EventConstants.EVENT_TOPIC, "uk_co_xlegal_xbundle3_remote");
					manager1.addSharedObject(IDFactory.getDefault().createStringID("uk.co.xlegal.xbundle3.remote"),
(ISharedObject) admin, props);
					
...
I have also successfully advertised the info representing the server
sharedobjectcontainer using the IDiscoveryAdvertiser
On the client side, I have successfully found the info using
IDiscoveryLocator, created a client ecf container and connected it to
the server
I have received an IContainerConnectedEvent in IContainerListener.handleEvent
However, when I query the IDs of the services within the shared object
container, I find an empty array:
//this is fine
ISharedObjectContainer soc = (ISharedObjectContainer) ((IAdaptable)
container).getAdapter(ISharedObjectContainer.class);
													
//yup, picks up the manager OK
													
ISharedObjectManager manager = soc.getSharedObjectManager();
//oh dear, I find ids is an empty array
													
ID[] ids = manager.getSharedObjectIDs();
												
Am I missing a step here?
Robert
ps thanks for a fantastic framework.
-- 
Robert Onslow
XLegal Limited