[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev] ISharedObjectObjectContainer problem client side - SharedObjects not found

Scott
That's great. Thank you.

In the client, I connected the client container to the server,
listening for the connection, and when connected, added the
DistributedEventAdmin to the SharedObjectManager

container.addListener(new IContainerListener() {
@Override
 public void handleEvent(IContainerEvent event) {
	if (event instanceof IContainerConnectedEvent)
			try {
			manager.addSharedObject(id1, (ISharedObject) admin, props)
			} catch (SharedObjectAddException e) {
														Log.log(Log.ERROR, e.getMessage());
													
	}
}											
											

});
container.connect(id, null);

Now, when I debug a postEvent on the DistributedEventAdmin on the
server,  I see that the SharedObjectContext on the server is
recognising the existence of the client, and is  successfully queuing
a SharedObject message, destined for the DistributedEventAdmin on the
client.

I am not sure that the message is actually being sent and dequeued
from the SharedObjectContext. It is not being received at the client.
Is there a thread somewhere which is responsible for this e.g. in a
bundle, which I have failed to start, on the server?

Robert

On Mon, Nov 1, 2010 at 10:54 PM, Scott Lewis <slewis@xxxxxxxxxxxxx> wrote:
> Hi Robert,
>
> On 11/1/2010 3:25 PM, Robert Onslow wrote:
>>
>> Aha Scott, yes I'm getting there ..
>>
>> So presumably I manually create a DistributedEventAdmin on each client
>> as well as on the server. How do I go on to specify that the the
>> object on the client is a replica of the object on the server?
>
> All that's necessary to do this is to have the shared object IDs be the same
> wherever they are created/added.  One way to do this is to just use the
> classname as the shared object ID...e.g.
>
> ID sharedObjectID =
> IDFactory.getDefault().createStringID(DistributedEventAdmin.class.getName());
> sharedObjectManager.addSharedObject(sharedObjectID, new
> DistributedEventAdmin(), null);
>
> Another option for the Distributed EventAdmin is to use the topic that the
> eventadmin is responsible for.
>
> Scott
>
>
> _______________________________________________
> ecf-dev mailing list
> ecf-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/ecf-dev
>



-- 
Robert Onslow
XLegal Limited