利用SNMP4J编写 snmp trap的接收程序实现短信报警
(2011-04-28 00:31:03)
标签:
杂谈 |
分类: Snmp4J |
- import
java.sql.Connection; - import
java.sql.DriverManager; - import
java.sql.ResultSet; - import
java.sql.Statement; - import
org.snmp4j.CommandResponder; - import
org.snmp4j.CommandResponderEvent; - import
org.snmp4j.PDU; - import
org.snmp4j.Snmp; - import
org.snmp4j.TransportMapping; - import
org.snmp4j.smi.UdpAddress; - import
org.snmp4j.transport.DefaultUdpTransportMappi ng; - import
org.jsmsengine.*; - public
class TrapTest{ -
publicstatic void main(String[] args){ -
-
try{ -
//snmp4j通过transportmapping的监听端口接收SNMP信息,所以这里初始化一个 -
//transportmapping, -
//注明本机的IP地址及接收trap的端口. -
newTransportMapping transport = DefaultUdpTransportMappi newng( UdpAddress( "192.168.10.2/162")); -
//创建一个处理消息的snmp实例 -
newSnmp snmp = Snmp(transport); -
//CommandResponder是一个listener,用以处理获取的trap消息 -
newCommandResponder trapPrinter = CommandResponder(){ -
publicsynchronized void processPdu(CommandResponderEvent e){ -
PDU command = e.getPDU(); -
if(command!=null){ -
//这里示例输出trap的内容.具体的trap解析等工作在这里进行. -
System.out.println(command.toString()); -
-
sendmesg(command.toString()); -
try{ -
newDriverManager.registerDriver( oracle.jdbc.OracleDriver()); -
try{ -
"oracle.jdbc.driver.OracleDriver");Class.forName( -
catch(Exception} e3){ -
"NoSystem.out.println( Driver!" ); -
} -
"jdbc:oracle:thin:@local:1521:date";String url = -
"user;String userName = -
"pass";String password = -
Connection conn =DriverManager.getConnection (url, userName, password); -
//Create a Statement -
Statement stmt = conn.createStatement (); -
//Select the ENAME column from the EMP table -
-
-
catch(Exception} e2) -
{ -
System.out.println(e2); -
} -
} -
} -
}; -
-
//在snmp实例中添加CommandResponderlistener -
snmp.addCommandResponder(trapPrinter); -
-
"startSystem.out.println( listening!" ); -
//开始启动trap监听.listen()方法内部启动了一个线程,这个线程监听发送到transport中定义的端口 -
//的消息. -
transport.listen(); -
//测试监听是否正常System.out.println(transport.isListening()); -
-
//等待一段测试时间,在这段时间可以发送trap信息测试. -
180000);Thread.sleep( -
catch} (Exception e) { -
e.printStackTrace(); -
} -
} -
publicstatic voidsendmesg(String meesage) -
{ -
-
newCService srv = CService( "COM3",9600, "Nokia", "6310i"); -
System.out.println(); -
"SendMessage():System.out.println( sample );application." -
"System.out.println( Using " + "srv._name + " + srv._version); -
System.out.println(); -
try -
{ -
-
"0000");srv.setSimPin( -
srv.connect(); -
"");srv.setSmscNumber( -
"MobileSystem.out.println( Device );Information: " -
"System.out.println( Manufacturer : " + srv.getDeviceInfo().getManufacturer()); -
"System.out.println( Model : " + srv.getDeviceInfo().getModel()); -
"System.out.println( Serial No : " + srv.getDeviceInfo().getSerialNo()); -
"System.out.println( IMSI : " + srv.getDeviceInfo().getImsi()); -
"System.out.println( S/W Version : " + srv.getDeviceInfo().getSwVersion()); -
"System.out.println( Battery Level : " + "%");srv.getDeviceInfo().getBatteryLevel() + -
"System.out.println( Signal Level : " + "%");srv.getDeviceInfo().getSignalLevel() + -
-
try{ -
newDriverManager.registerDriver( oracle.jdbc.OracleDriver()); -
try{ -
"oracle.jdbc.driver.OracleDriver");Class.forName( -
catch(Exception} e){ -
"NoSystem.out.println( Driver!" ); -
} -
"jdbc:oracle:thin:@loacl:1521:data";String url = -
"user";String userName = -
"pass";String password = -
Connection conn =DriverManager.getConnection (url, userName, password); -
//Create a Statement -
Statement stmt = conn.createStatement (); -
//Select the ENAME column from the EMP table -
"selectResultSet rset = stmt.executeQuery ( * );from WARNING" -
//Iterate through the result and print the employee names -
null;String number= -
while(rset.next()) -
{ -
"WARTEL");number=rset.getString( -
-
newCOutgoingMessage msg = COutgoingMessage(number,meesage "); -
msg.setMessageEncoding(CMessage.MESSAGE_ENCODING_7BIT); -
15000);msg.setSourcePort( -
16000);msg.setDestinationPort( -
srv.sendMessage(msg); -
srv.disconnect(); -
} -
-
rset.clearWarnings(); -
rset.close(); -
stmt.clearWarnings(); -
stmt.close(); -
conn.clearWarnings(); -
conn.close(); -
catch(Exception} e2) -
{ -
System.out.println(e2); -
} -
} -
catch(Exception e) -
{ -
e.printStackTrace(); -
} -
0);System.exit( -
} - }
- 转自:http://blog.csdn.net/qwldcl/archive/2008/12/12/3502551.aspx

加载中…