Solved. I didn't do the proper initialization to set up for receiving
events.
Thanks,
Jerome
Jerome Callaghan
Application Development Specialist
Phone: (866) 848-5848 x 269
Mobile: (401) 871-9242
towerstream
Boston - Chicago - Dallas/Fort Worth - Las Vegas/Reno - Los Angeles -
Miami
Nashville - New York - Philadelphia - Providence/Newport - San Francisco
- Seattle
From: Jerome Callaghan
Sent: Friday, February 03, 2012 11:04 PM
To: 'opennms-devel@lists.sourceforge.net'
Subject: Trying to write OpenNMS daemon event handler
I'm trying to write an event handler that will allow me to get into some
java processing for some events. I'm not getting log entries that I
expect on an event when I deploy and I wonder if anyone might have some
insights .
Here's the configuration for the service:
service-configuration.xml
<service>
<name>OpenNMS:Name=Tsd</name>
<class-name>com.towerstream.opennms.netmgt.tsd.jmx.Tsd</class-name>
<invoke at="start" pass="0" method="init"/>
<invoke at="start" pass="1" method="start"/>
<invoke at="status" pass="0" method="status"/>
<invoke at="stop" pass="0" method="stop"/>
</service>
And the log4j properties configuration:
log4j.properties
# Tsd Towerstream
#log4j.category.OpenNMS.Tsd=WARN, TSD
log4j.category.OpenNMS.Tsd=DEBUG, TSD
log4j.additivity.OpenNMS.Tsd=false
log4j.appender.TSD=org.apache.log4j.RollingFileAppender
log4j.appender.TSD.MaxFileSize=100MB
log4j.appender.TSD.MaxBackupIndex=4
log4j.appender.TSD.File=/opt/opennms/logs/daemon/tsd.log
log4j.appender.TSD.layout=org.apache.log4j.PatternLayout
log4j.appender.TSD.layout.ConversionPattern=%d %-5p [%t] %c{1}: %m%n
Here's the daemon class which is configured.
jmx.Tsd
package com.towerstream.opennms.netmgt.tsd.jmx;
public class Tsd extends AbstractServiceDaemon implements TsdMBean {
protected void onInit() {
EventIpcManagerFactory.init();
getTsd().setEventManager(EventIpcManagerFactory.getIpcManager());
getTsd().init();
}
private com.towerstream.opennms.netmgt.tsd.Tsd getTsd() {
return com.towerstream.opennms.netmgt.tsd.Tsd.getInstance();
}
And the related daemon which logs data when an event is received.
Tsd
package com.towerstream.opennms.netmgt.tsd;
public class Tsd extends AbstractServiceDaemon {
protected void onInit() {
m_eventReader = new BroadcastEventProcessor();
}
BroadcastEventProcessor
public final class BroadcastEventProcessor implements EventListener {
public void onEvent(Event event) {
if (isReloadConfigEvent(event)) {
log().info("onEvent: handling reload configuration
event...");
return;
}
log().info("onEvent: " +event.getDbid() +event +" "
+event.getDescr());
}
I see startup in the log file, but never any events:
2012-02-03 19:23:09,170 DEBUG [Main] Tsd: OpenNMS.Tsd starting.
2012-02-03 19:23:09,170 INFO [Main] Tsd: OpenNMS.Tsd started.
Jerome Callaghan
Application Development Specialist
Phone: (866) 848-5848 x 269
Mobile: (401) 871-9242
towerstream
Boston - Chicago - Dallas/Fort Worth - Las Vegas/Reno - Los Angeles -
Miami
Nashville - New York - Philadelphia - Providence/Newport - San Francisco
- Seattle
-------------------------
------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
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