当前位置: 首页>>代码示例>>Java>>正文


Java MonitoredItemCreateRequest类代码示例

本文整理汇总了Java中org.eclipse.milo.opcua.stack.core.types.structured.MonitoredItemCreateRequest的典型用法代码示例。如果您正苦于以下问题:Java MonitoredItemCreateRequest类的具体用法?Java MonitoredItemCreateRequest怎么用?Java MonitoredItemCreateRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MonitoredItemCreateRequest类属于org.eclipse.milo.opcua.stack.core.types.structured包,在下文中一共展示了MonitoredItemCreateRequest类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createMonitoredItems

import org.eclipse.milo.opcua.stack.core.types.structured.MonitoredItemCreateRequest; //导入依赖的package包/类
@Override
public CompletableFuture<CreateMonitoredItemsResponse> createMonitoredItems(
    UInteger subscriptionId,
    TimestampsToReturn timestampsToReturn,
    List<MonitoredItemCreateRequest> itemsToCreate) {

    return getSession().thenCompose(session -> {
        CreateMonitoredItemsRequest request = new CreateMonitoredItemsRequest(
            newRequestHeader(session.getAuthenticationToken()),
            subscriptionId,
            timestampsToReturn,
            a(itemsToCreate, MonitoredItemCreateRequest.class));

        return sendRequest(request);
    });
}
 
开发者ID:eclipse,项目名称:milo,代码行数:17,代码来源:OpcUaClient.java

示例2: createMonitoredItems

import org.eclipse.milo.opcua.stack.core.types.structured.MonitoredItemCreateRequest; //导入依赖的package包/类
@Override
public CompletableFuture<List<UaMonitoredItem>> createMonitoredItems(
    TimestampsToReturn timestampsToReturn,
    List<MonitoredItemCreateRequest> itemsToCreate,
    ItemCreationCallback itemCreationCallback) {

    return notificationSemaphore.acquire().thenCompose(permit -> {
        CompletableFuture<List<UaMonitoredItem>> itemsFuture =
            createMonitoredItems(timestampsToReturn, itemsToCreate);

        return itemsFuture.whenComplete((items, ex) -> {
            try {
                if (items != null) {
                    for (int i = 0; i < items.size(); i++) {
                        UaMonitoredItem item = items.get(i);

                        itemCreationCallback.onItemCreated(client.getDataTypeManager(), item, i);
                    }
                }
            } finally {
                permit.release();
            }
        });
    });
}
 
开发者ID:eclipse,项目名称:milo,代码行数:26,代码来源:OpcUaSubscription.java

示例3: createItemAndWait

import org.eclipse.milo.opcua.stack.core.types.structured.MonitoredItemCreateRequest; //导入依赖的package包/类
private void createItemAndWait(
    UaSubscription.NotificationListener notificationListener,
    Object notificationLock) throws InterruptedException, ExecutionException {

    // create a subscription and a monitored item
    UaSubscription subscription = client.getSubscriptionManager().createSubscription(1000.0).get();
    subscription.addNotificationListener(notificationListener);

    ReadValueId readValueId = new ReadValueId(
        Identifiers.Server_ServerStatus_State,
        AttributeId.Value.uid(), null, QualifiedName.NULL_VALUE);

    MonitoringParameters parameters = new MonitoringParameters(
        uint(1),    // client handle
        1000.0,     // sampling interval
        null,       // no (default) filter
        uint(10),   // queue size
        true);      // discard oldest

    MonitoredItemCreateRequest request = new MonitoredItemCreateRequest(
        readValueId, MonitoringMode.Reporting, parameters);

    synchronized (notificationLock) {
        subscription.createMonitoredItems(TimestampsToReturn.Both, newArrayList(request)).get();
        notificationLock.wait(5000);
    }
}
 
开发者ID:eclipse,项目名称:milo,代码行数:28,代码来源:OpcUaClientIT.java

示例4: testSubscribe

