Search in sources :

Example 11 with UTF8StringMarshaller

use of org.infinispan.commons.marshall.UTF8StringMarshaller in project infinispan by infinispan.

the class SinglePortTest method shouldUpgradeToHotRodThroughHTTP11UpgradeHeaders.

@Test
public void shouldUpgradeToHotRodThroughHTTP11UpgradeHeaders() {
    // given
    EmbeddedCacheManager cacheManager = TestCacheManagerFactory.createCacheManager(hotRodCacheConfiguration());
    // Initialize a transport-less Hot Rod server
    HotRodServerConfigurationBuilder hotRodServerBuilder = new HotRodServerConfigurationBuilder();
    hotRodServerBuilder.startTransport(false);
    hotRodServerBuilder.name(TestResourceTracker.getCurrentTestName());
    hotrodServer = HotRodClientTestingUtil.startHotRodServer(cacheManager, hotRodServerBuilder);
    // Initialize a transport-less REST server
    restServer = new RestServer();
    RestServerConfigurationBuilder restServerConfigurationBuilder = new RestServerConfigurationBuilder();
    restServerConfigurationBuilder.startTransport(false);
    restServerConfigurationBuilder.name(TestResourceTracker.getCurrentTestName());
    restServer.setServerManagement(new DummyServerManagement(), true);
    restServer.start(restServerConfigurationBuilder.build(), cacheManager);
    // Initialize a Single Port server with routes to the Hot Rod and REST servers
    HotRodServerRouteDestination hotrodDestination = new HotRodServerRouteDestination("hotrod", hotrodServer);
    RestServerRouteDestination restDestination = new RestServerRouteDestination("rest", restServer);
    SinglePortRouteSource singlePortSource = new SinglePortRouteSource();
    Route<SinglePortRouteSource, HotRodServerRouteDestination> routeToHotRod = new Route<>(singlePortSource, hotrodDestination);
    Route<SinglePortRouteSource, RestServerRouteDestination> routeToRest = new Route<>(singlePortSource, restDestination);
    RouterConfigurationBuilder routerConfigurationBuilder = new RouterConfigurationBuilder();
    routerConfigurationBuilder.singlePort().port(0).ip(InetAddress.getLoopbackAddress()).routing().add(routeToRest).add(routeToHotRod);
    router = new Router(routerConfigurationBuilder.build());
    router.start();
    EndpointRouter endpointRouter = router.getRouter(EndpointRouter.Protocol.SINGLE_PORT).get();
    String host = endpointRouter.getHost();
    int port = endpointRouter.getPort();
    // First off we verify that the HTTP side of things works
    RestClientConfigurationBuilder builder = new RestClientConfigurationBuilder();
    builder.addServer().host(host).port(port).protocol(Protocol.HTTP_11);
    httpClient = RestClient.forConfiguration(builder.build());
    CompletionStage<RestResponse> response = httpClient.cache(cacheManager.getCacheManagerConfiguration().defaultCacheName().get()).post("key", VALUE);
    ResponseAssertion.assertThat(response).hasNoContent();
    Assertions.assertThat(restServer.getCacheManager().getCache().size()).isEqualTo(1);
    // Next up, the RemoteCacheManager
    ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
    configurationBuilder.marshaller(new UTF8StringMarshaller());
    configurationBuilder.addServer().host(host).port(port);
    hotRodClient = new RemoteCacheManager(configurationBuilder.build());
    Object value = hotRodClient.getCache().withDataFormat(DataFormat.builder().keyType(TEXT_PLAIN).valueType(TEXT_PLAIN).build()).get("key");
    Assertions.assertThat(value).isEqualTo("test");
}
Also used : RestClientConfigurationBuilder(org.infinispan.client.rest.configuration.RestClientConfigurationBuilder) HotRodServerConfigurationBuilder(org.infinispan.server.hotrod.configuration.HotRodServerConfigurationBuilder) ConfigurationBuilder(org.infinispan.client.hotrod.configuration.ConfigurationBuilder) RestServerConfigurationBuilder(org.infinispan.rest.configuration.RestServerConfigurationBuilder) RouterConfigurationBuilder(org.infinispan.server.router.configuration.builder.RouterConfigurationBuilder) SinglePortRouteSource(org.infinispan.server.router.routes.singleport.SinglePortRouteSource) RestResponse(org.infinispan.client.rest.RestResponse) UTF8StringMarshaller(org.infinispan.commons.marshall.UTF8StringMarshaller) Router(org.infinispan.server.router.Router) EndpointRouter(org.infinispan.server.router.router.EndpointRouter) DummyServerManagement(org.infinispan.server.core.DummyServerManagement) RestServerRouteDestination(org.infinispan.server.router.routes.rest.RestServerRouteDestination) EmbeddedCacheManager(org.infinispan.manager.EmbeddedCacheManager) RouterConfigurationBuilder(org.infinispan.server.router.configuration.builder.RouterConfigurationBuilder) HotRodServerRouteDestination(org.infinispan.server.router.routes.hotrod.HotRodServerRouteDestination) RestServer(org.infinispan.rest.RestServer) RestServerConfigurationBuilder(org.infinispan.rest.configuration.RestServerConfigurationBuilder) RemoteCacheManager(org.infinispan.client.hotrod.RemoteCacheManager) RestClientConfigurationBuilder(org.infinispan.client.rest.configuration.RestClientConfigurationBuilder) HotRodServerConfigurationBuilder(org.infinispan.server.hotrod.configuration.HotRodServerConfigurationBuilder) EndpointRouter(org.infinispan.server.router.router.EndpointRouter) Route(org.infinispan.server.router.routes.Route) Test(org.junit.Test)

Example 12 with UTF8StringMarshaller

use of org.infinispan.commons.marshall.UTF8StringMarshaller in project infinispan by infinispan.

the class TestCluster method getRemoteCache.

<K, V> RemoteCache<K, V> getRemoteCache(String cacheName, MediaType mediaType) {
    if (mediaType == null)
        return getRemoteCache(cacheName);
    Marshaller marshaller;
    switch(mediaType.toString()) {
        case MediaType.TEXT_PLAIN_TYPE:
            marshaller = new UTF8StringMarshaller();
            break;
        case MediaType.APPLICATION_SERIALIZED_OBJECT_TYPE:
            marshaller = new JavaSerializationMarshaller();
            break;
        default:
            marshaller = new ProtoStreamMarshaller();
    }
    DataFormat dataFormat = DataFormat.builder().keyMarshaller(marshaller).valueMarshaller(marshaller).build();
    return remoteCacheManager.getCache(cacheName).withDataFormat(dataFormat);
}
Also used : JavaSerializationMarshaller(org.infinispan.commons.marshall.JavaSerializationMarshaller) UTF8StringMarshaller(org.infinispan.commons.marshall.UTF8StringMarshaller) GenericJBossMarshaller(org.infinispan.jboss.marshalling.commons.GenericJBossMarshaller) ProtoStreamMarshaller(org.infinispan.commons.marshall.ProtoStreamMarshaller) Marshaller(org.infinispan.commons.marshall.Marshaller) UTF8StringMarshaller(org.infinispan.commons.marshall.UTF8StringMarshaller) ProtoStreamMarshaller(org.infinispan.commons.marshall.ProtoStreamMarshaller) DataFormat(org.infinispan.client.hotrod.DataFormat) JavaSerializationMarshaller(org.infinispan.commons.marshall.JavaSerializationMarshaller)

Example 13 with UTF8StringMarshaller

use of org.infinispan.commons.marshall.UTF8StringMarshaller in project infinispan by infinispan.

the class SpringRemoteCacheTest method testNullValues.

@Test(dataProvider = "caches")
public void testNullValues(String cacheName) {
    // given
    final SpringRemoteCacheManager springRemoteCacheManager = new SpringRemoteCacheManager(remoteCacheManager);
    final SpringCache cache = springRemoteCacheManager.getCache(cacheName);
    // when
    cache.put("key", null);
    // then
    Cache.ValueWrapper valueWrapper = cache.get("key");
    assertNotNull(valueWrapper);
    assertNull(valueWrapper.get());
    if (cacheName.equals(TEST_CACHE_NAME_PROTO)) {
        // The server should be able to convert application/x-protostream to application/json
        RemoteCache<?, ?> nativeCache = (RemoteCache<?, ?>) cache.getNativeCache();
        RemoteCache<Object, Object> jsonCache = nativeCache.withDataFormat(DataFormat.builder().valueType(MediaType.APPLICATION_JSON).valueMarshaller(new UTF8StringMarshaller()).build());
        Object jsonValue = jsonCache.get("key");
        assertEquals("\n{\n" + "   \"_type\": \"org.infinispan.commons.NullValue\"\n" + "}\n", jsonValue);
    }
}
Also used : RemoteCache(org.infinispan.client.hotrod.RemoteCache) UTF8StringMarshaller(org.infinispan.commons.marshall.UTF8StringMarshaller) SpringCache(org.infinispan.spring.common.provider.SpringCache) Cache(org.springframework.cache.Cache) RemoteCache(org.infinispan.client.hotrod.RemoteCache) SpringCache(org.infinispan.spring.common.provider.SpringCache) SingleCacheManagerTest(org.infinispan.test.SingleCacheManagerTest) Test(org.testng.annotations.Test)

Aggregations

UTF8StringMarshaller (org.infinispan.commons.marshall.UTF8StringMarshaller)13 DataFormat (org.infinispan.client.hotrod.DataFormat)6 Test (org.testng.annotations.Test)5 SingleHotRodServerTest (org.infinispan.client.hotrod.test.SingleHotRodServerTest)4 Json (org.infinispan.commons.dataconversion.internal.Json)3 RawStaticFilteredEventLogListener (org.infinispan.client.hotrod.event.EventLogListener.RawStaticFilteredEventLogListener)2 RestClientConfigurationBuilder (org.infinispan.client.rest.configuration.RestClientConfigurationBuilder)2 JavaSerializationMarshaller (org.infinispan.commons.marshall.JavaSerializationMarshaller)2 ProtoStreamMarshaller (org.infinispan.commons.marshall.ProtoStreamMarshaller)2 RestServer (org.infinispan.rest.RestServer)2 RestServerConfigurationBuilder (org.infinispan.rest.configuration.RestServerConfigurationBuilder)2 DummyServerManagement (org.infinispan.server.core.DummyServerManagement)2 HotRodServerConfigurationBuilder (org.infinispan.server.hotrod.configuration.HotRodServerConfigurationBuilder)2 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 LinkedBlockingQueue (java.util.concurrent.LinkedBlockingQueue)1 RemoteCache (org.infinispan.client.hotrod.RemoteCache)1 RemoteCacheManager (org.infinispan.client.hotrod.RemoteCacheManager)1 ConfigurationBuilder (org.infinispan.client.hotrod.configuration.ConfigurationBuilder)1 EventLogListener (org.infinispan.client.hotrod.event.EventLogListener)1