Prosys OPC UA Java SDK 1.4.4
This is a new service release of the SDK. It fixes several implementation details and provides some additional methods to improve existing functionality.
OPC Foundation Java Stack changes
- Changed: Communication error related logging to give warning level messages only (instead of errors).
- Fixed: A possible NPE at comm.error handling
- Fixed: A chunk timing issue, which may lead to comm.errors.
Changes to both SDK Client and Server
- New: EventData.getFieldNames()
- Fixed: DataTypeConverter omits non-UaDataType nodes in the DataTypes - instead of choking with an exception.
Changes to SDK Client
- New: Subscription.removeItems()
- New: Subscription.setMonitoringMode()
- Fixed: URISyntaxError was not raised on all invalid Uris
- Fixed: Subscription.removeItem() to reset MonitoredItemId instead of ClientHandle to 0
- Fixed: MonitoredItem.setMonitoringMode() to trigger the change into the server as well.
Changes to SDK Server
- Fixed: Thread-safety of previousNode-cache in ServiceManagerBase
- Fixed: EventData was not including components of Object type in the event fields
- Fixed: BrowseName of the LimitState and ShelvingState components of ExclusiveLimitAlarmType were using an incorrect namespaceIndex
- Fixed: DiscoveryServer's endpoints unbound when the server is closed (matters if the same process keeps running after the server is closed)
- Fixed: SessionManager.createSession & activateSession synchronized to ensure that the session count won't overcome maxSessionCount even when clients are connected simultaneously
- Fixed: AccessLevel was not verified for MonitoredDataItems: Now the IoManager is used to check if the user is allowed to read the variable and this is even rechecked when the session is reactivated.
- Fixed: UserAccessLevel, UserWriteMask & UserExecutable filtered to not include values unavailable from AccessLevel, WriteMask & Executabl, respectively
- Changed: EventManagerListener.onConditionRefresh is called between RefreshStart- and RefreshEnd-events (not before)
- Changed: internal design of EventManager.refreshStart, refreshEnd changed and new refreshItems added (to call refreshItem for each))
- Changed: Opc.Ua.Nodeset2.xml updated
- Changed: NodeManagerListener.onAfterModifyMonitoredDataItem & EventManagerListener.onAfterModifyMonitoredEventItem called also when MonitoringMode is changed.
Changes to the Sample applications
- Fixed: SampleConsoleServer was not defining the LimitState for the alarms
- Fixed: SampleConsoleServer was setting the TypeDefinition of analog items to the DataType
- Fixed: SampleConsoleClient failed to display non-Variable attributes after read