umm, you are right, thank you for the information. Miguel
On Tue, Mar 16, 2010 at 1:20 PM, Neil Bartlett <njbartl...@gmail.com> wrote: > Miguel, read the rest of that paragraph, and the following one: > > "Although any Java object can be used as a property value, only String > objects and the eight primitive types (plus their wrappers) should be > used. Other types cannot be passed to handlers that reside external > from the Java VM." > > "Another reason that arbitrary classes should not be used is the > mutability of objects. If the values are not immutable, then any > handler that receives the event could change the value. Any handlers > that received the event subsequently would see the altered value and > not the value as it was when the event was sent." > > IMHO it's unfortunate that the specification uses the word SHOULD > instead of MUST; nevertheless it is irresponsible to advise people to > use arbitrary object types in Events. > > Neil > > On Tue, Mar 16, 2010 at 12:12 PM, Miguel <migue...@gmail.com> wrote: > > You can read in the specification about the properties: > > "Information about the actual event is provided as properties. The > property > > name is a case-sensitive string and the value can be any object" > > (compendium osgi specification) > > So, you can use not only prinitive types... > > is it the object visible to other bundles? send the whole stacktrace to > see > > where the problem is. > > > > > > Miguel > > > > > > On Tue, Mar 16, 2010 at 12:55 PM, Neil Bartlett <njbartl...@gmail.com> > > wrote: > >> > >> Eva, > >> > >> You haven't given the stack trace of the error or much other context, > >> e.g. it looks like it should be coming from the dispatching thread > >> rather than from the consumer. > >> > >> HOWEVER, to reinforce what Andrea said, you should not be putting an > >> object of any proprietary type into an Event. There are all sorts of > >> issues, for example the visibility of the class for that type, along > >> with the possibility that the event will be serialized and sent over > >> the network. Also events must be immutable because they are copied to > >> many consumers. > >> > >> If you want to send structured information such as is contained in > >> your Measure object, then please deconstruct it into a combination of > >> String and primitive fields. > >> > >> Regards, > >> Neil > >> > >> On Tue, Mar 16, 2010 at 11:45 AM, Eva Madrazo > >> <eva.madr...@grpss.ssr.upm.es> wrote: > >> > Hi Miguel, > >> > thanks for the quick answer. In my org.osgi.service.event.Event > >> > implementation there isn't a constructor (String, Map) for the event > >> > object, > >> > there is a constructor that uses a Dictionary object instead > >> > .Nevertheless > >> > the rest is equivalent to my code. > >> > The events are posted, but it seems that it fails the conversion of > the > >> > object included in the properties object. When I construct the > >> > properties I > >> > have: > >> > > >> > props.put("measure", (Measure)measure); > >> > > >> > But, when I retrieve this property from the event: > >> > > >> > Measure measure = (Measure) > event.getProperty("measure"); > >> > > >> > The error is launched ERROR - Exception while dispatching event > >> > org.osgi.service.event.Event [topic=topicName] to handler > >> > mypackage.simpleeventhand...@3e953e95 > >> > > >> > > >> > .... any ideas? > >> > thanks! > >> > > >> > > >> > Date: Tue, 16 Mar 2010 11:31:05 +0100 > >> > From: Miguel <migue...@gmail.com> > >> > Subject: Re: [osgi-dev] problem while receiving an Event > >> > To: OSGi Developer Mail List <osgi-dev@mail.osgi.org> > >> > Message-ID: > >> > <6ed2320c1003160331n73f54f20gc53935ade58a4...@mail.gmail.com> > >> > Content-Type: text/plain; charset="iso-8859-1" > >> > > >> > try to use event admin this way: > >> > > >> > String topic = "here_my_topic_to_be_filtered"; > >> > Map properties = new Properties(); > >> > > >> > [...] > >> > > >> > Event ev = new Event(topic, properties); > >> > > >> > and post the event this way: > >> > > >> > _eventAdmin.postEvent ( ev ); > >> > > >> > > >> > where _eventAdmin is the service reference ... > >> > > >> > > >> > > >> > Miguel > >> > > >> > > >> > On Tue, Mar 16, 2010 at 11:20 AM, Eva Madrazo > >> > <eva.madr...@grpss.ssr.upm.es>wrote: > >> > > >> > > >> >> > Hi, > >> >> > maybe this is a very simple problem but I do not achieve to resolve > >> >> > it > >> >> > and > >> >> > I found difficult to find information about it, so sorry if this is > >> >> > being > >> >> > answered before. First of all I'm executing an equinox eRCP > platform > >> >> > on > >> >> > a > >> >> > Windows Mobile 6.1 using J9. > >> >> > > >> >> > I have a very strange problem while receiving an Event. When > posting > >> >> > the > >> >> > event I add a propietary object (Measure) to the hashtable props: > >> >> > > >> >> > Hashtable props = new Hashtable(); > >> >> > props.put("measure", measure); > >> >> > eventAdmin.postEvent(new Event(measure.getName(), props)); > >> >> > > >> >> > When receiving the event I want to extract this Measure object. If > I > >> >> > do > >> >> > Object measure = (Object) event.getProperty("measure"); > >> >> > > >> >> > no problem occur, but when I try to do: > >> >> > > >> >> > Measure measure = (Measure) event.getProperty("measure"); > >> >> > > >> >> > I have this error in logs: > >> >> > ERROR - Exception while dispatching event > >> >> > org.osgi.service.event.Event > >> >> > [topic=topicName] to handler mypackage.simpleeventhand...@3e953e95 > >> >> > > >> >> > > >> >> > I have check that the bundle imports the bundle with the definition > >> >> > of > >> >> > Measure object. > >> >> > > >> >> > I cannot imagine anything to change, please help me :) > > >> >> > Thank you very much, > >> >> > Eva > >> >> > > >> > > >> > _______________________________________________ > >> > OSGi Developer Mail List > >> > osgi-dev@mail.osgi.org > >> > https://mail.osgi.org/mailman/listinfo/osgi-dev > >> > > >> > >> _______________________________________________ > >> OSGi Developer Mail List > >> osgi-dev@mail.osgi.org > >> https://mail.osgi.org/mailman/listinfo/osgi-dev > > > > > > _______________________________________________ > > OSGi Developer Mail List > > osgi-dev@mail.osgi.org > > https://mail.osgi.org/mailman/listinfo/osgi-dev > > > > _______________________________________________ > OSGi Developer Mail List > osgi-dev@mail.osgi.org > https://mail.osgi.org/mailman/listinfo/osgi-dev >
_______________________________________________ OSGi Developer Mail List osgi-dev@mail.osgi.org https://mail.osgi.org/mailman/listinfo/osgi-dev