`
biebiekao1
  • 浏览: 29722 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

使用O-M Mapping技术的ObejctSNMP组件开发java SNMP程序的代码

阅读更多
ObjectSNMP借鉴了数据库领域的O-R Mapping技术,采用O/M Mapping。其原理是和O/R Mapping一样的。

先根据SNMP MIB定义一个JAVA对象,然后通过ObjectSNMP API基于对象的添加、删除、修改操作就可以了。



下面的例子,就是使用ObjectSNMP获取RFC1213-MIB的例子:其中的system和ifTable对象就是对应的SNMP MIB中的system组合interface中的ifTable表。



public class TestMibMapping
{
    SNMPAPI snmpapi;

    SNMPNodeParam nodeParam;

    public TestMibMapping()
    {
        try
        {
            /**
             * 初始化系统日志文件。
             */
            MyLog.initLogParam("SNMPTest");

            //使用客户端模式。需要先启用ObjectSNMP的RMI服务(例如:运行RMISNMPServer.java)。
            //SNMPFactory.init(SNMPFactory.Mode_Client, "127.0.0.1");


            //使用本地模式。
            SNMPFactory.init(SNMPFactory.Mode_Local, null);

            // 获取SNMP API
            snmpapi = SNMPFactory.getSNMPAPI();

            //设置SNMP Agent连接参数
            nodeParam = new SNMPNodeParam();
            nodeParam.nodeIP = "127.0.0.1";

        } catch (Exception ex)
        {
            ex.printStackTrace();
        }

    }

    /**
     * 测试RFC1213中System组
     */
    public void testMibSystem()
    {
        try
        {
            system sys = new system();
            system mibsys = (system) snmpapi.getMibObject(sys, nodeParam);
            System.out.println("...........MIBSystem");
            System.out.println("系统名称:" + mibsys.getSysName());
            System.out.println("描述:" + mibsys.getSysDescr());
            System.out.println("系统位置:" + mibsys.getSysLocation());
            System.out.println("联系人:" + mibsys.getSysContact());
            System.out.println("系统对象ID:" + mibsys.getSysObjectID());
            System.out.println("系统服务:" + mibsys.getSysServices());
            System.out.println("启动时间:" + mibsys.getSysUpTime());
     } catch (Exception ex)
        {
            ex.printStackTrace();


        }
    }

    /**
     * 测试RFC1213中接口表
     */
    public void testMibIFTable()
    {
        try
        {
            java.util.List list = snmpapi.getAllTableData(ifTable.class,
                nodeParam);
            System.out.println(".............网络接口个数:" + list.size());
            for (int i = 0; i < list.size(); i++)
            {
                ifTable table = (ifTable) list.get(i);
                Object obj=snmpapi.getMibObject(table,nodeParam);
                System.out.println(obj);
                System.out.println("第" + i + "个接口名称:" + table.getIfDescr());
                System.out.println("第" + i + "个接口物理地址:" +
                                   table.getIfPhysAddress());
                System.out.println("第" + i + "个接口速度:" + table.getIfSpeed());
                System.out.println("第" + i + "个接口工作状态:" + table.getIfOperStatus());
            }

        } catch (Exception ex)
        {
            ex.printStackTrace();

        }
    }

    /**
     * 在本机测试从windows xp的SNMP Agent查询数据。(参见如何启动xp的SNMP Agent服务)
     * @param args String[]
     */
    public static void main(String args[])
    {
        try
        {

            TestMibMapping test = new TestMibMapping();
            test.testMibIFTable();
            test.testMibSystem();


        } catch (Exception ex)
        {
            ex.printStackTrace();
        }
    }

}
分享到:
评论

相关推荐

    o-x-mapping测试

    在IT行业中,XML(eXtensible Markup Language)是一种用于存储和传输数据的标准化格式,尤其在处理结构化数据时非常常见。...了解并熟练掌握o-x-mapping技术,对于提升Java开发者的技能水平和工作效率至关重要。

    java网管技术snmp协议技术

    - **O-M Mapping映射基础**:ObjectSNMP采用了对象-管理信息映射(O-M Mapping)机制,将MIB中的组和表映射为Java对象,从而简化了SNMP管理任务的开发工作。 - **SNMP背景知识**:在SNMP中,每个组或表都可以用一个...

    react-data-mapping:一个React组件,专注于Data-Mapping和Table-Field-Mapping。

    一个基于React的数据/细分映射组件 |简体中文 :sparkles:特性 支持定制基线属性 支持表名定制 支持双向连接数量限制 支持等级排序 支持逐步渲染,自动适应高宽,四周留白等配置 支持空洞内容定制 :hammer:快速...

    db4o-8.0.276.16149-java.rar

    在压缩包内的"db4o-8.0.276.16149-java"可能包含了以下组件: 1. **db4o JAR文件**:这是db4o的核心库,包含所有用于与数据库交互的API。 2. **API文档**:可能包括HTML格式的开发者指南,详细说明了如何使用db4o ...

    O/R_Mapping思想

    O/R_Mapping思想与ADO.NET 基于.NET的Web应用框架的设计与实现 将对象映射到关系数据库——对象/关系映射(O/R_Mapping)详解 面向对象设计中的O/R映射架构

    SAP PI Java Mapping com.sap.aii.mapping.api PI MAPPING开发必须jar包

    标题提到的"com.sap.aii.mapping.api PI MAPPING开发必须jar包"是Java Mapping开发的核心依赖库,它们包含了API和其他必要的组件,使得开发人员能够创建自定义的映射逻辑。以下将详细讲解SAP PI Java Mapping的开发...

    db4o-8.0-java

    总结来说,"db4o-8.0-java" 是一个完整的db4o对象数据库解决方案,包含所有必要的组件,让Java开发者能够轻松地在自己的项目中实施对象数据库。源码、jar包、Eclipse插件和文档的提供,使得开发、调试和学习过程变得...

    phila-vue-mapping:映射应用程序使用的vue组件库

    PHILA-VUE映射( 在 ) phila-vue-mapping是Vue组件的库,可在使用和映射应用程序中使用。 它包括许多映射组件,例如 , 和等。在您的应用程序中包含组件在捆绑的应用程序中,使用npm: npm install @phila/vue-...

    Macrobject NObject O/R Mapping 框架

    NObject O/R Mapping 框架能帮您减少 30% ~ 40% 的程序代码,减少 95% 的查询语句调试时间,缩短 50% 的开发时间,大幅度降低开发和维护成本,同时提高系统的健壮性。 ??附带的 Macrobject CodeAuto 代码生成器能...

    Java和SNMP技术的网络拓扑发现-物理拓扑发现技术入门.doc

    通过O-M Mapping(Object-MIB映射)框架,ObjectSNMP将复杂的SNMP协议细节和MIB(管理信息库)语法转换为简单的Java对象操作,使得开发者无需深入理解SNMP协议细节就能进行网络设备的管理。该框架自动处理MIB和OID...

    cors-filter-1.7.jar 和 java-property-utils-1.9.jar

    在传统的浏览器安全策略中,JavaScript只能与同源(协议、域名和端口相同)的服务器进行通信,以防止恶意代码窃取或篡改数据。然而,随着Web应用的发展,跨域请求变得越来越常见,比如API接口的调用。CORS为解决这个...

    外文翻译---JSP技术与主流JAVA+EE开源框架(SSH)技术简介.docx

    JSP(Java Server Pages)是由Sun Microsystems...SSH框架组合使用,能帮助开发者更好地组织代码,提高开发效率,同时提供了强大的功能,如数据持久化、事务控制、安全性管理等,使得Java EE应用开发更加便捷和强大。

    informatica mapping文件 JAVA SDK开发工具包

    《Informatica Mapping文件与JAVA SDK开发工具包详解》 Informatica作为一个强大的数据集成平台,其Mapping文件是数据处理的核心组成部分,而JAVA SDK则为开发者提供了更深入操作Informatica的可能。本文将详细介绍...

    TechnicalReference-Asr-MemoryMapping.pdf

    **技术参考:ASR内存映射** ...综上所述,该技术参考详细阐述了基于Autosar的RH850芯片内存分配的各个方面,为开发人员提供了清晰的指导,确保高效且安全的内存管理,从而优化汽车电子系统的性能。

    react-field-mapping:基于React的表格映射关系组件

    使用中需要注意的一点是relation,是由组件内部控制的,所以是不受控的,连线后组件内部relation改变,连线也是组件内部控制。但是外部传入的relation是可以改变内部的relation,在组件内会监听传入的relation,可以...

    java源码包---java 源码 大量 实例

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    基于Java的源码-M-LOG Java搭建的博客系统.zip

    "基于Java的源码-M-LOG Java搭建的博客系统"这个标题表明这是一个使用Java编程语言开发的博客系统源代码。M-LOG可能是这个博客系统的名称,它展示了如何利用Java技术来构建一个完整的Web应用。这里的关键词是“Java...

    hibernate-mapping-3.0.dtd

    hibernate-mapping-3.0.dtd 最新从官网下载,无损无修改

    hibernate如何用O/R Mapping框架来实现我们的数据层

    O/R Mapping(Object-Relational Mapping)即对象关系映射,是一种程序技术,用于将对象模型表示的应用程序对象与关系数据库中的表进行相互转换。在Java开发中,O/R Mapping主要用于处理Java对象模型与关系型数据库...

    javaee-website-test-master_java_javaEEweb_

    本项目"javaee-website-test-master"是一个关于使用Java EE进行Web开发的示例工程,用于教学目的,编号为"2434016-developpez-des-sites-web-avec-java-ee",旨在帮助开发者掌握Java EE Web应用的开发技巧。...

Global site tag (gtag.js) - Google Analytics