[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [ecf-dev] How could I setup DistributedEventAdmin using DS ? | 
Hi Cristiano,
On 8/10/2011 5:57 AM, Cristiano Gavião wrote:
On 09/08/11 12:00, Scott Lewis wrote:
Hi Christiano,
Hi Scott,
On 8/9/2011 5:46 AM, Cristiano Gavião wrote:
Hi guys,
Could someone point me how could I setup DistributedEventAdmin using 
DS ?
No example currently exists.  Since some of the DistributedEventAdmin 
setup currently requires java code it would involve some combination 
of DS markup and java code.
So let me dig into this :)
I'm creating a example based on hello... If you wanted I could sent 
you after I've done the challenge... but I need some directions here...
I know now that I can't use DistributedEventAdmin as DS component 
because it doesn't have a default constructor...
Reading event example, I conclude that I need to get a reference to 
IContainerManager, get the ID of the container, then get the 
IContainer, adapt it to ISharedObjectContainer and then add the 
DistributedEventAdmin object on it. Am I right?
Yes...that's essentially right.   It might be better to create the 
container rather than 'get the ID of the container', but still what you 
have outlined is fine.
I could get the reference of IContainerManager using DS, but 
containerManager.getAllContainers() shows me any container... and I 
don't know how to create the ID of container either...
Well, like I said it might be better to create the container (and it's 
ID).  OTOH, it's also possible to create (and optionally connect) the 
container outside the scope of the service component, and then just 
retrieve the container from the container factory.
So I couldn't figure out a way to get a reference to IContainer in the 
activate method of HelloComponent...  could you give a tip how do that?
You can create a container with the containerFactory (accessible via the 
IContainerManager)...e.g.
IContainer newContainer = 
containerManager.getContainerFactory().createContainer('ecf.generic.server');
and/or create and connect a
For another purpose, I have done this previously...i.e. used a ds 
service component to expose the EventAdmin service, and have the 
component's activation result in the creation of a container, the 
addition of a DistributedEventAdmin instance to that container...that's 
then used by the service component to send/post events.
Just FYI....I'm going to be away from Internet access for a couple of 
days...so although I'm happy to discuss further, it will be next week.
Scott