import org.eclipse.milo.opcua.stack.core.types.structured.MonitoredItemCreateRequest; //导入依赖的package包/类
@Test
public void testSubscribe() throws Exception {
    logger.info("testSubscribe()");

    // create a subscription and a monitored item
    UaSubscription subscription = client.getSubscriptionManager().createSubscription(1000.0).get();

    List<MonitoredItemCreateRequest> requests = new ArrayList<>();

    for (int i = 0; i < 10; i++) {
        ReadValueId readValueId = new ReadValueId(
            Identifiers.Server_ServerStatus_State,
            AttributeId.Value.uid(), null, QualifiedName.NULL_VALUE);

        MonitoringParameters parameters = new MonitoringParameters(
            uint(i),    // client handle
            1000.0,     // sampling interval
            null,       // no (default) filter
            uint(10),   // queue size
            true);      // discard oldest

        MonitoredItemCreateRequest request = new MonitoredItemCreateRequest(
            readValueId, MonitoringMode.Reporting, parameters);

        requests.add(request);
    }

    @SuppressWarnings("unchecked")
    CompletableFuture<DataValue>[] cfs = new CompletableFuture[10];

    for (int i = 0; i < 10; i++) {
        CompletableFuture<DataValue> f = new CompletableFuture<>();
        f.thenAccept(value -> logger.info("received {}", value));
        cfs[i] = f;
    }

    BiConsumer<UaMonitoredItem, Integer> callback =
        (item, idx) -> item.setValueConsumer(cfs[idx]::complete);

    List<UaMonitoredItem> items = subscription
        .createMonitoredItems(TimestampsToReturn.Both, requests, callback).get();

    assertTrue(items.stream().allMatch(item -> item.getStatusCode().isGood()));
    assertNotNull(FutureUtils.sequence(cfs).get(5, TimeUnit.SECONDS));
}
 
开发者ID:eclipse,项目名称:milo,代码行数:46,代码来源:OpcUaClientIT.java

示例5: PendingItemCreation

import org.eclipse.milo.opcua.stack.core.types.structured.MonitoredItemCreateRequest; //导入依赖的package包/类
public PendingItemCreation(MonitoredItemCreateRequest request) {
    this.request = request;
}
 
开发者ID:eclipse,项目名称:milo,代码行数:4,代码来源:PendingItemCreation.java

示例6: getRequest

import org.eclipse.milo.opcua.stack.core.types.structured.MonitoredItemCreateRequest; //导入依赖的package包/类
public MonitoredItemCreateRequest getRequest() {
    return request;
}
 
开发者ID:eclipse,项目名称:milo,代码行数:4,代码来源:PendingItemCreation.java

示例7: run

import org.eclipse.milo.opcua.stack.core.types.structured.MonitoredItemCreateRequest; //导入依赖的package包/类
@Override
public void run(OpcUaClient client, CompletableFuture<OpcUaClient> future) throws Exception {
    // synchronous connect
    client.connect().get();

    // create a subscription and a monitored item
    UaSubscription subscription = client.getSubscriptionManager()
        .createSubscription(1000.0).get();

    ReadValueId readValueId = new ReadValueId(
        Identifiers.Server,
        AttributeId.EventNotifier.uid(),
        null,
        QualifiedName.NULL_VALUE
    );

    // client handle must be unique per item
    UInteger clientHandle = uint(clientHandles.getAndIncrement());

    EventFilter eventFilter = new EventFilter(
        new SimpleAttributeOperand[]{
            new SimpleAttributeOperand(
                Identifiers.BaseEventType,
                new QualifiedName[]{new QualifiedName(0, "EventId")},
                AttributeId.Value.uid(),
                null),
            new SimpleAttributeOperand(
                Identifiers.BaseEventType,
                new QualifiedName[]{new QualifiedName(0, "Severity")},
                AttributeId.Value.uid(),
                null),
            new SimpleAttributeOperand(
                Identifiers.BaseEventType,
                new QualifiedName[]{new QualifiedName(0, "Time")},
                AttributeId.Value.uid(),
                null),
            new SimpleAttributeOperand(
                Identifiers.BaseEventType,
                new QualifiedName[]{new QualifiedName(0, "Message")},
                AttributeId.Value.uid(),
                null)
        },
        new ContentFilter(null)
    );

    MonitoringParameters parameters = new MonitoringParameters(
        clientHandle,
        0.0,
        ExtensionObject.encode(eventFilter),
        uint(10),
        true
    );

    MonitoredItemCreateRequest request = new MonitoredItemCreateRequest(
        readValueId,
        MonitoringMode.Reporting,
        parameters
    );

    List<UaMonitoredItem> items = subscription
        .createMonitoredItems(TimestampsToReturn.Both, newArrayList(request)).get();

    // do something with the value updates
    UaMonitoredItem item = items.get(0);

    item.setEventConsumer((i, vs) -> {
        Arrays.stream(vs).forEach(
            v -> logger.info("{} variant received: {}",
                i.getReadValueId().getNodeId(), v.getValue())
        );

        future.complete(client);
    });
}
 
开发者ID:eclipse,项目名称:milo,代码行数:75,代码来源:ProsysEventSubscriptionExample.java

示例8: createMonitoredItems

import org.eclipse.milo.opcua.stack.core.types.structured.MonitoredItemCreateRequest; //导入依赖的package包/类
/**
 * Create one or more {@link UaMonitoredItem}s.
 * <p>
 * Callers must check the quality of each of the returned {@link UaMonitoredItem}s; it is not to be assumed that
 * all items were created successfully. Any item with a bad quality will not be updated nor will it be part of the
 * subscription's bookkeeping.
 * <p>
 * {@code itemCreationCallback} will be invoked for each successfully created {@link UaMonitoredItem}. Callers
 * should use this opportunity to register any value or event consumers on the item, as this is the only time in
 * which it is guaranteed no values or events will be delivered to the item yet.
 *
 * @param timestampsToReturn   the {@link TimestampsToReturn}.
 * @param itemsToCreate        a list of {@link MonitoredItemCreateRequest}s.
 * @param itemCreationCallback callback to be invoked for each successfully created {@link UaMonitoredItem}.
 * @return a list of {@link UaMonitoredItem}s.
 */
default CompletableFuture<List<UaMonitoredItem>> createMonitoredItems(
    TimestampsToReturn timestampsToReturn,
    List<MonitoredItemCreateRequest> itemsToCreate,
    BiConsumer<UaMonitoredItem, Integer> itemCreationCallback) {

    return createMonitoredItems(
        timestampsToReturn,
        itemsToCreate,
        (dataTypeManager, item, index) ->
            itemCreationCallback.accept(item, index)
    );
}
 
开发者ID:eclipse,项目名称:milo,代码行数:29,代码来源:UaSubscription.java

示例9: createMonitoredItems

import org.eclipse.milo.opcua.stack.core.types.structured.MonitoredItemCreateRequest; //导入依赖的package包/类
/**
 * This service is used to create and add one or more monitored items to a subscription.
 *
 * @param subscriptionId     the server-assigned identifier for the subscription that will report notifications for
 *                           the monitored items.
 * @param timestampsToReturn the {@link TimestampsToReturn}.
 * @param itemsToCreate      a list of monitored items to be created and assigned to the specified subscription.
 * @return a {@link CompletableFuture} containing the {@link CreateMonitoredItemsResponse}.
 */
CompletableFuture<CreateMonitoredItemsResponse> createMonitoredItems(
    UInteger subscriptionId,
    TimestampsToReturn timestampsToReturn,
    List<MonitoredItemCreateRequest> itemsToCreate);
 
开发者ID:eclipse,项目名称:milo,代码行数:14,代码来源:MonitoredItemServices.java


注:本文中的org.eclipse.milo.opcua.stack.core.types.structured.MonitoredItemCreateRequest类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。