Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does not work with latest micronaut #1

Open
jerrinot opened this issue May 26, 2019 · 1 comment
Open

Does not work with latest micronaut #1

jerrinot opened this issue May 26, 2019 · 1 comment

Comments

@jerrinot
Copy link

Hi,

I was trying to use this project with Micronaut 1.1.2, but it fails with

/home/jara/.sdkman/candidates/java/8.0.202-zulu/bin/java -javaagent:/home/jara/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/191.7141.44/lib/idea_rt.jar=34391:/home/jara/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/191.7141.44/bin -Dfile.encoding=UTF-8 -classpath /home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/charsets.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/ext/cldrdata.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/ext/dnsns.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/ext/jaccess.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/ext/localedata.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/ext/nashorn.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/ext/sunec.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/ext/sunjce_provider.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/ext/sunpkcs11.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/ext/zipfs.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/jce.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/jfr.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/jsse.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/management-agent.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/resources.jar:/home/jara/.sdkman/candidates/java/8.0.202-zulu/jre/lib/rt.jar:/home/jara/devel/tmp/microcache/out/production/classes:/home/jara/devel/tmp/microcache/out/production/resources:/home/jara/.gradle/caches/modules-2/files-2.1/com.github.alparslanavci/hazelcast-micronaut-cache/-SNAPSHOT/41fb146ad50477e682e183f73bb49318b950d6fb/hazelcast-micronaut-cache--SNAPSHOT.jar:/home/jara/.gradle/caches/modules-2/files-2.1/com.hazelcast/hazelcast/3.12/26d682f8f01024c2f2992b08ffb241ff3ca098e5/hazelcast-3.12.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.micronaut/micronaut-validation/1.1.2/312a0875f9ac5ccb5ae5b847631920c56955e60f/micronaut-validation-1.1.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.micronaut/micronaut-http-client/1.1.2/b78ccfdb8e20bba6071580357d11a392f6e17b55/micronaut-http-client-1.1.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.micronaut/micronaut-http-server-netty/1.1.2/ebec1ce8976244949cf8f13c6c37de7524ea0917/micronaut-http-server-netty-1.1.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.micronaut/micronaut-http-server/1.1.2/78caef000b38065367ee07a424e46bd0effcbc52/micronaut-http-server-1.1.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.micronaut/micronaut-runtime/1.1.2/d13fd8c883c4c0c98b9532675d01959ada2701aa/micronaut-runtime-1.1.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.micronaut/micronaut-http-netty/1.1.2/a9a97dbcd6aff2890243b2a73f08af5efca12c32/micronaut-http-netty-1.1.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.micronaut/micronaut-websocket/1.1.2/302199e7c33f1b6f84cd5636d4049a36dffa3086/micronaut-websocket-1.1.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.micronaut/micronaut-router/1.1.2/232589507feca130d81540fa784c59f261329985/micronaut-router-1.1.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.micronaut/micronaut-http/1.1.2/836fb2df956d9c2feebf0c51bdcf73e6e460a840/micronaut-http-1.1.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.micronaut/micronaut-aop/1.1.2/76e565718b2b980b6625bf9dea1446ce8bbfcec4/micronaut-aop-1.1.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.micronaut/micronaut-inject/1.1.2/2a3655dae9d69eee72d34e005bc23dd3295518e4/micronaut-inject-1.1.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.micronaut/micronaut-buffer-netty/1.1.2/7441c620fbf601cee9c2df0ccb09864871c8fd76/micronaut-buffer-netty-1.1.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.micronaut/micronaut-core/1.1.2/376fe028883f8c83dd0a760fb02dad9b2610153b/micronaut-core-1.1.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.3/7c4f3c474fb2c041d8028740440937705ebb473a/logback-classic-1.2.3.jar:/home/jara/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.25/da76ca59f6a57ee3102f8f9bd9cee742973efa8a/slf4j-api-1.7.25.jar:/home/jara/.gradle/caches/modules-2/files-2.1/javax.annotation/javax.annotation-api/1.3.2/934c04d3cfef185a8008e7bf34331b79730a9d43/javax.annotation-api-1.3.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar:/home/jara/.gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.23/ec62d74fe50689c28c0ff5b35d3aebcaa8b5be68/snakeyaml-1.23.jar:/home/jara/.gradle/caches/modules-2/files-2.1/javax.validation/validation-api/2.0.1.Final/cb855558e6271b1b32e716d24cb85c7f583ce09e/validation-api-2.0.1.Final.jar:/home/jara/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.9.8/bcd02aa9195390e23747ed40bf76be869ad3a2fb/jackson-datatype-jdk8-2.9.8.jar:/home/jara/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.9.8/28ad1bced632ba338e51c825a652f6e11a8e6eac/jackson-datatype-jsr310-2.9.8.jar:/home/jara/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.9.8/11283f21cc480aa86c4df7a0a3243ec508372ed2/jackson-databind-2.9.8.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.reactivex.rxjava2/rxjava/2.2.6/c0df91c5b9c98ebd28eec6764cb3416c195aec20/rxjava-2.2.6.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.netty/netty-handler-proxy/4.1.30.Final/1baa1568fa936caddca0fae96fdf127fd5cbad16/netty-handler-proxy-4.1.30.Final.jar:/home/jara/.gradle/caches/modules-2/files-2.1/org.reactivestreams/reactive-streams/1.0.2/323964c36556eb0e6209f65c1cef72b53b461ab8/reactive-streams-1.0.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.2/25ea2e8b0c338a877313bd4672d3fe056ea78f0d/jsr305-3.0.2.jar:/home/jara/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.9.8/ba7f0e6f8f1b28d251eeff2a5604bed34c53ff35/jackson-annotations-2.9.8.jar:/home/jara/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.9.8/f5a654e4675769c716e5b387830d19b501ca191/jackson-core-2.9.8.jar:/home/jara/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-core/1.2.3/864344400c3d4d92dfeb0a305dc87d953677c03c/logback-core-1.2.3.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.netty/netty-codec-http/4.1.30.Final/1384c630e8a0eeef33ad12a28791dce6e1d8767c/netty-codec-http-4.1.30.Final.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.netty/netty-handler/4.1.30.Final/ecc076332ed103411347f4806a44ee32d9d9cb5f/netty-handler-4.1.30.Final.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.netty/netty-codec-socks/4.1.30.Final/ea272e3bb281d3a91d27278f47e61b4de285cc27/netty-codec-socks-4.1.30.Final.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.netty/netty-codec/4.1.30.Final/515c8f609aaca28a94f984d89a9667dd3359c1b1/netty-codec-4.1.30.Final.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.netty/netty-transport/4.1.30.Final/3d27bb432a3b125167ac161b26415ad29ec17f02/netty-transport-4.1.30.Final.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.netty/netty-buffer/4.1.30.Final/597adb653306470fb3ec1af3c0f3f30a37b1310a/netty-buffer-4.1.30.Final.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.netty/netty-resolver/4.1.30.Final/5106fd687066ffd712e5295d32af4e2ac6482613/netty-resolver-4.1.30.Final.jar:/home/jara/.gradle/caches/modules-2/files-2.1/io.netty/netty-common/4.1.30.Final/5dca0c34d8f38af51a2398614e81888f51cf811a/netty-common-4.1.30.Final.jar info.jerrinot.Application
May 26, 2019 5:30:52 PM com.hazelcast.integration.micronaut.HazelcastInstanceFactory
WARNING: Configuration XML path is empty.
May 26, 2019 5:30:52 PM com.hazelcast.integration.micronaut.HazelcastInstanceFactory
INFO: Hazelcast is starting with using the configuration in the classpath
May 26, 2019 5:30:52 PM com.hazelcast.config.AbstractConfigLocator
INFO: Loading 'hazelcast-default.xml' from the classpath.
May 26, 2019 5:30:53 PM com.hazelcast.instance.AddressPicker
INFO: [LOCAL] [dev] [3.12] Prefer IPv4 stack is true, prefer IPv6 addresses is false
May 26, 2019 5:30:53 PM com.hazelcast.instance.AddressPicker
INFO: [LOCAL] [dev] [3.12] Picked [10.10.38.42]:5701, using socket ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5701], bind any local is true
May 26, 2019 5:30:53 PM com.hazelcast.system
INFO: [10.10.38.42]:5701 [dev] [3.12] Hazelcast 3.12 (20190409 - 915d83a) starting at [10.10.38.42]:5701
May 26, 2019 5:30:53 PM com.hazelcast.system
INFO: [10.10.38.42]:5701 [dev] [3.12] Copyright (c) 2008-2019, Hazelcast, Inc. All Rights Reserved.
May 26, 2019 5:30:53 PM com.hazelcast.spi.impl.operationservice.impl.BackpressureRegulator
INFO: [10.10.38.42]:5701 [dev] [3.12] Backpressure is disabled
May 26, 2019 5:30:54 PM com.hazelcast.instance.Node
INFO: [10.10.38.42]:5701 [dev] [3.12] Creating MulticastJoiner
May 26, 2019 5:30:54 PM com.hazelcast.spi.impl.operationexecutor.impl.OperationExecutorImpl
INFO: [10.10.38.42]:5701 [dev] [3.12] Starting 8 partition threads and 5 generic threads (1 dedicated for priority tasks)
May 26, 2019 5:30:54 PM com.hazelcast.internal.diagnostics.Diagnostics
INFO: [10.10.38.42]:5701 [dev] [3.12] Diagnostics disabled. To enable add -Dhazelcast.diagnostics.enabled=true to the JVM arguments.
May 26, 2019 5:30:54 PM com.hazelcast.core.LifecycleService
INFO: [10.10.38.42]:5701 [dev] [3.12] [10.10.38.42]:5701 is STARTING
May 26, 2019 5:30:56 PM com.hazelcast.internal.cluster.ClusterService
INFO: [10.10.38.42]:5701 [dev] [3.12] 

