SNMP & JCA

1st, JCA 来自IBM DW的教程: http://www.ibm.com/developerworks/cn/edu/j-dw-javajca-i.html
说来惭愧, 用EJB容器这么久, 居然对ra没什么概念. 要怪也怪sun, 给J2EE Connector Architecture取了个这么费解的名字. 跟rar

这个扩展名都不搭界. 而且动辄EIS, 感觉不像是给人用的. 最近想给SNMP找个包装, 感觉JCA可能会是个好的起点.
先来看看有哪些Resource adaptor, 在JBoss/server/all/deploy下面:
jboss-local-jdbc.rar
jboss-xa-jdbc.rar
jms-ra.rar
mail-ra.rar
quartz-ra.rar
明白了? 外部资源基于连接的访问/事务应该是主要支持点, 另外支持直接把资源直接投递到MDB, 就像JMS/mail那样, 可以投递. SNMP可以仿照用MDB接收来自网元的trap/alarm, 是不是可以绕过JMS queue, 直接投递到专用MDB呢? 同时可以避免J2EE的线程问题.
另外可以像其它资源一样, 直接注入EJB/MDB使用

JBoss的JCA: http://www.jboss.org/community/wiki/JBossJCA
MDB例子,监控目录下xml文件: http://www.jboss.org/community/wiki/JBossJCAMessageInflowExample


2nd, EMS下SNMP的包装:
snmp的trap接收:
指定端口接收, ip/port?
Threshod?
filter(IP, OID, ...)
MDB的annotation参数?
支持阻塞式trap接收? 特定logic
sequence校正(udp原因, 不同网元/ip校正规则?)

snmp get/set
同步/异步
超时参数可选
get/getnext/getbulk
snmpv2c/v3
table的包装

高级包装:
事务模拟,需要网元支持(get old b4 set/set back when rollback)
POJO annotation映射支持

API: SNMP4j 应该提供大多数实现.

实现顺序: get/set/mdb, pojo, jta

猜你喜欢

转载自steeven.iteye.com/blog/440303
JCA