From 95f2ef945f13fb98524596321600776c7b95d281 Mon Sep 17 00:00:00 2001 From: Guillaume Smet Date: Mon, 11 Jul 2022 11:10:14 +0200 Subject: [PATCH 1/2] Use Dev Services for Infinispan Client IT --- integration-tests/infinispan-client/pom.xml | 79 +++++----- .../it/infinispan/client/CacheSetup.java | 140 ++++++++++++++++++ .../it/infinispan/client/TestServlet.java | 135 ++--------------- .../src/main/resources/application.properties | 8 - .../src/main/resources/server.p12 | Bin 2501 -> 0 bytes .../InfinispanClientFunctionalityTest.java | 5 - .../client/InfinispanServerTestResource.java | 59 -------- 7 files changed, 194 insertions(+), 232 deletions(-) create mode 100644 integration-tests/infinispan-client/src/main/java/io/quarkus/it/infinispan/client/CacheSetup.java delete mode 100644 integration-tests/infinispan-client/src/main/resources/application.properties delete mode 100644 integration-tests/infinispan-client/src/main/resources/server.p12 delete mode 100644 integration-tests/infinispan-client/src/test/java/io/quarkus/it/infinispan/client/InfinispanServerTestResource.java diff --git a/integration-tests/infinispan-client/pom.xml b/integration-tests/infinispan-client/pom.xml index c56fa803edfa2..9ae3358d0443e 100644 --- a/integration-tests/infinispan-client/pom.xml +++ b/integration-tests/infinispan-client/pom.xml @@ -46,39 +46,6 @@ rest-assured test - - org.infinispan - infinispan-server-hotrod - test - - - - com.thoughtworks.xstream - xstream - - - - org.jboss.spec.javax.transaction - jboss-transaction-api_1.2_spec - - - - - - org.infinispan - infinispan-remote-query-server - - - commons-logging - commons-logging - - - org.hibernate - hibernate-search-serialization-avro - - - test - org.jboss.logging commons-logging-jboss-logging @@ -102,12 +69,6 @@ - - org.infinispan - infinispan-server-hotrod - test-jar - test - org.infinispan infinispan-component-annotations @@ -200,9 +161,47 @@ + + maven-surefire-plugin + + true + + + + maven-failsafe-plugin + + true + + - + + + + test-infinispan + + + test-containers + + + + + + maven-surefire-plugin + + false + + + + maven-failsafe-plugin + + false + + + + + + diff --git a/integration-tests/infinispan-client/src/main/java/io/quarkus/it/infinispan/client/CacheSetup.java b/integration-tests/infinispan-client/src/main/java/io/quarkus/it/infinispan/client/CacheSetup.java new file mode 100644 index 0000000000000..17c82fe26292c --- /dev/null +++ b/integration-tests/infinispan-client/src/main/java/io/quarkus/it/infinispan/client/CacheSetup.java @@ -0,0 +1,140 @@ +package io.quarkus.it.infinispan.client; + +import java.math.BigDecimal; +import java.time.YearMonth; +import java.util.Arrays; +import java.util.Collections; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; + +import javax.enterprise.context.ApplicationScoped; +import javax.enterprise.event.Observes; +import javax.inject.Inject; + +import org.infinispan.client.hotrod.RemoteCache; +import org.infinispan.client.hotrod.RemoteCacheManager; +import org.infinispan.client.hotrod.Search; +import org.infinispan.client.hotrod.annotation.ClientCacheEntryCreated; +import org.infinispan.client.hotrod.annotation.ClientCacheEntryModified; +import org.infinispan.client.hotrod.annotation.ClientCacheEntryRemoved; +import org.infinispan.client.hotrod.annotation.ClientListener; +import org.infinispan.client.hotrod.event.ClientCacheEntryCreatedEvent; +import org.infinispan.client.hotrod.event.ClientCacheEntryModifiedEvent; +import org.infinispan.client.hotrod.event.ClientCacheEntryRemovedEvent; +import org.infinispan.client.hotrod.logging.Log; +import org.infinispan.client.hotrod.logging.LogFactory; +import org.infinispan.commons.configuration.XMLStringConfiguration; +import org.infinispan.query.api.continuous.ContinuousQuery; +import org.infinispan.query.api.continuous.ContinuousQueryListener; +import org.infinispan.query.dsl.Query; +import org.infinispan.query.dsl.QueryFactory; + +import io.quarkus.runtime.StartupEvent; + +@ApplicationScoped +public class CacheSetup { + + private static final Log log = LogFactory.getLog(CacheSetup.class); + + public static final String DEFAULT_CACHE = "default"; + public static final String MAGAZINE_CACHE = "magazine"; + + @Inject + RemoteCacheManager cacheManager; + + private final Map matches = new ConcurrentHashMap<>(); + + private CountDownLatch waitUntilStarted = new CountDownLatch(1); + + private static final String CACHE_CONFIG = "" + + " " + + ""; + + void onStart(@Observes StartupEvent ev) { + RemoteCache defaultCache = cacheManager.administration().getOrCreateCache(DEFAULT_CACHE, + new XMLStringConfiguration(String.format(CACHE_CONFIG, DEFAULT_CACHE))); + RemoteCache magazineCache = cacheManager.administration().getOrCreateCache(MAGAZINE_CACHE, + new XMLStringConfiguration(String.format(CACHE_CONFIG, MAGAZINE_CACHE))); + + defaultCache.addClientListener(new EventPrintListener()); + + ContinuousQuery continuousQuery = Search.getContinuousQuery(defaultCache); + + QueryFactory queryFactory = Search.getQueryFactory(defaultCache); + Query query = queryFactory.create("from book_sample.Book where publicationYear > 2011"); + + ContinuousQueryListener listener = new ContinuousQueryListener() { + @Override + public void resultJoining(String key, Book value) { + log.warn("Adding key: " + key + " for book: " + value); + matches.put(key, value); + } + + @Override + public void resultLeaving(String key) { + log.warn("Removing key: " + key); + matches.remove(key); + } + + @Override + public void resultUpdated(String key, Book value) { + log.warn("Entry updated: " + key); + } + }; + + continuousQuery.addContinuousQueryListener(query, listener); + + log.info("Added continuous query listener"); + + defaultCache.put("book1", new Book("Game of Thrones", "Lots of people perish", 2010, + Collections.singleton(new Author("George", "Martin")), Type.FANTASY, new BigDecimal("23.99"))); + defaultCache.put("book2", new Book("Game of Thrones Path 2", "They win?", 2023, + Collections.singleton(new Author("Son", "Martin")), Type.FANTASY, new BigDecimal("54.99"))); + + magazineCache.put("first-mad", new Magazine("MAD", YearMonth.of(1952, 10), + Collections.singletonList("Blob named Melvin"))); + magazineCache.put("first-time", new Magazine("TIME", YearMonth.of(1923, 3), + Arrays.asList("First helicopter", "Change in divorce law", "Adam's Rib movie released", + "German Reparation Payments"))); + magazineCache.put("popular-time", new Magazine("TIME", YearMonth.of(1997, 4), + Arrays.asList("Yep, I'm gay", "Backlash against HMOS", "False Hope on Breast Cancer?"))); + + waitUntilStarted.countDown(); + } + + public void ensureStarted() { + try { + if (!waitUntilStarted.await(10, TimeUnit.SECONDS)) { + throw new RuntimeException(new TimeoutException()); + } + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + + public Map getMatches() { + return matches; + } + + @ClientListener + static class EventPrintListener { + + @ClientCacheEntryCreated + public void handleCreatedEvent(ClientCacheEntryCreatedEvent e) { + log.warn("Someone has created an entry: " + e); + } + + @ClientCacheEntryModified + public void handleModifiedEvent(ClientCacheEntryModifiedEvent e) { + log.warn("Someone has modified an entry: " + e); + } + + @ClientCacheEntryRemoved + public void handleRemovedEvent(ClientCacheEntryRemovedEvent e) { + log.warn("Someone has removed an entry: " + e); + } + } +} \ No newline at end of file diff --git a/integration-tests/infinispan-client/src/main/java/io/quarkus/it/infinispan/client/TestServlet.java b/integration-tests/infinispan-client/src/main/java/io/quarkus/it/infinispan/client/TestServlet.java index bec47ec793c33..e7224ad67028c 100644 --- a/integration-tests/infinispan-client/src/main/java/io/quarkus/it/infinispan/client/TestServlet.java +++ b/integration-tests/infinispan-client/src/main/java/io/quarkus/it/infinispan/client/TestServlet.java @@ -1,20 +1,12 @@ package io.quarkus.it.infinispan.client; import java.math.BigDecimal; -import java.time.YearMonth; -import java.util.Arrays; import java.util.Collections; import java.util.List; -import java.util.Map; import java.util.Set; import java.util.concurrent.CompletionStage; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; import java.util.stream.Collectors; -import javax.enterprise.event.Observes; import javax.inject.Inject; import javax.ws.rs.Consumes; import javax.ws.rs.GET; @@ -27,13 +19,6 @@ import org.infinispan.client.hotrod.RemoteCache; import org.infinispan.client.hotrod.Search; -import org.infinispan.client.hotrod.annotation.ClientCacheEntryCreated; -import org.infinispan.client.hotrod.annotation.ClientCacheEntryModified; -import org.infinispan.client.hotrod.annotation.ClientCacheEntryRemoved; -import org.infinispan.client.hotrod.annotation.ClientListener; -import org.infinispan.client.hotrod.event.ClientCacheEntryCreatedEvent; -import org.infinispan.client.hotrod.event.ClientCacheEntryModifiedEvent; -import org.infinispan.client.hotrod.event.ClientCacheEntryRemovedEvent; import org.infinispan.client.hotrod.jmx.RemoteCacheClientStatisticsMXBean; import org.infinispan.client.hotrod.logging.Log; import org.infinispan.client.hotrod.logging.LogFactory; @@ -41,20 +26,20 @@ import org.infinispan.counter.api.CounterManager; import org.infinispan.counter.api.CounterType; import org.infinispan.counter.api.StrongCounter; -import org.infinispan.query.api.continuous.ContinuousQuery; -import org.infinispan.query.api.continuous.ContinuousQueryListener; import org.infinispan.query.dsl.Query; import org.infinispan.query.dsl.QueryFactory; import io.quarkus.infinispan.client.Remote; -import io.quarkus.runtime.StartupEvent; @Path("/test") public class TestServlet { private static final Log log = LogFactory.getLog(TestServlet.class); @Inject - @Remote("default") + CacheSetup cacheSetup; + + @Inject + @Remote(CacheSetup.DEFAULT_CACHE) RemoteCache cache; @Inject @@ -62,106 +47,16 @@ public class TestServlet { RemoteCache boolsOld; @Inject - @Remote("magazine") + @Remote(CacheSetup.MAGAZINE_CACHE) RemoteCache magazineCache; @Inject CounterManager counterManager; - CountDownLatch waitUntilStarted = new CountDownLatch(1); - - final Map matches = new ConcurrentHashMap<>(); - - void onStart(@Observes StartupEvent ev) { - log.info("Servlet has started"); - - cache.addClientListener(new EventPrintListener()); - - log.info("Added client listener"); - - ContinuousQuery continuousQuery = Search.getContinuousQuery(cache); - - QueryFactory queryFactory = Search.getQueryFactory(cache); - Query query = queryFactory.create("from book_sample.Book where publicationYear > 2011"); - - ContinuousQueryListener listener = new ContinuousQueryListener() { - @Override - public void resultJoining(String key, Book value) { - log.warn("Adding key: " + key + " for book: " + value); - matches.put(key, value); - } - - @Override - public void resultLeaving(String key) { - log.warn("Removing key: " + key); - matches.remove(key); - } - - @Override - public void resultUpdated(String key, Book value) { - log.warn("Entry updated: " + key); - } - }; - - continuousQuery.addContinuousQueryListener(query, listener); - - log.info("Added continuous query listener"); - - cache.put("book1", new Book("Game of Thrones", "Lots of people perish", 2010, - Collections.singleton(new Author("George", "Martin")), Type.FANTASY, new BigDecimal("23.99"))); - cache.put("book2", new Book("Game of Thrones Path 2", "They win?", 2023, - Collections.singleton(new Author("Son", "Martin")), Type.FANTASY, new BigDecimal("54.99"))); - - magazineCache.put("first-mad", new Magazine("MAD", YearMonth.of(1952, 10), - Collections.singletonList("Blob named Melvin"))); - magazineCache.put("first-time", new Magazine("TIME", YearMonth.of(1923, 3), - Arrays.asList("First helicopter", "Change in divorce law", "Adam's Rib movie released", - "German Reparation Payments"))); - magazineCache.put("popular-time", new Magazine("TIME", YearMonth.of(1997, 4), - Arrays.asList("Yep, I'm gay", "Backlash against HMOS", "False Hope on Breast Cancer?"))); - - log.info("Inserted values"); - - waitUntilStarted.countDown(); - } - - @ClientListener - static class EventPrintListener { - - @ClientCacheEntryCreated - public void handleCreatedEvent(ClientCacheEntryCreatedEvent e) { - log.warn("Someone has created an entry: " + e); - } - - @ClientCacheEntryModified - public void handleModifiedEvent(ClientCacheEntryModifiedEvent e) { - log.warn("Someone has modified an entry: " + e); - } - - @ClientCacheEntryRemoved - public void handleRemovedEvent(ClientCacheEntryRemovedEvent e) { - log.warn("Someone has removed an entry: " + e); - } - - } - - /** - * This is needed because start notification is done async - you can receive requests while running start - */ - private void ensureStart() { - try { - if (!waitUntilStarted.await(10, TimeUnit.SECONDS)) { - throw new RuntimeException(new TimeoutException()); - } - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - } - @GET @Produces(MediaType.TEXT_PLAIN) public List getIDs() { - ensureStart(); + cacheSetup.ensureStarted(); log.info("Retrieving all IDs"); return cache.keySet().stream().sorted().collect(Collectors.toList()); } @@ -170,7 +65,7 @@ public List getIDs() { @GET @Produces(MediaType.TEXT_PLAIN) public String getCachedValue(@PathParam("id") String id) { - ensureStart(); + cacheSetup.ensureStarted(); Book book = cache.get(id); return book != null ? book.getTitle() : "NULL"; } @@ -179,7 +74,7 @@ public String getCachedValue(@PathParam("id") String id) { @GET @Produces(MediaType.TEXT_PLAIN) public String queryAuthorSurname(@PathParam("id") String name) { - ensureStart(); + cacheSetup.ensureStarted(); QueryFactory queryFactory = Search.getQueryFactory(cache); Query query = queryFactory.from(Book.class) .having("authors.name").like("%" + name + "%") @@ -201,7 +96,7 @@ public String queryAuthorSurname(@PathParam("id") String name) { @GET @Produces(MediaType.TEXT_PLAIN) public String ickleQueryAuthorSurname(@PathParam("id") String name) { - ensureStart(); + cacheSetup.ensureStarted(); QueryFactory queryFactory = Search.getQueryFactory(cache); Query query = queryFactory.create("from book_sample.Book b where b.authors.name like '%" + name + "%'"); List list = query.execute().list(); @@ -220,7 +115,7 @@ public String ickleQueryAuthorSurname(@PathParam("id") String name) { @GET @Produces(MediaType.TEXT_PLAIN) public CompletionStage incrementCounter(@PathParam("id") String id) { - ensureStart(); + cacheSetup.ensureStarted(); CounterConfiguration configuration = counterManager.getConfiguration(id); if (configuration == null) { configuration = CounterConfiguration.builder(CounterType.BOUNDED_STRONG).build(); @@ -234,8 +129,8 @@ public CompletionStage incrementCounter(@PathParam("id") String id) { @GET @Produces(MediaType.TEXT_PLAIN) public String continuousQuery() { - ensureStart(); - return matches.values().stream() + cacheSetup.ensureStarted(); + return cacheSetup.getMatches().values().stream() .mapToInt(Book::getPublicationYear) .mapToObj(Integer::toString) .collect(Collectors.joining(",")); @@ -245,7 +140,7 @@ public String continuousQuery() { @GET @Produces(MediaType.TEXT_PLAIN) public String nearCache() { - ensureStart(); + cacheSetup.ensureStarted(); RemoteCacheClientStatisticsMXBean stats = cache.clientStatistics(); long nearCacheMisses = stats.getNearCacheMisses(); long nearCacheHits = stats.getNearCacheHits(); @@ -315,7 +210,7 @@ public String nearCache() { @PUT @Consumes(MediaType.TEXT_PLAIN) public Response createItem(String value, @PathParam("id") String id) { - ensureStart(); + cacheSetup.ensureStarted(); Book book = new Book(id, value, 2019, Collections.emptySet(), Type.PROGRAMMING, new BigDecimal("9.99")); Book previous = cache.putIfAbsent(id, book); if (previous == null) { @@ -332,7 +227,7 @@ public Response createItem(String value, @PathParam("id") String id) { @Path("magazinequery/{id}") @GET public String magazineQuery(@PathParam("id") String name) { - ensureStart(); + cacheSetup.ensureStarted(); QueryFactory queryFactory = Search.getQueryFactory(magazineCache); Query query = queryFactory.create("from magazine_sample.Magazine m where m.name like '%" + name + "%'"); List list = query.list(); diff --git a/integration-tests/infinispan-client/src/main/resources/application.properties b/integration-tests/infinispan-client/src/main/resources/application.properties deleted file mode 100644 index 7ff4e328e8dd3..0000000000000 --- a/integration-tests/infinispan-client/src/main/resources/application.properties +++ /dev/null @@ -1,8 +0,0 @@ -quarkus.infinispan-client.server-list=localhost:11232 -quarkus.infinispan-client.use-auth=false -quarkus.infinispan-client.trust-store=src/main/resources/server.p12 -quarkus.infinispan-client.trust-store-password=changeit -quarkus.infinispan-client.trust-store-type=PKCS12 - -# quarkus.log.level=DEBUG -# quarkus.log.console.level=DEBUG diff --git a/integration-tests/infinispan-client/src/main/resources/server.p12 b/integration-tests/infinispan-client/src/main/resources/server.p12 deleted file mode 100644 index a35c19798eec98ac206e3e2d00830e44b60f40ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2501 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 start() { - TestResourceTracker.setThreadTestName("InfinispanServer"); - ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); - configurationBuilder.encoding().mediaType(MediaType.APPLICATION_PROTOSTREAM_TYPE); - EmbeddedCacheManager ecm = TestCacheManagerFactory.createCacheManager( - new GlobalConfigurationBuilder().nonClusteredDefault().defaultCacheName("default"), - configurationBuilder); - - ecm.defineConfiguration("magazine", configurationBuilder.build()); - - // Client connects to a non default port - final HotRodServerConfigurationBuilder hotRodServerConfigurationBuilder = new HotRodServerConfigurationBuilder(); - hotRodServerConfigurationBuilder.adminOperationsHandler(new EmbeddedServerAdminOperationHandler()); - hotRodServerConfigurationBuilder - .ssl() - .enabled(true) - .keyStoreFileName("src/main/resources/server.p12") - .keyStorePassword(PASSWORD) - .keyStoreType("PKCS12") - .requireClientAuth(false) - .protocol("TLSv1.2"); - - hotRodServer = HotRodTestingUtil.startHotRodServer(ecm, 11232, hotRodServerConfigurationBuilder); - return Collections.emptyMap(); - } - - @Override - public void stop() { - if (hotRodServer != null) { - hotRodServer.stop(); - } - } - -} From e647753152de7efddacbed041e1e04900c45bb30 Mon Sep 17 00:00:00 2001 From: Guillaume Smet Date: Wed, 20 Jul 2022 11:10:12 +0200 Subject: [PATCH 2/2] Enforce Hibernate Search constraint in BOM --- bom/application/pom.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/bom/application/pom.xml b/bom/application/pom.xml index 46c82e0c58cf4..ba4ac40175d8a 100644 --- a/bom/application/pom.xml +++ b/bom/application/pom.xml @@ -4858,7 +4858,6 @@ - org.postgresql postgresql