You are on the right track. Create a daemon that will get instantiated through configuration in service-configuration.xml. Your daemon will work with EventIpcManager to register for events and install itself as a callback when the events come in. You probably want to use something that does nothing other than event processing as a base, and queued is probably the best thing:
opennms-services/src/main/java/org/opennms/netmgt/queued In jmx/Queued.java, you only need the getLoggingPrefix() and getSpringContext() methods--the rest of what is in there is specific to RRD handling. The value returned from getSpringContext() refers to a Spring context defined in opennms-services/src/main/resources/beanRefContext.xml. Let us know if you have any problems figuring this out. Lastly, here is a web page that discusses some of the details of the Spring-loaded daemon infrastructure: http://www.opennms.org/index.php/Using_AbstractSpringContextJmxServiceDaemon_to_dependency_inject_a_daemon Good luck! - djg On Fri, 21 Nov 2008 13:14:40 -0500, "Levin, Gary Marc" <[EMAIL PROTECTED]> said: > Nothing like sending in a request to get the brain going. > > I found that I can use EventIpcManagerFactory to get an EventIpcManager > to which I can register an EventListener of my own. The only tricky part > is figuring out a good place to arrange for the class to register itself. > Is there a clean way to do it? At worst, I can have a > NotificationStrategy registered that instantiates the listener. A hack, > but it works. > > > > Gary Levin > RRC 1N345 > Telcordia Technologies > > > > -----Original Message----- > > From: Levin, Gary Marc > > Sent: Friday, November 21, 2008 12:35 PM > > To: 'opennms-devel@lists.sourceforge.net' > > Subject: RE: Fetching an Event in a NotificationStrategy > > > > This is a follow-up to the previous question. I found > > org.opennms.netmgt.xml.event.Event, and I can get the event from > > NotificationFactory based on the EventId in the notification. > > The problem > > is that the event retrieved is incomplete. It is missing the > > parameters > > (which are passed to the notification, because they appear in my > > description). > > > > * No parameters show up in the xml produced by Event.marshal(). > > * Event.getParms() returns null > > (1) Is this a bug in org.opennms.netmgt.xml.event.Event? > > (2) Is this a bug in > > org.opennms.netmgt.xml.event.NotificationFactory.getEvent()? > > (Producing an > > incomplete Event) > > (3) Is there an alternative way to get the original event from the > > notification? (I thought that EventFactory would be the way > > to go, but that > > is not accessible from a NotificationStrategy.) > > > > > > > > > > > > > > I am trying to forward the event to another system. If > > necessary, I can put > > enough information into the notification description so that > > I can manually > > construct the event, but it seems like a fragile solution. > > > > > > > > > > If there is a way to capture the event *before* it gets to be a > > notification, that would be even better. An EventListener > > would be ideal. > > (This is where the Uses page would be very helpful.) Is > > there a way to > > register a new EventListener? > > > > > > > > > > Gary Levin > > RRC 1N345 > > Telcordia Technologies > > > > > > > -----Original Message----- > > > From: Levin, Gary Marc [mailto:[EMAIL PROTECTED] > > > Sent: Friday, October 31, 2008 3:56 PM > > > To: opennms-devel@lists.sourceforge.net > > > Subject: [opennms-devel] Fetching an Event in a NotificationStrategy > > > > > > > > > I need to fetch the Event that triggered a Notification. I > > have written an > > implementation of NotificationStrategy, which is correctly invoked by > > notifd. The notification places the eventId into the text > > message, which is > > included in the list of arguments passed to > > NotificationStrategy.send(). I > > log this information, so I am sure it is being received correctly. > > > > My code then extracts the eventId, parses it into an integer, > > eid, and tries > > calling EventFactory.getEvent(eid). It gets to that point, > > but the call > > never returns. I catch SQLException, and that is not thrown either. > > > > I tried catching Throwable and found the problem to be > > java.lang.NoClassDefFoundError: > > org/opennms/web/event/EventFactory > > I am guessing this is caused by the EventFactory being loaded > > by a different > > classloader than my NotificationStrategy. This had me go > > look for another > > way to get the event, using the jars in lib and not web-apps. > > > > > > > > I was trying to learn more about the API and noticed that although > > http://www.opennms.org/documentation/java-apidocs-stable/ > > org/opennms/netmgt/xml/event/Event.html > > exists, if you go to the frame view, this class and its > > package are not in > > the list of packages and classes. > > > > I found that what I needed was > > org.opennms.netmgt.xml.event.Event, which I > > can get from > > org.opennms.netmgt.xml.event.NotificationFactory. This would > > have been easier to find if the Javadoc included that > > package. Also,having > > the Uses page when I am trying to learn an API. This lets me > > work backwards > > from what I want, in this case an Event. > > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the > world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Please read the OpenNMS Mailing List FAQ: > http://www.opennms.org/index.php/Mailing_List_FAQ > > opennms-devel mailing list > > To *unsubscribe* or change your subscription options, see the bottom of > this page: > https://lists.sourceforge.net/lists/listinfo/opennms-devel ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Please read the OpenNMS Mailing List FAQ: http://www.opennms.org/index.php/Mailing_List_FAQ opennms-devel mailing list To *unsubscribe* or change your subscription options, see the bottom of this page: https://lists.sourceforge.net/lists/listinfo/opennms-devel