JesperBerggren opened a new issue, #5962:
URL: https://github.com/apache/camel-quarkus/issues/5962
### Bug description
The extension _camel-quarkus-spring-redis_ doesn't seem to autowire
_RedisTemplate_ which is needed for _RedisIdempotentRepository_.
I've got this dependency:
```
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-spring-redis</artifactId>
</dependency>
```
And in my code I have something like this:
```
@ApplicationScoped
public class CommonRoutes extends RouteBuilder {
public static final int SUCCESS = 100;
public static final int ERROR = 200;
public static final int EXHAUSTED = 300;
@ConfigProperty(name = "url")
private String url;
@ConfigProperty(name = "max.retry.count")
private String maxRetryCnt;
@ConfigProperty(name = "ordning")
private String ordning;
@Inject
private CamelContext context;
@Inject
private RedisTemplate redisTemplate;
@Override
public void configure() throws Exception {
// Redis idempotent repository
RedisIdempotentRepository redisIdempotentRepository = new
RedisIdempotentRepository(redisTemplate, "NGDP.KvitteringOpsamler");
context.getRegistry().bind("redisIdempotentRepo",
redisIdempotentRepository);
...
```
But when I run my code I get these exceptions:
```
java.lang.RuntimeException:
java.lang.RuntimeException: io.quarkus.builder.BuildException: Build
failure: Build failed due to errors
[error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate
threw an exception: jakarta.enterprise.inject.spi.DeploymentException: Found 4
deployment problems:
[1] Unsatisfied dependency for type
org.springframework.data.redis.core.RedisTemplate and qualifiers [@Default]
- injection target:
dk.atp.integration.dp.kvitteringopsamler.FileRouter#redisTemplate
- declared on CLASS bean
[types=[org.apache.camel.builder.BuilderSupport, org.apache.camel.Ordered,
org.apache.camel.CamelContextAware, org.apache.camel.spi.ResourceAware,
org.apache.camel.spi.HasCamelContext,
dk.atp.integration.dp.kvitteringopsamler.FileRouter,
org.apache.camel.RoutesBuilder, java.lang.Object,
org.apache.camel.builder.ModelRoutesBuilder,
org.apache.camel.builder.RouteBuilder], qualifiers=[@Default, @Any],
target=dk.atp.integration.dp.kvitteringopsamler.FileRouter]
[2] Unsatisfied dependency for type
org.springframework.data.redis.core.RedisTemplate and qualifiers [@Default]
- injection target:
dk.atp.integration.dp.kvitteringopsamler.MailRouter#redisTemplate
- declared on CLASS bean
[types=[org.apache.camel.builder.BuilderSupport, org.apache.camel.Ordered,
org.apache.camel.CamelContextAware, org.apache.camel.spi.ResourceAware,
dk.atp.integration.dp.kvitteringopsamler.MailRouter,
org.apache.camel.spi.HasCamelContext, org.apache.camel.RoutesBuilder,
java.lang.Object, org.apache.camel.builder.ModelRoutesBuilder,
org.apache.camel.builder.RouteBuilder], qualifiers=[@Default, @Any],
target=dk.atp.integration.dp.kvitteringopsamler.MailRouter]
[3] Unsatisfied dependency for type
org.springframework.data.redis.core.RedisTemplate and qualifiers [@Default]
- injection target:
dk.atp.integration.dp.kvitteringopsamler.CommonRoutes#redisTemplate
- declared on CLASS bean
[types=[org.apache.camel.builder.BuilderSupport, org.apache.camel.Ordered,
org.apache.camel.CamelContextAware, org.apache.camel.spi.ResourceAware,
org.apache.camel.spi.HasCamelContext, org.apache.camel.RoutesBuilder,
java.lang.Object, dk.atp.integration.dp.kvitteringopsamler.CommonRoutes,
org.apache.camel.builder.ModelRoutesBuilder,
org.apache.camel.builder.RouteBuilder], qualifiers=[@Default, @Any],
target=dk.atp.integration.dp.kvitteringopsamler.CommonRoutes]
[4] Unsatisfied dependency for type
org.springframework.data.redis.core.RedisTemplate and qualifiers [@Default]
- injection target:
dk.atp.integration.dp.kvitteringopsamler.DatabaseRouter#redisTemplate
- declared on CLASS bean
[types=[org.apache.camel.builder.BuilderSupport, org.apache.camel.Ordered,
org.apache.camel.CamelContextAware,
dk.atp.integration.dp.kvitteringopsamler.DatabaseRouter,
org.apache.camel.spi.ResourceAware, org.apache.camel.spi.HasCamelContext,
org.apache.camel.RoutesBuilder, java.lang.Object,
org.apache.camel.builder.ModelRoutesBuilder,
org.apache.camel.builder.RouteBuilder], qualifiers=[@Default, @Any],
target=dk.atp.integration.dp.kvitteringopsamler.DatabaseRouter]
at
io.quarkus.arc.processor.BeanDeployment.processErrors(BeanDeployment.java:1516)
at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:320)
at
io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:160)
at
io.quarkus.arc.deployment.ArcProcessor.validate(ArcProcessor.java:488)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at
io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:849)
at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at
org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
at
org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
at
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
at java.base/java.lang.Thread.run(Thread.java:833)
at org.jboss.threads.JBossThread.run(JBossThread.java:483)
Suppressed: jakarta.enterprise.inject.UnsatisfiedResolutionException:
Unsatisfied dependency for type
org.springframework.data.redis.core.RedisTemplate and qualifiers [@Default]
- injection target:
dk.atp.integration.dp.kvitteringopsamler.FileRouter#redisTemplate
- declared on CLASS bean
[types=[org.apache.camel.builder.BuilderSupport, org.apache.camel.Ordered,
org.apache.camel.CamelContextAware, org.apache.camel.spi.ResourceAware,
org.apache.camel.spi.HasCamelContext,
dk.atp.integration.dp.kvitteringopsamler.FileRouter,
org.apache.camel.RoutesBuilder, java.lang.Object,
org.apache.camel.builder.ModelRoutesBuilder,
org.apache.camel.builder.RouteBuilder], qualifiers=[@Default, @Any],
target=dk.atp.integration.dp.kvitteringopsamler.FileRouter]
at
io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:519)
at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:638)
at
io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:308)
... 14 more
Suppressed: jakarta.enterprise.inject.UnsatisfiedResolutionException:
Unsatisfied dependency for type
org.springframework.data.redis.core.RedisTemplate and qualifiers [@Default]
- injection target:
dk.atp.integration.dp.kvitteringopsamler.MailRouter#redisTemplate
- declared on CLASS bean
[types=[org.apache.camel.builder.BuilderSupport, org.apache.camel.Ordered,
org.apache.camel.CamelContextAware, org.apache.camel.spi.ResourceAware,
dk.atp.integration.dp.kvitteringopsamler.MailRouter,
org.apache.camel.spi.HasCamelContext, org.apache.camel.RoutesBuilder,
java.lang.Object, org.apache.camel.builder.ModelRoutesBuilder,
org.apache.camel.builder.RouteBuilder], qualifiers=[@Default, @Any],
target=dk.atp.integration.dp.kvitteringopsamler.MailRouter]
at
io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:519)
at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:638)
at
io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:308)
... 14 more
Suppressed: jakarta.enterprise.inject.UnsatisfiedResolutionException:
Unsatisfied dependency for type
org.springframework.data.redis.core.RedisTemplate and qualifiers [@Default]
- injection target:
dk.atp.integration.dp.kvitteringopsamler.CommonRoutes#redisTemplate
- declared on CLASS bean
[types=[org.apache.camel.builder.BuilderSupport, org.apache.camel.Ordered,
org.apache.camel.CamelContextAware, org.apache.camel.spi.ResourceAware,
org.apache.camel.spi.HasCamelContext, org.apache.camel.RoutesBuilder,
java.lang.Object, dk.atp.integration.dp.kvitteringopsamler.CommonRoutes,
org.apache.camel.builder.ModelRoutesBuilder,
org.apache.camel.builder.RouteBuilder], qualifiers=[@Default, @Any],
target=dk.atp.integration.dp.kvitteringopsamler.CommonRoutes]
at
io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:519)
at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:638)
at
io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:308)
... 14 more
Suppressed: jakarta.enterprise.inject.UnsatisfiedResolutionException:
Unsatisfied dependency for type
org.springframework.data.redis.core.RedisTemplate and qualifiers [@Default]
- injection target:
dk.atp.integration.dp.kvitteringopsamler.DatabaseRouter#redisTemplate
- declared on CLASS bean
[types=[org.apache.camel.builder.BuilderSupport, org.apache.camel.Ordered,
org.apache.camel.CamelContextAware,
dk.atp.integration.dp.kvitteringopsamler.DatabaseRouter,
org.apache.camel.spi.ResourceAware, org.apache.camel.spi.HasCamelContext,
org.apache.camel.RoutesBuilder, java.lang.Object,
org.apache.camel.builder.ModelRoutesBuilder,
org.apache.camel.builder.RouteBuilder], qualifiers=[@Default, @Any],
target=dk.atp.integration.dp.kvitteringopsamler.DatabaseRouter]
at
io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:519)
at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:638)
at
io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:308)
... 14 more
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]