Members {size:1, ver:1} [
	Member [10.10.38.42]:5701 - 92a95225-67f7-4e4a-83c3-2205ab019124 this
]

May 26, 2019 5:30:56 PM com.hazelcast.core.LifecycleService
INFO: [10.10.38.42]:5701 [dev] [3.12] [10.10.38.42]:5701 is STARTED
17:30:57.591 [main] INFO  io.micronaut.runtime.Micronaut - Startup completed in 6183ms. Server Running: http://localhost:8080
17:31:05.078 [pool-1-thread-1] ERROR i.m.h.s.netty.RoutingInBoundHandler - Unexpected error occurred: Error instantiating bean of type  [io.micronaut.cache.interceptor.CacheInterceptor]

Message: Cannot registry duplicate cache [com.hazelcast.integration.micronaut.HazelcastSyncCache@668614db] with cache manager. Ensure configured cache names are unique. Cache already configured for name [notcounter]: io.micronaut.cache.DefaultSyncCache@6892cdd
Path Taken: HelloController.fooBean --> new $FooBeanDefinition$Intercepted(BeanContext beanContext,[Interceptor[] interceptors]) --> new CacheInterceptor([CacheManager cacheManager],CacheErrorHandler errorHandler,AsyncCacheErrorHandler asyncCacheErrorHandler,ExecutorService ioExecutor,BeanContext beanContext)
io.micronaut.context.exceptions.BeanInstantiationException: Error instantiating bean of type  [io.micronaut.cache.interceptor.CacheInterceptor]

Message: Cannot registry duplicate cache [com.hazelcast.integration.micronaut.HazelcastSyncCache@668614db] with cache manager. Ensure configured cache names are unique. Cache already configured for name [notcounter]: io.micronaut.cache.DefaultSyncCache@6892cdd
Path Taken: HelloController.fooBean --> new $FooBeanDefinition$Intercepted(BeanContext beanContext,[Interceptor[] interceptors]) --> new CacheInterceptor([CacheManager cacheManager],CacheErrorHandler errorHandler,AsyncCacheErrorHandler asyncCacheErrorHandler,ExecutorService ioExecutor,BeanContext beanContext)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1512)
	at io.micronaut.context.DefaultBeanContext.createAndRegisterSingleton(DefaultBeanContext.java:2163)
	at io.micronaut.context.DefaultBeanContext.getBeanForDefinition(DefaultBeanContext.java:1849)
	at io.micronaut.context.DefaultBeanContext.getBeanInternal(DefaultBeanContext.java:1829)
	at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:997)
	at io.micronaut.context.AbstractBeanDefinition.getBeanForConstructorArgument(AbstractBeanDefinition.java:982)
	at io.micronaut.cache.interceptor.$CacheInterceptorDefinition.build(Unknown Source)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1494)
	at io.micronaut.context.DefaultBeanContext.addCandidateToList(DefaultBeanContext.java:2495)
	at io.micronaut.context.DefaultBeanContext.getBeansOfTypeInternal(DefaultBeanContext.java:2395)
	at io.micronaut.context.DefaultBeanContext.getBeansOfType(DefaultBeanContext.java:854)
	at io.micronaut.context.AbstractBeanDefinition.lambda$getBeansOfTypeForConstructorArgument$10(AbstractBeanDefinition.java:1088)
	at io.micronaut.context.AbstractBeanDefinition.resolveBeanWithGenericsFromConstructorArgument(AbstractBeanDefinition.java:1697)
	at io.micronaut.context.AbstractBeanDefinition.getBeansOfTypeForConstructorArgument(AbstractBeanDefinition.java:1083)
	at io.micronaut.context.AbstractBeanDefinition.getBeanForConstructorArgument(AbstractBeanDefinition.java:959)
	at info.jerrinot.$$FooBeanDefinition$InterceptedDefinition.build(Unknown Source)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1494)
	at io.micronaut.context.DefaultBeanContext.createAndRegisterSingleton(DefaultBeanContext.java:2163)
	at io.micronaut.context.DefaultBeanContext.getBeanForDefinition(DefaultBeanContext.java:1849)
	at io.micronaut.context.DefaultBeanContext.getBeanInternal(DefaultBeanContext.java:1829)
	at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:997)
	at io.micronaut.context.AbstractBeanDefinition.getBeanForField(AbstractBeanDefinition.java:1346)
	at io.micronaut.context.AbstractBeanDefinition.getBeanForField(AbstractBeanDefinition.java:1148)
	at info.jerrinot.$HelloControllerDefinition.injectBean(Unknown Source)
	at info.jerrinot.$HelloControllerDefinition.build(Unknown Source)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1494)
	at io.micronaut.context.DefaultBeanContext.createAndRegisterSingleton(DefaultBeanContext.java:2163)
	at io.micronaut.context.DefaultBeanContext.getBeanForDefinition(DefaultBeanContext.java:1849)
	at io.micronaut.context.DefaultBeanContext.getBeanInternal(DefaultBeanContext.java:1829)
	at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:577)
	at io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.getTarget(DefaultBeanContext.java:2681)
	at io.micronaut.context.DefaultBeanContext$BeanExecutionHandle.invoke(DefaultBeanContext.java:2702)
	at io.micronaut.web.router.AbstractRouteMatch.execute(AbstractRouteMatch.java:236)
	at io.micronaut.web.router.RouteMatch.execute(RouteMatch.java:122)
	at io.micronaut.http.server.netty.RoutingInBoundHandler.lambda$buildResultEmitter$17(RoutingInBoundHandler.java:1360)
	at io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual(FlowableCreate.java:71)
	at io.reactivex.Flowable.subscribe(Flowable.java:14805)
	at io.reactivex.Flowable.subscribe(Flowable.java:14752)
	at io.micronaut.reactive.rxjava2.RxInstrumentedFlowable.subscribeActual(RxInstrumentedFlowable.java:68)
	at io.reactivex.Flowable.subscribe(Flowable.java:14805)
	at io.reactivex.internal.operators.flowable.FlowableMap.subscribeActual(FlowableMap.java:37)
	at io.reactivex.Flowable.subscribe(Flowable.java:14805)
	at io.reactivex.Flowable.subscribe(Flowable.java:14752)
	at io.micronaut.reactive.rxjava2.RxInstrumentedFlowable.subscribeActual(RxInstrumentedFlowable.java:68)
	at io.reactivex.Flowable.subscribe(Flowable.java:14805)
	at io.reactivex.internal.operators.flowable.FlowableSwitchIfEmpty.subscribeActual(FlowableSwitchIfEmpty.java:32)
	at io.reactivex.Flowable.subscribe(Flowable.java:14805)
	at io.reactivex.Flowable.subscribe(Flowable.java:14752)
	at io.micronaut.reactive.rxjava2.RxInstrumentedFlowable.subscribeActual(RxInstrumentedFlowable.java:68)
	at io.reactivex.Flowable.subscribe(Flowable.java:14805)
	at io.reactivex.Flowable.subscribe(Flowable.java:14755)
	at io.micronaut.http.context.ServerRequestTracingPublisher.lambda$subscribe$0(ServerRequestTracingPublisher.java:52)
	at io.micronaut.http.context.ServerRequestContext.with(ServerRequestContext.java:52)
	at io.micronaut.http.context.ServerRequestTracingPublisher.subscribe(ServerRequestTracingPublisher.java:52)
	at io.reactivex.internal.operators.flowable.FlowableFromPublisher.subscribeActual(FlowableFromPublisher.java:29)
	at io.reactivex.Flowable.subscribe(Flowable.java:14805)
	at io.reactivex.Flowable.subscribe(Flowable.java:14752)
	at io.micronaut.reactive.rxjava2.RxInstrumentedFlowable.subscribeActual(RxInstrumentedFlowable.java:68)
	at io.reactivex.Flowable.subscribe(Flowable.java:14805)
	at io.reactivex.Flowable.subscribe(Flowable.java:14752)
	at io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.run(FlowableSubscribeOn.java:82)
	at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$BooleanRunnable.run(ExecutorScheduler.java:288)
	at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker.run(ExecutorScheduler.java:253)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: io.micronaut.context.exceptions.ConfigurationException: Cannot registry duplicate cache [com.hazelcast.integration.micronaut.HazelcastSyncCache@668614db] with cache manager. Ensure configured cache names are unique. Cache already configured for name [notcounter]: io.micronaut.cache.DefaultSyncCache@6892cdd
	at io.micronaut.cache.DefaultCacheManager.<init>(DefaultCacheManager.java:53)
	at io.micronaut.cache.$DefaultCacheManagerDefinition.build(Unknown Source)
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1494)
	... 65 common frames omitted

When I set Micronaut BOM to 1.0.3 then it's working fine.
Here is the reproducer: https://github.com/jerrinot/micronaut-hz-reproducer
Just build it, run the Application class and open http://localhost:8080/hello

@jerrinot
Copy link
Author

it works fine with this change: jerrinot@53803f7

I guess the issue is when HazelcastCacheConfiguration extends the regular CacheConfiguration then micronaut creates both HazelcastSyncCache and DefaultSyncCache. The DefaultSyncCache is annotated with @EachBean(CacheConfiguration.class).

On a general note: Even if there wasnt this issue I dont understand why the HazelcastCacheConfig extends CacheConfig. What's the motivation? It does not use any of the properties.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant