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


Java InboundEvent类代码示例

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


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

示例1: onEvent

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
@Override
public void onEvent(InboundEvent inboundEvent) {
	String eventName = inboundEvent.getName();
	if (mainEventName.equals(eventName)) {
		Optional<Response<T>> resp;
		try {
			resp = responseBuilder.buildResponse(inboundEvent.readData(), clazz, uri);
		} catch (Exception e) {
			sseObserver.onParseError(new ParseError(inboundEvent.getId(), e, inboundEvent.getRawData()));
			return;
		}
		sseObserver.onEvent(resp.get());
	} else {
		sseObserver.onSignal(eventName);
	}

}
 
开发者ID:Mercateo,项目名称:rest-hateoas-client,代码行数:18,代码来源:SSEListener.java

示例2: testFetch

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
@Test
public void testFetch() throws Exception {
    final CountDownLatch latch = new CountDownLatch(10);
    final EventSource source = client.fetch();

    final EventListener listener = new EventListener() {
        @Override
        public void onEvent(InboundEvent inboundEvent) {
            latch.countDown();
        }
    };
    source.register(listener, "message-to-client");
    source.open();
    latch.await(10, TimeUnit.SECONDS);
    source.close();
}
 
开发者ID:smoketurner,项目名称:pipeline,代码行数:17,代码来源:PipelineClientTest.java

示例3: testSse

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
@Ignore
@Test
public void testSse() {
    Client client = ClientBuilder.newBuilder()
            .register(SseFeature.class).build();
    WebTarget target = client.target("http://localhost:8080/restskol/api")
            .path("events");

    EventInput eventInput = target.request().get(EventInput.class);
    while (!eventInput.isClosed()) {
        final InboundEvent inboundEvent = eventInput.read();
        if (inboundEvent == null) {
            break;
        }

        System.out.println(inboundEvent.getName() + "; "
                + inboundEvent.readData(String.class));
    }
}
 
开发者ID:cloudskol,项目名称:restskol,代码行数:20,代码来源:RestSkolSSEResourceTest.java

示例4: stream

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
/**
 * Allows to stream SSE events from horizon.
 * Certain endpoints in Horizon can be called in streaming mode using Server-Sent Events.
 * This mode will keep the connection to horizon open and horizon will continue to return
 * responses as ledgers close.
 * @see <a href="http://www.w3.org/TR/eventsource/" target="_blank">Server-Sent Events</a>
 * @see <a href="https://www.stellar.org/developers/horizon/learn/responses.html" target="_blank">Response Format documentation</a>
 * @param listener {@link EventListener} implementation with {@link AccountResponse} type
 * @return EventSource object, so you can <code>close()</code> connection when not needed anymore
 */
public EventSource stream(final EventListener<AccountResponse> listener) {
  Client client = ClientBuilder.newBuilder().register(SseFeature.class).build();
  WebTarget target = client.target(this.buildUri());
  EventSource eventSource = new EventSource(target) {
    @Override
    public void onEvent(InboundEvent inboundEvent) {
      String data = inboundEvent.readData(String.class);
      if (data.equals("\"hello\"")) {
        return;
      }
      AccountResponse account = GsonSingleton.getInstance().fromJson(data, AccountResponse.class);
      listener.onEvent(account);
    }
  };
  return eventSource;
}
 
开发者ID:stellar,项目名称:java-stellar-sdk,代码行数:27,代码来源:AccountsRequestBuilder.java

示例5: stream

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
/**
 * Allows to stream SSE events from horizon.
 * Certain endpoints in Horizon can be called in streaming mode using Server-Sent Events.
 * This mode will keep the connection to horizon open and horizon will continue to return
 * responses as ledgers close.
 * @see <a href="http://www.w3.org/TR/eventsource/" target="_blank">Server-Sent Events</a>
 * @see <a href="https://www.stellar.org/developers/horizon/learn/responses.html" target="_blank">Response Format documentation</a>
 * @param listener {@link EventListener} implementation with {@link OperationResponse} type
 * @return EventSource object, so you can <code>close()</code> connection when not needed anymore
 */
public EventSource stream(final EventListener<OperationResponse> listener) {
  Client client = ClientBuilder.newBuilder().register(SseFeature.class).build();
  WebTarget target = client.target(this.buildUri());
  EventSource eventSource = new EventSource(target) {
    @Override
    public void onEvent(InboundEvent inboundEvent) {
      String data = inboundEvent.readData(String.class);
      if (data.equals("\"hello\"")) {
        return;
      }
      OperationResponse payment = GsonSingleton.getInstance().fromJson(data, OperationResponse.class);
      listener.onEvent(payment);
    }
  };
  return eventSource;
}
 
开发者ID:stellar,项目名称:java-stellar-sdk,代码行数:27,代码来源:PaymentsRequestBuilder.java

示例6: stream

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
/**
 * Allows to stream SSE events from horizon.
 * Certain endpoints in Horizon can be called in streaming mode using Server-Sent Events.
 * This mode will keep the connection to horizon open and horizon will continue to return
 * responses as ledgers close.
 * @see <a href="http://www.w3.org/TR/eventsource/" target="_blank">Server-Sent Events</a>
 * @see <a href="https://www.stellar.org/developers/horizon/learn/responses.html" target="_blank">Response Format documentation</a>
 * @param listener {@link EventListener} implementation with {@link EffectResponse} type
 * @return EventSource object, so you can <code>close()</code> connection when not needed anymore
 */
public EventSource stream(final EventListener<EffectResponse> listener) {
  Client client = ClientBuilder.newBuilder().register(SseFeature.class).build();
  WebTarget target = client.target(this.buildUri());
  EventSource eventSource = new EventSource(target) {
    @Override
    public void onEvent(InboundEvent inboundEvent) {
      String data = inboundEvent.readData(String.class);
      if (data.equals("\"hello\"")) {
        return;
      }
      EffectResponse effect = GsonSingleton.getInstance().fromJson(data, EffectResponse.class);
      listener.onEvent(effect);
    }
  };
  return eventSource;
}
 
开发者ID:stellar,项目名称:java-stellar-sdk,代码行数:27,代码来源:EffectsRequestBuilder.java

示例7: stream

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
/**
 * Allows to stream SSE events from horizon.
 * Certain endpoints in Horizon can be called in streaming mode using Server-Sent Events.
 * This mode will keep the connection to horizon open and horizon will continue to return
 * responses as ledgers close.
 * @see <a href="http://www.w3.org/TR/eventsource/" target="_blank">Server-Sent Events</a>
 * @see <a href="https://www.stellar.org/developers/horizon/learn/responses.html" target="_blank">Response Format documentation</a>
 * @param listener {@link EventListener} implementation with {@link TransactionResponse} type
 * @return EventSource object, so you can <code>close()</code> connection when not needed anymore
 */
public EventSource stream(final EventListener<TransactionResponse> listener) {
  Client client = ClientBuilder.newBuilder().register(SseFeature.class).build();
  WebTarget target = client.target(this.buildUri());
  EventSource eventSource = new EventSource(target) {
    @Override
    public void onEvent(InboundEvent inboundEvent) {
      String data = inboundEvent.readData(String.class);
      if (data.equals("\"hello\"")) {
        return;
      }
      TransactionResponse transaction = GsonSingleton.getInstance().fromJson(data, TransactionResponse.class);
      listener.onEvent(transaction);
    }
  };
  return eventSource;
}
 
开发者ID:stellar,项目名称:java-stellar-sdk,代码行数:27,代码来源:TransactionsRequestBuilder.java

示例8: stream

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
/**
 * Allows to stream SSE events from horizon.
 * Certain endpoints in Horizon can be called in streaming mode using Server-Sent Events.
 * This mode will keep the connection to horizon open and horizon will continue to return
 * responses as ledgers close.
 * @see <a href="http://www.w3.org/TR/eventsource/" target="_blank">Server-Sent Events</a>
 * @see <a href="https://www.stellar.org/developers/horizon/learn/responses.html" target="_blank">Response Format documentation</a>
 * @param listener {@link EventListener} implementation with {@link LedgerResponse} type
 * @return EventSource object, so you can <code>close()</code> connection when not needed anymore
 */
public EventSource stream(final EventListener<LedgerResponse> listener) {
  Client client = ClientBuilder.newBuilder().register(SseFeature.class).build();
  WebTarget target = client.target(this.buildUri());
  EventSource eventSource = new EventSource(target) {
    @Override
    public void onEvent(InboundEvent inboundEvent) {
      String data = inboundEvent.readData(String.class);
      if (data.equals("\"hello\"")) {
        return;
      }
      LedgerResponse ledger = GsonSingleton.getInstance().fromJson(data, LedgerResponse.class);
      listener.onEvent(ledger);
    }
  };
  return eventSource;
}
 
开发者ID:stellar,项目名称:java-stellar-sdk,代码行数:27,代码来源:LedgersRequestBuilder.java

示例9: test

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
@Test
public void test() throws Exception {
    Client client = ClientBuilder.newBuilder().register(SseFeature.class).build();
    WebTarget target = client.target(uri("/events"));

    List<InboundEvent> events = new ArrayList<>();
    CountDownLatch latch = new CountDownLatch(3);

    EventSource eventSource = EventSource.target(target).build();
    EventListener listener = inboundEvent -> {
        events.add(inboundEvent);
        latch.countDown();
    };
    eventSource.register(listener);
    eventSource.open();

    sse.send(event("Hello 1\nLine 1").withId("1").withName("hello1"));
    sse.send(event("Hello 2\nLine 2").withId("2").withName("hello2"));
    sse.send(event("Hello 3\nLine 3").withId("3").withName("hello3"));

    assertTrue(latch.await(500, TimeUnit.MILLISECONDS));

    assertThat(events.get(1).getId(), equalTo("2"));
    assertThat(events.get(1).getName(), equalTo("hello2"));
    assertThat(events.get(1).readData(), equalTo("Hello 2\nLine 2"));
}
 
开发者ID:nosceon,项目名称:titanite,代码行数:27,代码来源:ServerSentEventsE2ETest.java

示例10: subscribeToNewMessageEvents

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
public void subscribeToNewMessageEvents(Consumer<Message> callback) {
    Thread thread = new Thread() {
        @Override
        public void run() {
            stopListening = false;
            EventInput eventInput = getWebTarget().path("status")
                    .request()
                    .header(HttpHeaders.AUTHORIZATION, getAuthorizationHeader())
                    .get(EventInput.class);
            while (!eventInput.isClosed() && !stopListening) {
                final InboundEvent inboundEvent = eventInput.read();
                if (inboundEvent == null) {
                    // connection has been closed
                    break;
                }
                if ("new-message".equals(inboundEvent.getName())) {
                    Message message = inboundEvent.readData(Message.class);
                    if (message != null) {
                        callback.accept(message);
                    }
                }
            }
        }
    };
    thread.setDaemon(true);
    thread.start();
}
 
开发者ID:PacktPublishing,项目名称:Java-9-Programming-Blueprints,代码行数:28,代码来源:ConversationService.java

示例11: testSendDataWithValidAuthentication

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
@Test
public void testSendDataWithValidAuthentication() throws InterruptedException {
    //given
    final ServerSentEventService serverSentEventService = Application.getInstance(ServerSentEventService.class);
    final Config config = Application.getInstance(Config.class);
    final String data = "Server sent data with authentication FTW!";

    //when
    final WebTarget target = ClientBuilder.newBuilder()
            .register(SseFeature.class)
            .build()
            .target("http://" + config.getConnectorHttpHost() + ":" + config.getConnectorHttpPort() + "/sseauth");

    final CustomWebTarget customWebTarget = new CustomWebTarget(target, new Cookie(COOKIE_NAME, VALID_COOKIE_VALUE));
    final EventSource eventSource = EventSource.target(customWebTarget).build();
    final EventListener listener = new EventListener() {
        @Override
        public void onEvent(InboundEvent inboundEvent) {
            if (StringUtils.isBlank(eventData)) {
                eventData = inboundEvent.readData(String.class);
            }
        }
    };
    eventSource.register(listener);
    eventSource.open();
    serverSentEventService.send("/sseauth", data);

    //then
    await().atMost(2,  TimeUnit.SECONDS).untilAsserted(() -> assertThat(eventData, equalTo(data)));
    eventSource.close();
}
 
开发者ID:svenkubiak,项目名称:mangooio,代码行数:32,代码来源:ServerSentEventServiceTest.java

示例12: testSendDataWithInvalidAuthentication

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
@Test
public void testSendDataWithInvalidAuthentication() throws InterruptedException {
    //given
    final ServerSentEventService serverSentEventService = Application.getInstance(ServerSentEventService.class);
    final Config config = Application.getInstance(Config.class);
    final String data = "Server sent data with authentication FTW!";

    //when
    final WebTarget target = ClientBuilder.newBuilder()
            .register(SseFeature.class)
            .build()
            .target("http://" + config.getConnectorHttpHost() + ":" + config.getConnectorHttpPort() + "/sseauth");

    final CustomWebTarget customWebTarget = new CustomWebTarget(target, new Cookie(COOKIE_NAME, INVALID_COOKIE_VALUE));
    final EventSource eventSource = EventSource.target(customWebTarget).build();
    final EventListener listener = new EventListener() {
        @Override
        public void onEvent(InboundEvent inboundEvent) {
            if (StringUtils.isBlank(eventData)) {
                eventData = inboundEvent.readData(String.class);
            }
        }
    };
    eventSource.register(listener);
    eventSource.open();
    serverSentEventService.send("/sseauth", data);

    //then
    await().atMost(2,  TimeUnit.SECONDS).untilAsserted(() -> assertThat(eventData, not(equalTo(data))));
    eventSource.close();
}
 
开发者ID:svenkubiak,项目名称:mangooio,代码行数:32,代码来源:ServerSentEventServiceTest.java

示例13: onEvent

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
private void onEvent(InboundEvent inboundEvent) {
    try {
        lastEventTimestamp = System.currentTimeMillis();

        String name = inboundEvent.getName();
        String data = inboundEvent.readData();

        logger.debug("Received '{}' event, data: {}", name, data);

        if (!connected) {
            logger.debug("Connected to streaming events");
            connected = true;
            listeners.forEach(listener -> listener.onConnected());
        }

        if (AUTH_REVOKED.equals(name)) {
            logger.debug("API authorization has been revoked for access token: {}", data);
            listeners.forEach(listener -> listener.onAuthorizationRevoked(data));
        } else if (ERROR.equals(name)) {
            logger.warn("Error occurred: {}", data);
            listeners.forEach(listener -> listener.onError(data));
        } else if (KEEP_ALIVE.equals(name)) {
            logger.debug("Received message to keep connection alive");
        } else if (OPEN.equals(name)) {
            logger.debug("Event stream opened");
        } else if (PUT.equals(name)) {
            logger.debug("Data has changed (or initial data sent)");
            lastReceivedTopLevelData = gson.fromJson(data, TopLevelStreamingData.class).getData();
            listeners.forEach(listener -> listener.onNewTopLevelData(lastReceivedTopLevelData));
        } else {
            logger.debug("Received unhandled event with name '{}' and data '{}'", name, data);
        }
    } catch (Exception e) {
        // catch exceptions here otherwise they will be swallowed by the implementation
        logger.warn("An exception occurred while processing the inbound event", e);
    }
}
 
开发者ID:openhab,项目名称:openhab2-addons,代码行数:38,代码来源:NestStreamingRestClient.java

示例14: doInBackground

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
@Override
protected String doInBackground(Integer... params) {


    Client client = ClientBuilder.newBuilder()
            .register(SseFeature.class).build();

    String url = UtilityGeneral.getServiceURL(MyApplication.getAppContext()) + "/api/broadcast";

    WebTarget target = client.target(url);



    EventInput eventInput = target.request().get(EventInput.class);
    while (!eventInput.isClosed()) {
        final InboundEvent inboundEvent = eventInput.read();
        if (inboundEvent == null) {
            // connection has been closed
            break;
        }
        System.out.println(inboundEvent.getName() + "; "
                + inboundEvent.readData(String.class));

        publishProgress(inboundEvent.getName() + "; "
                + inboundEvent.readData(String.class));

    }

    return "finished";
}
 
开发者ID:SumeetMoray,项目名称:Nearby-Shops-Distributor-Android-app,代码行数:31,代码来源:SSEExample.java

示例15: eventSourceThree

import org.glassfish.jersey.media.sse.InboundEvent; //导入依赖的package包/类
void eventSourceThree()
    {


        eventSource = new EventSource(target) {
            @Override
            public void onEvent(InboundEvent inboundEvent) {

//                if ("message-to-client".equals(inboundEvent.getName())) {
                System.out.println(inboundEvent.getName() + "; "
                        + inboundEvent.readData(String.class));

                String eventName = inboundEvent.getName();
                String message = inboundEvent.readData(String.class);


                NotificationCompat.Builder mBuilder =
                        new NotificationCompat.Builder(IntentServiceSSE.this)
                                .setContentTitle(eventName)
                                .setContentText(message)
                                .setContentInfo(message)
                                .setSmallIcon(R.mipmap.shopping_basket_png)
                                .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));


                NotificationManager mNotificationManager =
                        (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

                mNotificationManager.notify(2, mBuilder.build());
            }


        };
    }
 
开发者ID:SumeetMoray,项目名称:Nearby-Shops-End-User-Android-app,代码行数:35,代码来源:IntentServiceSSE.java


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