📄 snmpagent.java
字号:
*/
protected void addNotificationTargets(SnmpTargetMIB targetMIB,
SnmpNotificationMIB notificationMIB) {
targetMIB.addDefaultTDomains();
// targetMIB.addTargetAddress(new OctetString("notification"),
// TransportDomains.transportDomainUdpIpv4, new OctetString(
// new UdpAddress("127.0.0.1/162").getValue()), 200, 1,
// new OctetString("notify"), new OctetString("v2c"),
// StorageType.permanent);
targetMIB.addTargetParams(new OctetString("v2c"),
MessageProcessingModel.MPv2c,
SecurityModel.SECURITY_MODEL_SNMPv2c,
new OctetString("public"), SecurityLevel.NOAUTH_NOPRIV,
StorageType.permanent);
notificationMIB.addNotifyEntry(new OctetString("default"),
new OctetString("notify"),
SnmpNotificationMIB.SnmpNotifyTypeEnum.trap,
StorageType.permanent);
}
/**
* Adds initial VACM configuration.
*
* @param vacm
* The <code>VacmMIB</code> holding the agent's view
* configuration
*/
protected void addViews(VacmMIB vacm) {
vacm.addGroup(SecurityModel.SECURITY_MODEL_SNMPv1, new OctetString(
"public"), new OctetString("v1v2group"),
StorageType.nonVolatile);
vacm.addGroup(SecurityModel.SECURITY_MODEL_SNMPv2c, new OctetString(
"public"), new OctetString("v1v2group"),
StorageType.nonVolatile);
vacm.addAccess(new OctetString("v1v2group"), new OctetString(),
SecurityModel.SECURITY_MODEL_ANY, SecurityLevel.NOAUTH_NOPRIV,
VacmMIB.vacmExactMatch, new OctetString("fullReadView"),
new OctetString("fullWriteView"), new OctetString(
"fullNotifyView"), StorageType.nonVolatile);
vacm.addViewTreeFamily(new OctetString("fullReadView"), new OID("1.3"),
new OctetString(), VacmMIB.vacmViewIncluded,
StorageType.nonVolatile);
vacm.addViewTreeFamily(new OctetString("fullWriteView"),
new OID("1.3"), new OctetString(), VacmMIB.vacmViewIncluded,
StorageType.nonVolatile);
vacm.addViewTreeFamily(new OctetString("fullNotifyView"),
new OID("1.3"), new OctetString(), VacmMIB.vacmViewIncluded,
StorageType.nonVolatile);
}
/**
* Adds all the necessary initial users to the <code>USM</code>.
*
* @param usm
* The <code>USM</code> instance used by this agent
*/
protected void addUsmUser(USM usm) {
// Not used.
}
/**
* Initializes the transport mappings (ports) to be used by the agent.
*
* @throws IOException
*/
protected void initTransportMappings() throws IOException {
transportMappings = new TransportMapping[1];
transportMappings[0] = new DefaultUdpTransportMapping(new UdpAddress(
address));
}
/**
* Unregister managed objects from the agent's server.
*/
protected void unregisterManagedObjects() {
ifMib.unregisterMOs(server, null);
ipMib.unregisterMOs(server, null);
// snmpTargetMib.unregisterMOs(server, null);
// snmpv2Mib.unregisterMOs(server, null);
}
/**
* Adds community to security name mappings needed for SNMPv1 and SNMPv2c.
*
* @param communityMIB
* The <code>SnmpCommunityMIB</code> holding coexistence
* configuration for community based security models
*/
protected void addCommunities(SnmpCommunityMIB communityMIB) {
Variable[] com2sec = new Variable[] { new OctetString("public"), // community name
new OctetString("public"), // security name
getAgent().getContextEngineID(), // local engine ID
new OctetString(), // default context name
new OctetString(), // transport tag
new Integer32(StorageType.nonVolatile), // storage type
new Integer32(RowStatus.active) // row status
};
MOTableRow row = communityMIB.getSnmpCommunityEntry().createRow(
new OctetString("public2public").toSubIndex(true), com2sec);
communityMIB.getSnmpCommunityEntry().addRow(row);
}
/**
* Register the basic MIB modules at the agent's <code>MOServer</code>.
*/
protected void registerSnmpMIBs() {
epcglobalReaderMib = EpcglobalReaderMib.getInstance();
ifMib = IfMib.getInstance();
ipMib = IpMib.getInstance();
// snmpTargetMib = SnmpTargetMib.getInstance();
// snmpv2Mib = SNMPv2Mib.getInstance();
super.registerSnmpMIBs();
}
/**
* Creates the tables for the Epcglobal reader management implementation.
*/
private void createEpcGlobalTables() {
tableCreator.createTable(TableTypeEnum.EPCG_GLOBAL_COUNTERS_TABLE);
tableCreator.createTable(TableTypeEnum.EPCG_READER_SERVER_TABLE);
tableCreator.createTable(TableTypeEnum.EPCG_READ_POINT_TABLE);
tableCreator.createTable(TableTypeEnum.EPCG_ANT_READ_POINT_TABLE);
tableCreator.createTable(TableTypeEnum.EPCG_IO_PORT_TABLE);
tableCreator.createTable(TableTypeEnum.EPCG_SOURCE_TABLE);
tableCreator.createTable(TableTypeEnum.EPCG_NOTIFICATION_CHANNEL_TABLE);
tableCreator.createTable(TableTypeEnum.EPCG_TRIGGER_TABLE);
tableCreator.createTable(TableTypeEnum.EPCG_NOTIF_TRIG_TABLE);
tableCreator.createTable(TableTypeEnum.EPCG_READ_TRIG_TABLE);
tableCreator.createTable(TableTypeEnum.EPCG_RD_PNT_SRC_TABLE);
tableCreator.createTable(TableTypeEnum.EPCG_NOTIF_CHAN_SRC_TABLE);
}
private void createEpcGlobalScalars() {
/*******************************
* epcgReaderDeviceInformation *
*******************************/
EpcgScalar epcgRdrDevDescription = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_DESCRIPTION, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
try {
server.register(epcgRdrDevDescription, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevRole = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_ROLE, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
try {
server.register(epcgRdrDevRole, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevEpc = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_EPC, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
try {
server.register(epcgRdrDevEpc, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevSerialNumber = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_SERIAL_NUMBER, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
try {
server.register(epcgRdrDevSerialNumber, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevTimeUtc = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_TIME_UTC, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
try {
server.register(epcgRdrDevTimeUtc, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevCurrentSource = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_CURRENT_SOURCE, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
try {
server.register(epcgRdrDevCurrentSource, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevReboot = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_REBOOT, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
try {
server.register(epcgRdrDevReboot, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevResetStatistics = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_RESET_STATISTICS, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
try {
server.register(epcgRdrDevResetStatistics, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevResetTimestamp = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_RESET_TIMESTAMP, MOAccessImpl.ACCESS_READ_ONLY, new OctetString(""), readerDevice);
try {
server.register(epcgRdrDevResetTimestamp, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevNormalizePowerLevel = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_NORMALIZE_POWER_LEVEL, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
try {
server.register(epcgRdrDevNormalizePowerLevel, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevNormalizeNoiseLevel = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_NORMALIZE_NOISE_LEVEL, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
try {
server.register(epcgRdrDevNormalizeNoiseLevel, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
/*****************************
* epcgReaderDeviceOperation *
*****************************/
EpcgScalar epcgRdrDevOperStatus = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATUS, MOAccessImpl.ACCESS_READ_ONLY, null, readerDevice);
try {
server.register(epcgRdrDevOperStatus, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevOperStatusPrior = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATUS_PRIOR, MOAccessImpl.ACCESS_FOR_NOTIFY, new Integer32(OperationalStatus.UNKNOWN.toInt()), readerDevice);
try {
server.register(epcgRdrDevOperStatusPrior, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevOperStateEnable = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATE_ENABLE, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
try {
server.register(epcgRdrDevOperStateEnable, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevOperNotifFromState = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_NOTIF_FROM_STATE, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
try {
server.register(epcgRdrDevOperNotifFromState, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevOperNotifToState = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_NOTIF_TO_STATE, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
try {
server.register(epcgRdrDevOperNotifToState, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevOperNotifStateLevel = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_NOTIF_STATE_LEVEL, MOAccessImpl.ACCESS_READ_WRITE, null, readerDevice);
try {
server.register(epcgRdrDevOperNotifStateLevel, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevOperStateSuppressInterval = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATE_SUPPRESS_INTERVAL, MOAccessImpl.ACCESS_READ_WRITE, new UnsignedInteger32(0), readerDevice);
try {
server.register(epcgRdrDevOperStateSuppressInterval, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
EpcgScalar epcgRdrDevOperStateSuppressions = new EpcgScalar(EpcgScalarType.EPCG_RDR_DEV_OPER_STATE_SUPPRESSIONS, MOAccessImpl.ACCESS_READ_ONLY, new Counter32(0), readerDevice);
try {
server.register(epcgRdrDevOperStateSuppressions, null);
} catch (DuplicateRegistrationException dre) {
log.debug(dre.getMessage());
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -