This is an automated email from the ASF dual-hosted git repository. jpoth pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 91350f8e23f77bc580608e3361273766adb6c1f2 Author: John Poth <poth.j...@gmail.com> AuthorDate: Wed Nov 6 12:18:16 2019 +0100 CAMEL-14149 - Upgrade Infinispan version --- components/camel-infinispan/pom.xml | 145 +++++---------------- .../component/infinispan/InfinispanManager.java | 11 +- .../InfinispanLocalAggregationRepository.java | 5 +- .../idempotent/InfinispanIdempotentRepository.java | 3 +- .../infinispan/InfinispanClusterTestSupport.java | 9 +- ...nTestIT.java => InfinispanConfigurationIT.java} | 17 ++- .../infinispan/InfinispanContinuousQueryIT.java | 11 +- .../InfinispanRemoteQueryProducerIT.java | 67 ++++------ .../infinispan/InfinispanTestSupport.java | 5 +- .../policy/InfinispanEmbeddedRoutePolicyTest.java | 5 +- .../InfinispanDefaultIdempotentRepositoryTest.java | 5 +- .../InfinispanIdempotentRepositoryIT.java | 9 ++ .../InfinispanIdempotentRepositoryTest.java | 20 ++- .../SpringInfinispanIdempotentRepositoryIT.java | 15 ++- .../SpringInfinispanIdempotentRepositoryIT.xml | 3 +- .../dsl/InfinispanEndpointBuilderFactory.java | 3 - parent/pom.xml | 2 +- 17 files changed, 141 insertions(+), 194 deletions(-) diff --git a/components/camel-infinispan/pom.xml b/components/camel-infinispan/pom.xml index d1e33db..1e3ba57 100644 --- a/components/camel-infinispan/pom.xml +++ b/components/camel-infinispan/pom.xml @@ -34,7 +34,8 @@ <description>Camel Infinispan support</description> <properties> - <jgroups-infinispan-version>4.0.18.Final</jgroups-infinispan-version> + <jgroups-infinispan-version>4.1.6.Final</jgroups-infinispan-version> + <protostream-version>4.3.0.Final</protostream-version> </properties> <dependencies> @@ -94,7 +95,7 @@ </dependency> <dependency> <groupId>org.infinispan</groupId> - <artifactId>infinispan-spring4-remote</artifactId> + <artifactId>infinispan-spring5-remote</artifactId> <version>${infinispan-version}</version> <scope>test</scope> </dependency> @@ -105,37 +106,16 @@ <scope>test</scope> </dependency> <dependency> - <groupId>org.infinispan.server</groupId> - <artifactId>infinispan-server-testsuite</artifactId> - <version>${infinispan-version}</version> - <classifier>tests</classifier> + <groupId>org.infinispan.protostream</groupId> + <artifactId>sample-domain-definition</artifactId> + <version>${protostream-version}</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.infinispan.protostream</groupId> + <artifactId>sample-domain-implementation</artifactId> + <version>${protostream-version}</version> <scope>test</scope> - <exclusions> - <exclusion> - <groupId>org.jboss.remoting3</groupId> - <artifactId>remoting-jmx</artifactId> - </exclusion> - <exclusion> - <groupId>org.infinispan</groupId> - <artifactId>infinispan-core</artifactId> - </exclusion> - <exclusion> - <groupId>org.infinispan</groupId> - <artifactId>infinispan-client-hotrod</artifactId> - </exclusion> - <exclusion> - <groupId>org.infinispan</groupId> - <artifactId>infinispan-query-dsl</artifactId> - </exclusion> - <exclusion> - <groupId>org.infinispan</groupId> - <artifactId>infinispan-remote-query-client</artifactId> - </exclusion> - <exclusion> - <groupId>org.apache.karaf</groupId> - <artifactId>apache-karaf</artifactId> - </exclusion> - </exclusions> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> @@ -199,24 +179,20 @@ <build> <plugins> <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> + <groupId>com.googlecode.maven-download-plugin</groupId> + <artifactId>download-maven-plugin</artifactId> + <version>1.4.2</version> <executions> <execution> - <id>install-binary-distribution</id> - <phase>generate-test-resources</phase> + <id>download-infinispan-server</id> + <phase>pre-integration-test</phase> <goals> - <goal>run</goal> + <goal>wget</goal> </goals> <configuration> - <target> - <get - src="https://downloads.jboss.org/infinispan/${infinispan-version}/infinispan-server-${infinispan-version}.zip" - dest="${project.build.directory}/infinispan-server-${infinispan-version}.zip"/> - <unzip - src="${project.build.directory}/infinispan-server-${infinispan-version}.zip" - dest="${server.dir.parent}"/> - </target> + <url>http://downloads.jboss.org/infinispan/${infinispan-version}/infinispan-server-${infinispan-version}.zip</url> + <unpack>true</unpack> + <outputDirectory>${server.dir.parent}</outputDirectory> </configuration> </execution> </executions> @@ -234,9 +210,8 @@ <configuration> <artifactItems> <artifactItem> - <groupId>org.infinispan.server</groupId> - <artifactId>infinispan-server-testsuite</artifactId> - <classifier>tests</classifier> + <groupId>org.infinispan</groupId> + <artifactId>infinispan-server-runtime</artifactId> <version>${infinispan-version}</version> <outputDirectory>${server.dir}/standalone/deployments</outputDirectory> </artifactItem> @@ -246,68 +221,23 @@ </executions> </plugin> <plugin> - <groupId>org.wildfly.plugins</groupId> - <artifactId>wildfly-maven-plugin</artifactId> - <version>1.2.2.Final</version> + <groupId>com.bazaarvoice.maven.plugins</groupId> + <artifactId>process-exec-maven-plugin</artifactId> + <version>0.9</version> <executions> + <!-- Start process --> <execution> - <id>start-server</id> + <id>infinispan-server</id> <phase>pre-integration-test</phase> <goals> <goal>start</goal> </goals> <configuration> - <skip>${skipTests}</skip> - <jbossHome>${server.dir}</jbossHome> - </configuration> - </execution> - <execution> - <id>configure-caches</id> - <phase>pre-integration-test</phase> - <goals> - <goal>execute-commands</goal> - </goals> - <configuration> - <skip>${skipTests}</skip> - <executeCommands> - <commands> - <!-- Separate cache for protobuf serialized objects. --> - <command> - /subsystem=datagrid-infinispan/cache-container=local/local-cache=remote_query:add(configuration=default) - </command> - <!-- Separate cache for converter factory which uses Int keys --> - <command> - /subsystem=datagrid-infinispan/cache-container=local/local-cache=static_converter_factory:add(configuration=default) - </command> - <!-- Separate cache for converter factory which uses Int keys --> - <command> - /subsystem=datagrid-infinispan/cache-container=local/local-cache=static_filter_factory:add(configuration=default) - </command> - <!-- Separate cache for @ClientListener(includeCurrentState=true) --> - <command> - /subsystem=datagrid-infinispan/cache-container=local/local-cache=include_current_state:add(configuration=default) - </command> - <!-- Separate cache for misc tests. --> - <command> - /subsystem=datagrid-infinispan/cache-container=local/local-cache=misc_cache:add(configuration=default) - </command> - <!-- Separate cache for idempotent tests. --> - <command> - /subsystem=datagrid-infinispan/cache-container=local/local-cache=idempotent:add(configuration=default) - </command> - </commands> - </executeCommands> - </configuration> - </execution> - <execution> - <id>stop-server</id> - <phase>post-integration-test</phase> - <goals> - <goal>shutdown</goal> - </goals> - <configuration> - <skip>${skipTests}</skip> - <jbossHome>${server.dir}</jbossHome> + <name>infinispan-server</name> + <workingDir>${server.dir}/bin/</workingDir> + <arguments> + <argument>./server.sh</argument> + </arguments> </configuration> </execution> </executions> @@ -319,18 +249,9 @@ <execution> <goals> <goal>integration-test</goal> - <goal>verify</goal> </goals> </execution> </executions> - <configuration> - <systemProperties> - <property> - <name>infinispan.test.jgroups.protocol</name> - <value>tcp</value> - </property> - </systemProperties> - </configuration> </plugin> </plugins> </build> diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanManager.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanManager.java index fa36cf2..d6f4a0e 100644 --- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanManager.java +++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanManager.java @@ -24,11 +24,14 @@ import org.apache.camel.Exchange; import org.apache.camel.Message; import org.apache.camel.support.service.ServiceSupport; import org.apache.camel.util.ObjectHelper; +import org.infinispan.cache.impl.CacheImpl; import org.infinispan.cache.impl.DecoratedCache; import org.infinispan.client.hotrod.RemoteCacheManager; import org.infinispan.client.hotrod.configuration.ConfigurationBuilder; import org.infinispan.commons.api.BasicCache; import org.infinispan.commons.api.BasicCacheContainer; +import org.infinispan.commons.util.EnumUtil; +import org.infinispan.configuration.global.GlobalConfigurationBuilder; import org.infinispan.manager.DefaultCacheManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -44,7 +47,7 @@ public class InfinispanManager extends ServiceSupport { public InfinispanManager() { this.camelContext = null; this.configuration = new InfinispanConfiguration(); - this.configuration.setCacheContainer(new DefaultCacheManager(true)); + this.configuration.setCacheContainer(new DefaultCacheManager(new GlobalConfigurationBuilder().defaultCacheName("default").build())); } public InfinispanManager(InfinispanConfiguration configuration) { @@ -72,6 +75,7 @@ public class InfinispanManager extends ServiceSupport { ); } else if (containerConf instanceof org.infinispan.configuration.cache.Configuration) { cacheContainer = new DefaultCacheManager( + new GlobalConfigurationBuilder().defaultCacheName("default").build(), (org.infinispan.configuration.cache.Configuration)containerConf, true ); @@ -120,7 +124,8 @@ public class InfinispanManager extends ServiceSupport { cacheContainer = new DefaultCacheManager(is, true); } } else { - cacheContainer = new DefaultCacheManager(new org.infinispan.configuration.cache.ConfigurationBuilder().build()); + cacheContainer = new DefaultCacheManager(new GlobalConfigurationBuilder().defaultCacheName("default").build(), + new org.infinispan.configuration.cache.ConfigurationBuilder().build()); } } @@ -159,7 +164,7 @@ public class InfinispanManager extends ServiceSupport { LOGGER.trace("Cache[{}]", cacheName); if (configuration.hasFlags() && InfinispanUtil.isEmbedded(cache)) { - cache = new DecoratedCache(InfinispanUtil.asAdvanced(cache), configuration.getFlags()); + cache = new DecoratedCache((CacheImpl) InfinispanUtil.asAdvanced(cache), EnumUtil.bitSetOf(configuration.getFlags())); } return cache; diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/processor/aggregate/InfinispanLocalAggregationRepository.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/processor/aggregate/InfinispanLocalAggregationRepository.java index a3f9259..f906aaa 100644 --- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/processor/aggregate/InfinispanLocalAggregationRepository.java +++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/processor/aggregate/InfinispanLocalAggregationRepository.java @@ -29,6 +29,7 @@ import org.apache.camel.support.service.ServiceSupport; import org.apache.camel.util.ObjectHelper; import org.infinispan.commons.api.BasicCache; import org.infinispan.configuration.cache.Configuration; +import org.infinispan.configuration.global.GlobalConfigurationBuilder; import org.infinispan.manager.DefaultCacheManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -161,10 +162,10 @@ public class InfinispanLocalAggregationRepository extends ServiceSupport impleme throw new IllegalArgumentException("Recovery interval must be zero or a positive integer."); } if (ObjectHelper.isEmpty(configuration)) { - manager = new DefaultCacheManager(); + manager = new DefaultCacheManager(new GlobalConfigurationBuilder().defaultCacheName("default").build()); manager.start(); } else { - manager = new DefaultCacheManager(configuration); + manager = new DefaultCacheManager(new GlobalConfigurationBuilder().defaultCacheName("default").build(), configuration); manager.start(); } if (ObjectHelper.isEmpty(cacheName)) { diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanIdempotentRepository.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanIdempotentRepository.java index c5b62ec..b62dd87 100644 --- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanIdempotentRepository.java +++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanIdempotentRepository.java @@ -25,6 +25,7 @@ import org.apache.camel.support.service.ServiceSupport; import org.infinispan.client.hotrod.RemoteCacheManager; import org.infinispan.commons.api.BasicCache; import org.infinispan.commons.api.BasicCacheContainer; +import org.infinispan.configuration.global.GlobalConfigurationBuilder; import org.infinispan.manager.DefaultCacheManager; @ManagedResource(description = "Infinispan based message id repository") @@ -41,7 +42,7 @@ public class InfinispanIdempotentRepository extends ServiceSupport implements Id } public InfinispanIdempotentRepository(String cacheName) { - this.cacheContainer = new DefaultCacheManager(); + this.cacheContainer = new DefaultCacheManager(new GlobalConfigurationBuilder().defaultCacheName("default").build()); this.cacheName = cacheName; this.isManagedCacheContainer = true; } diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanClusterTestSupport.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanClusterTestSupport.java index ca5922a..0c67e08 100644 --- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanClusterTestSupport.java +++ b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanClusterTestSupport.java @@ -27,6 +27,7 @@ import org.infinispan.configuration.cache.CacheMode; import org.infinispan.configuration.cache.ConfigurationBuilder; import org.infinispan.manager.EmbeddedCacheManager; import org.infinispan.test.MultipleCacheManagersTest; +import org.infinispan.test.TestDataSCI; import org.infinispan.test.TestingUtil; import org.infinispan.transaction.TransactionMode; import org.infinispan.util.ControlledTimeService; @@ -74,9 +75,9 @@ public class InfinispanClusterTestSupport extends CamelTestSupport { builderUsed.clustering().hash().numOwners(1); } if (cacheName != null) { - createClusteredCaches(clusterSize, cacheName, builderUsed); + createClusteredCaches(clusterSize, cacheName, TestDataSCI.INSTANCE, builderUsed); } else { - createClusteredCaches(clusterSize, builderUsed); + createClusteredCaches(clusterSize, TestDataSCI.INSTANCE, builderUsed); } } } @@ -127,9 +128,9 @@ public class InfinispanClusterTestSupport extends CamelTestSupport { } protected void injectTimeService() { - ts0 = new ControlledTimeService(0); + ts0 = new ControlledTimeService(); TestingUtil.replaceComponent(clusteredCacheContainers.get(0), TimeService.class, ts0, true); - ts1 = new ControlledTimeService(0); + ts1 = new ControlledTimeService(); TestingUtil.replaceComponent(clusteredCacheContainers.get(1), TimeService.class, ts1, true); } } diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanConfigurationTestIT.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanConfigurationIT.java similarity index 82% rename from components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanConfigurationTestIT.java rename to components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanConfigurationIT.java index 877653f..2529abe 100644 --- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanConfigurationTestIT.java +++ b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanConfigurationIT.java @@ -17,23 +17,35 @@ package org.apache.camel.component.infinispan; import org.infinispan.client.hotrod.RemoteCache; +import org.infinispan.client.hotrod.RemoteCacheManager; import org.infinispan.commons.api.BasicCache; import org.infinispan.configuration.cache.ConfigurationBuilder; +import org.infinispan.configuration.global.GlobalConfiguration; +import org.infinispan.configuration.global.GlobalConfigurationBuilder; import org.infinispan.manager.DefaultCacheManager; import org.jgroups.util.UUID; +import org.junit.Before; import org.junit.Test; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; -public class InfinispanConfigurationTestIT { +public class InfinispanConfigurationIT { + + @Before + public void setupCache() { + RemoteCacheManager manager = new RemoteCacheManager(); + RemoteCache<Object, Object> cache = manager.administration().getOrCreateCache("misc_cache", (String) null); + assertNotNull(cache); + } @Test public void embeddedCacheWithFlagsTest() throws Exception { InfinispanConfiguration configuration = new InfinispanConfiguration(); configuration.setHosts("localhost"); - configuration.setCacheContainer(new DefaultCacheManager(new ConfigurationBuilder().build(), true)); + GlobalConfiguration global = new GlobalConfigurationBuilder().defaultCacheName("default").build(); + configuration.setCacheContainer(new DefaultCacheManager(global, new ConfigurationBuilder().build(), true)); InfinispanManager manager = new InfinispanManager(configuration); manager.start(); @@ -62,7 +74,6 @@ public class InfinispanConfigurationTestIT { String key = UUID.randomUUID().toString(); assertNull(remoteCache.put(key, "val1")); assertNull(remoteCache.put(key, "val2")); - manager.stop(); } diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanContinuousQueryIT.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanContinuousQueryIT.java index a28d135..3e51dbd7 100644 --- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanContinuousQueryIT.java +++ b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanContinuousQueryIT.java @@ -25,7 +25,8 @@ import org.apache.camel.test.junit4.CamelTestSupport; import org.infinispan.client.hotrod.RemoteCache; import org.infinispan.client.hotrod.RemoteCacheManager; import org.infinispan.client.hotrod.configuration.ConfigurationBuilder; -import org.infinispan.client.hotrod.marshall.ProtoStreamMarshaller; +import org.infinispan.client.hotrod.marshall.MarshallerUtil; +import org.infinispan.commons.marshall.ProtoStreamMarshaller; import org.infinispan.commons.util.Util; import org.infinispan.protostream.FileDescriptorSource; import org.infinispan.protostream.SerializationContext; @@ -34,8 +35,8 @@ import org.infinispan.protostream.sampledomain.marshallers.GenderMarshaller; import org.infinispan.protostream.sampledomain.marshallers.UserMarshaller; import org.infinispan.query.dsl.Query; import org.infinispan.query.dsl.QueryFactory; -import org.infinispan.query.remote.client.MarshallerRegistration; import org.infinispan.query.remote.client.ProtobufMetadataManagerConstants; +import org.infinispan.query.remote.client.impl.MarshallerRegistration; import org.junit.Test; import static org.apache.camel.component.infinispan.util.UserUtils.CQ_USERS; @@ -92,15 +93,15 @@ public class InfinispanContinuousQueryIT extends CamelTestSupport { "sample_bank_account/bank.proto", Util.read(InfinispanContinuousQueryIT.class.getResourceAsStream("/sample_bank_account/bank.proto"))); - MarshallerRegistration.registerMarshallers(ProtoStreamMarshaller.getSerializationContext(manager)); + MarshallerRegistration.init(MarshallerUtil.getSerializationContext(manager)); - SerializationContext serCtx = ProtoStreamMarshaller.getSerializationContext(manager); + SerializationContext serCtx = MarshallerUtil.getSerializationContext(manager); serCtx.registerProtoFiles(FileDescriptorSource.fromResources("/sample_bank_account/bank.proto")); serCtx.registerMarshaller(new UserMarshaller()); serCtx.registerMarshaller(new GenderMarshaller()); // pre-load data - cache = manager.getCache("remote_query"); + cache = manager.administration().getOrCreateCache("remote_query", (String) null); cache.clear(); } diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanRemoteQueryProducerIT.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanRemoteQueryProducerIT.java index acdb21d..6b9eb57 100644 --- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanRemoteQueryProducerIT.java +++ b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanRemoteQueryProducerIT.java @@ -27,17 +27,16 @@ import org.apache.camel.test.junit4.CamelTestSupport; import org.infinispan.client.hotrod.RemoteCache; import org.infinispan.client.hotrod.RemoteCacheManager; import org.infinispan.client.hotrod.configuration.ConfigurationBuilder; -import org.infinispan.client.hotrod.marshall.ProtoStreamMarshaller; +import org.infinispan.client.hotrod.marshall.MarshallerUtil; +import org.infinispan.commons.marshall.ProtoStreamMarshaller; import org.infinispan.commons.util.Util; import org.infinispan.protostream.FileDescriptorSource; import org.infinispan.protostream.SerializationContext; import org.infinispan.protostream.sampledomain.User; import org.infinispan.protostream.sampledomain.marshallers.GenderMarshaller; import org.infinispan.protostream.sampledomain.marshallers.UserMarshaller; -import org.infinispan.query.dsl.Query; -import org.infinispan.query.dsl.QueryFactory; -import org.infinispan.query.remote.client.MarshallerRegistration; import org.infinispan.query.remote.client.ProtobufMetadataManagerConstants; +import org.infinispan.query.remote.client.impl.MarshallerRegistration; import org.junit.Test; import static org.apache.camel.component.infinispan.InfinispanConstants.OPERATION; @@ -49,28 +48,18 @@ import static org.apache.camel.component.infinispan.util.UserUtils.hasUser; public class InfinispanRemoteQueryProducerIT extends CamelTestSupport { @BindToRegistry("noResultQueryBuilder") - private static final InfinispanQueryBuilder NO_RESULT_QUERY_BUILDER = new InfinispanQueryBuilder() { - @Override - public Query build(QueryFactory queryFactory) { - return queryFactory.from(User.class) - .having("name").like("%abc%").build(); - } - }; + private static final InfinispanQueryBuilder NO_RESULT_QUERY_BUILDER = queryFactory -> queryFactory.from(User.class) + .having("name").like("%abc%").build(); @BindToRegistry("withResultQueryBuilder") - private static final InfinispanQueryBuilder WITH_RESULT_QUERY_BUILDER = new InfinispanQueryBuilder() { - @Override - public Query build(QueryFactory queryFactory) { - return queryFactory.from(User.class) - .having("name").like("%A").build(); - } - }; + private static final InfinispanQueryBuilder WITH_RESULT_QUERY_BUILDER = queryFactory -> queryFactory.from(User.class) + .having("name").like("%A").build(); @BindToRegistry("myCustomContainer") private RemoteCacheManager manager; @Override - protected RouteBuilder createRouteBuilder() throws Exception { + protected RouteBuilder createRouteBuilder() { return new RouteBuilder() { @Override public void configure() { @@ -100,17 +89,17 @@ public class InfinispanRemoteQueryProducerIT extends CamelTestSupport { Util.read(InfinispanRemoteQueryProducerIT.class.getResourceAsStream("/sample_bank_account/bank.proto")) ); - MarshallerRegistration.registerMarshallers(ProtoStreamMarshaller.getSerializationContext(manager)); - SerializationContext serCtx = ProtoStreamMarshaller.getSerializationContext(manager); + MarshallerRegistration.init(MarshallerUtil.getSerializationContext(manager)); + SerializationContext serCtx = MarshallerUtil.getSerializationContext(manager); serCtx.registerProtoFiles(FileDescriptorSource.fromResources("/sample_bank_account/bank.proto")); serCtx.registerMarshaller(new UserMarshaller()); serCtx.registerMarshaller(new GenderMarshaller()); } @Override - protected void doPostSetup() throws Exception { + protected void doPostSetup() { // pre-load data - RemoteCache<Object, Object> cache = manager.getCache("remote_query"); + RemoteCache<Object, Object> cache = manager.administration().getOrCreateCache("remote_query", (String) null); assertNotNull(cache); cache.clear(); @@ -125,13 +114,8 @@ public class InfinispanRemoteQueryProducerIT extends CamelTestSupport { } @Test - public void producerQueryOperationWithoutQueryBuilder() throws Exception { - Exchange request = template.request("direct:start", new Processor() { - @Override - public void process(Exchange exchange) throws Exception { - exchange.getIn().setHeader(OPERATION, InfinispanOperation.QUERY); - } - }); + public void producerQueryOperationWithoutQueryBuilder() { + Exchange request = template.request("direct:start", exchange -> exchange.getIn().setHeader(OPERATION, InfinispanOperation.QUERY)); assertNull(request.getException()); List<User> queryResult = request.getIn().getBody(List.class); @@ -139,16 +123,16 @@ public class InfinispanRemoteQueryProducerIT extends CamelTestSupport { } @Test - public void producerQueryWithoutResult() throws Exception { + public void producerQueryWithoutResult() { producerQueryWithoutResult("direct:start", NO_RESULT_QUERY_BUILDER); } @Test - public void producerQueryWithoutResultAndQueryBuilderFromConfig() throws Exception { + public void producerQueryWithoutResultAndQueryBuilderFromConfig() { producerQueryWithoutResult("direct:noQueryResults", null); } - private void producerQueryWithoutResult(String endpoint, final InfinispanQueryBuilder builder) throws Exception { + private void producerQueryWithoutResult(String endpoint, final InfinispanQueryBuilder builder) { Exchange request = template.request(endpoint, createQueryProcessor(builder)); assertNull(request.getException()); @@ -159,16 +143,16 @@ public class InfinispanRemoteQueryProducerIT extends CamelTestSupport { } @Test - public void producerQueryWithResult() throws Exception { + public void producerQueryWithResult() { producerQueryWithResult("direct:start", WITH_RESULT_QUERY_BUILDER); } @Test - public void producerQueryWithResultAndQueryBuilderFromConfig() throws Exception { + public void producerQueryWithResultAndQueryBuilderFromConfig() { producerQueryWithResult("direct:queryWithResults", null); } - private void producerQueryWithResult(String endpoint, final InfinispanQueryBuilder builder) throws Exception { + private void producerQueryWithResult(String endpoint, final InfinispanQueryBuilder builder) { Exchange request = template.request(endpoint, createQueryProcessor(builder)); assertNull(request.getException()); @@ -180,13 +164,10 @@ public class InfinispanRemoteQueryProducerIT extends CamelTestSupport { } private Processor createQueryProcessor(final InfinispanQueryBuilder builder) { - return new Processor() { - @Override - public void process(Exchange exchange) throws Exception { - exchange.getIn().setHeader(OPERATION, InfinispanOperation.QUERY); - if (builder != null) { - exchange.getIn().setHeader(QUERY_BUILDER, builder); - } + return exchange -> { + exchange.getIn().setHeader(OPERATION, InfinispanOperation.QUERY); + if (builder != null) { + exchange.getIn().setHeader(QUERY_BUILDER, builder); } }; } diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanTestSupport.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanTestSupport.java index 70d516a..63dea63 100644 --- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanTestSupport.java +++ b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanTestSupport.java @@ -22,6 +22,7 @@ import org.infinispan.commons.api.BasicCache; import org.infinispan.commons.api.BasicCacheContainer; import org.infinispan.commons.time.TimeService; import org.infinispan.configuration.cache.ConfigurationBuilder; +import org.infinispan.configuration.global.GlobalConfigurationBuilder; import org.infinispan.manager.DefaultCacheManager; import org.infinispan.test.TestingUtil; import org.infinispan.util.ControlledTimeService; @@ -40,7 +41,7 @@ public class InfinispanTestSupport extends CamelTestSupport { @Override @Before public void setUp() throws Exception { - basicCacheContainer = new DefaultCacheManager(new ConfigurationBuilder().build()); + basicCacheContainer = new DefaultCacheManager(new GlobalConfigurationBuilder().defaultCacheName("default").build(), new ConfigurationBuilder().build()); basicCacheContainer.start(); super.setUp(); } @@ -60,7 +61,7 @@ public class InfinispanTestSupport extends CamelTestSupport { } protected void injectTimeService() { - ts = new ControlledTimeService(0); + ts = new ControlledTimeService(); TestingUtil.replaceComponent((DefaultCacheManager) basicCacheContainer, TimeService.class, ts, true); } } diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/policy/InfinispanEmbeddedRoutePolicyTest.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/policy/InfinispanEmbeddedRoutePolicyTest.java index 9012278..d3eec1a 100644 --- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/policy/InfinispanEmbeddedRoutePolicyTest.java +++ b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/policy/InfinispanEmbeddedRoutePolicyTest.java @@ -18,12 +18,15 @@ package org.apache.camel.component.infinispan.policy; import org.infinispan.commons.api.BasicCacheContainer; import org.infinispan.configuration.cache.ConfigurationBuilder; +import org.infinispan.configuration.global.GlobalConfiguration; +import org.infinispan.configuration.global.GlobalConfigurationBuilder; import org.infinispan.manager.DefaultCacheManager; public class InfinispanEmbeddedRoutePolicyTest extends InfinispanRoutePolicyTestBase { @Override protected BasicCacheContainer createCacheManager() throws Exception { - return new DefaultCacheManager(new ConfigurationBuilder().build()); + GlobalConfiguration global = new GlobalConfigurationBuilder().defaultCacheName("default").build(); + return new DefaultCacheManager(global, new ConfigurationBuilder().build()); } } diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanDefaultIdempotentRepositoryTest.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanDefaultIdempotentRepositoryTest.java index 5c0daa8..e1ecfdd 100644 --- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanDefaultIdempotentRepositoryTest.java +++ b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanDefaultIdempotentRepositoryTest.java @@ -17,6 +17,8 @@ package org.apache.camel.component.infinispan.processor.idempotent; import org.infinispan.configuration.cache.ConfigurationBuilder; +import org.infinispan.configuration.global.GlobalConfiguration; +import org.infinispan.configuration.global.GlobalConfigurationBuilder; import org.infinispan.manager.DefaultCacheManager; import org.junit.Test; @@ -27,7 +29,8 @@ public class InfinispanDefaultIdempotentRepositoryTest { @Test public void createsRepositoryUsingInternalCache() throws Exception { - DefaultCacheManager basicCacheContainer = new DefaultCacheManager(new ConfigurationBuilder().build()); + GlobalConfiguration global = new GlobalConfigurationBuilder().defaultCacheName("default").build(); + DefaultCacheManager basicCacheContainer = new DefaultCacheManager(global, new ConfigurationBuilder().build()); InfinispanIdempotentRepository repository = InfinispanIdempotentRepository.infinispanIdempotentRepository(basicCacheContainer, "default"); assertFalse(repository.contains("One")); diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanIdempotentRepositoryIT.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanIdempotentRepositoryIT.java index 58ed8f8..82c2b8f 100644 --- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanIdempotentRepositoryIT.java +++ b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanIdempotentRepositoryIT.java @@ -22,12 +22,21 @@ import java.util.stream.IntStream; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.junit4.CamelTestSupport; +import org.infinispan.client.hotrod.RemoteCache; import org.infinispan.client.hotrod.RemoteCacheManager; import org.infinispan.client.hotrod.configuration.ConfigurationBuilder; +import org.junit.Before; import org.junit.Test; public class InfinispanIdempotentRepositoryIT extends CamelTestSupport { + @Before + public void setupCache() { + RemoteCacheManager manager = new RemoteCacheManager(); + RemoteCache<Object, Object> cache = manager.administration().getOrCreateCache("idempotent", (String) null); + assertNotNull(cache); + } + @Test public void producerQueryOperationWithoutQueryBuilder() throws Exception { MockEndpoint mock = getMockEndpoint("mock:result"); diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanIdempotentRepositoryTest.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanIdempotentRepositoryTest.java index 2f8a14a..3a6c005 100644 --- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanIdempotentRepositoryTest.java +++ b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/InfinispanIdempotentRepositoryTest.java @@ -32,15 +32,13 @@ import static org.jgroups.util.Util.assertTrue; public class InfinispanIdempotentRepositoryTest { - public static final GlobalConfiguration GLOBAL_CONFIGURATION = new GlobalConfigurationBuilder().build(); - protected BasicCacheContainer basicCacheContainer; protected InfinispanIdempotentRepository idempotentRepository; protected String cacheName = "default"; @Before - public void setUp() throws Exception { - GlobalConfiguration global = new GlobalConfigurationBuilder().globalJmxStatistics().allowDuplicateDomains(true).build(); + public void setUp() { + GlobalConfiguration global = new GlobalConfigurationBuilder().defaultCacheName("default").globalJmxStatistics().allowDuplicateDomains(true).build(); Configuration conf = new ConfigurationBuilder().build(); basicCacheContainer = new DefaultCacheManager(global, conf); basicCacheContainer.start(); @@ -48,12 +46,12 @@ public class InfinispanIdempotentRepositoryTest { } @After - public void tearDown() throws Exception { + public void tearDown() { basicCacheContainer.stop(); } @Test - public void addsNewKeysToCache() throws Exception { + public void addsNewKeysToCache() { assertTrue(idempotentRepository.add("One")); assertTrue(idempotentRepository.add("Two")); @@ -62,13 +60,13 @@ public class InfinispanIdempotentRepositoryTest { } @Test - public void skipsAddingSecondTimeTheSameKey() throws Exception { + public void skipsAddingSecondTimeTheSameKey() { assertTrue(idempotentRepository.add("One")); assertFalse(idempotentRepository.add("One")); } @Test - public void containsPreviouslyAddedKey() throws Exception { + public void containsPreviouslyAddedKey() { assertFalse(idempotentRepository.contains("One")); idempotentRepository.add("One"); @@ -77,7 +75,7 @@ public class InfinispanIdempotentRepositoryTest { } @Test - public void removesAnExistingKey() throws Exception { + public void removesAnExistingKey() { idempotentRepository.add("One"); assertTrue(idempotentRepository.remove("One")); @@ -86,12 +84,12 @@ public class InfinispanIdempotentRepositoryTest { } @Test - public void doesntRemoveMissingKey() throws Exception { + public void doesntRemoveMissingKey() { assertFalse(idempotentRepository.remove("One")); } @Test - public void clearCache() throws Exception { + public void clearCache() { assertTrue(idempotentRepository.add("One")); assertTrue(idempotentRepository.add("Two")); diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/SpringInfinispanIdempotentRepositoryIT.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/SpringInfinispanIdempotentRepositoryIT.java index ec1b9df..30705bb 100644 --- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/SpringInfinispanIdempotentRepositoryIT.java +++ b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/processor/idempotent/SpringInfinispanIdempotentRepositoryIT.java @@ -17,15 +17,28 @@ package org.apache.camel.component.infinispan.processor.idempotent; import java.util.UUID; - import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.spring.CamelSpringTestSupport; +import org.infinispan.client.hotrod.RemoteCache; +import org.infinispan.client.hotrod.RemoteCacheManager; +import org.infinispan.client.hotrod.marshall.MarshallerUtil; +import org.infinispan.query.remote.client.impl.MarshallerRegistration; import org.junit.Test; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class SpringInfinispanIdempotentRepositoryIT extends CamelSpringTestSupport { + + @Override + public void doPreSetup() throws Exception { + RemoteCacheManager manager = new RemoteCacheManager(); + MarshallerRegistration.init(MarshallerUtil.getSerializationContext(manager)); + RemoteCache<Object, Object> cache = manager.administration().getOrCreateCache("idempotent", (String) null); + assertNotNull(cache); + super.doPreSetup(); + } + @Override protected AbstractApplicationContext createApplicationContext() { return new ClassPathXmlApplicationContext("org/apache/camel/component/infinispan/processor/idempotent/SpringInfinispanIdempotentRepositoryIT.xml"); diff --git a/components/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/processor/idempotent/SpringInfinispanIdempotentRepositoryIT.xml b/components/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/processor/idempotent/SpringInfinispanIdempotentRepositoryIT.xml index fdacad5..fd104a5 100644 --- a/components/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/processor/idempotent/SpringInfinispanIdempotentRepositoryIT.xml +++ b/components/camel-infinispan/src/test/resources/org/apache/camel/component/infinispan/processor/idempotent/SpringInfinispanIdempotentRepositoryIT.xml @@ -25,12 +25,13 @@ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> - <bean id="cacheManager" class="org.infinispan.spring.provider.SpringRemoteCacheManagerFactoryBean"> + <bean id="cacheManager" class="org.infinispan.spring.remote.provider.SpringRemoteCacheManagerFactoryBean"> <property name="configurationProperties"> <props> <prop key="infinispan.client.hotrod.server_list">127.0.0.1:11222</prop> <prop key="infinispan.client.hotrod.force_return_values">true</prop> + <prop key="infinispan.client.hotrod.java_serial_whitelist">java.lang.Boolean</prop> </props> </property> </bean> diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/InfinispanEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/InfinispanEndpointBuilderFactory.java index 9b25d83..e69a266 100644 --- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/InfinispanEndpointBuilderFactory.java +++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/InfinispanEndpointBuilderFactory.java @@ -1251,12 +1251,9 @@ public interface InfinispanEndpointBuilderFactory { PUT_FOR_STATE_TRANSFER, PUT_FOR_X_SITE_STATE_TRANSFER, SKIP_SHARED_CACHE_STORE, - REMOVE_DATA_ON_STOP, SKIP_OWNERSHIP_CHECK, - DELTA_WRITE, IGNORE_RETURN_VALUES, SKIP_XSITE_BACKUP, - GUARANTEED_DELIVERY, SKIP_LISTENER_NOTIFICATION, SKIP_STATISTICS, OPERATION_HOTROD, diff --git a/parent/pom.xml b/parent/pom.xml index bec1c62..3a84611 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -281,7 +281,7 @@ <ibatis-bundle-version>2.3.4.726_4</ibatis-bundle-version> <ical4j-version>1.0.7</ical4j-version> <ignite-version>2.7.6</ignite-version> - <infinispan-version>9.4.16.Final</infinispan-version> + <infinispan-version>10.0.1.Final</infinispan-version> <infinispan-spring-boot-version>2.1.7.Final</infinispan-spring-boot-version> <influx-java-driver-version>2.15</influx-java-driver-version> <influx-java-driver-bundle-version>2.15_1</influx-java-driver-bundle-version>