live reload broken with cxf extension
See original GitHub issueIn development mode, with live coding enabled, when I change something in source code and call any resource, server get broken with this error:
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: javax.enterprise.inject.spi.DeploymentException: Found 11 deployment problems: [1] Unsatisfied dependency for type java.lang.String and qualifiers [@Default] - java member: io.quarkiverse.cxf.CXFClientInfo#<init>() - declared on CLASS bean [types=[io.quarkiverse.cxf.CXFClientInfo, java.lang.Object], qualifiers=[@Default, @Any], target=io.quarkiverse.cxf.CXFClientInfo] The following beans match by type, but none have matching qualifiers: - Bean [class=java.lang.String, qualifiers=[@ConfigProperty, @Any]] [2] Unsatisfied dependency for type java.lang.String and qualifiers [@Default] - java member: io.quarkiverse.cxf.CXFClientInfo#<init>() - declared on CLASS bean [types=[io.quarkiverse.cxf.CXFClientInfo, java.lang.Object], qualifiers=[@Default, @Any], target=io.quarkiverse.cxf.CXFClientInfo] The following beans match by type, but none have matching qualifiers: - Bean [class=java.lang.String, qualifiers=[@ConfigProperty, @Any]] [3] Unsatisfied dependency for type java.lang.String and qualifiers [@Default] - java member: io.quarkiverse.cxf.CXFClientInfo#<init>() - declared on CLASS bean [types=[io.quarkiverse.cxf.CXFClientInfo, java.lang.Object], qualifiers=[@Default, @Any], target=io.quarkiverse.cxf.CXFClientInfo] The following beans match by type, but none have matching qualifiers: - Bean [class=java.lang.String, qualifiers=[@ConfigProperty, @Any]] [4] Unsatisfied dependency for type java.lang.String and qualifiers [@Default] - java member: io.quarkiverse.cxf.CXFClientInfo#<init>() - declared on CLASS bean [types=[io.quarkiverse.cxf.CXFClientInfo, java.lang.Object], qualifiers=[@Default, @Any], target=io.quarkiverse.cxf.CXFClientInfo] The following beans match by type, but none have matching qualifiers: - Bean [class=java.lang.String, qualifiers=[@ConfigProperty, @Any]] [5] Unsatisfied dependency for type java.lang.String and qualifiers [@Default] - java member: io.quarkiverse.cxf.CXFClientInfo#<init>() - declared on CLASS bean [types=[io.quarkiverse.cxf.CXFClientInfo, java.lang.Object], qualifiers=[@Default, @Any], target=io.quarkiverse.cxf.CXFClientInfo] The following beans match by type, but none have matching qualifiers: - Bean [class=java.lang.String, qualifiers=[@ConfigProperty, @Any]] [6] Unsatisfied dependency for type java.lang.String and qualifiers [@Default] - java member: io.quarkiverse.cxf.CXFClientInfo#<init>() - declared on CLASS bean [types=[io.quarkiverse.cxf.CXFClientInfo, java.lang.Object], qualifiers=[@Default, @Any], target=io.quarkiverse.cxf.CXFClientInfo] The following beans match by type, but none have matching qualifiers: - Bean [class=java.lang.String, qualifiers=[@ConfigProperty, @Any]] [7] Unsatisfied dependency for type java.lang.String and qualifiers [@Default] - java member: io.quarkiverse.cxf.CXFClientInfo#<init>() - declared on CLASS bean [types=[io.quarkiverse.cxf.CXFClientInfo, java.lang.Object], qualifiers=[@Default, @Any], target=io.quarkiverse.cxf.CXFClientInfo] The following beans match by type, but none have matching qualifiers: - Bean [class=java.lang.String, qualifiers=[@ConfigProperty, @Any]] [8] Unsatisfied dependency for type java.lang.String and qualifiers [@Default] - java member: io.quarkiverse.cxf.CXFClientInfo#<init>() - declared on CLASS bean [types=[io.quarkiverse.cxf.CXFClientInfo, java.lang.Object], qualifiers=[@Default, @Any], target=io.quarkiverse.cxf.CXFClientInfo] The following beans match by type, but none have matching qualifiers: - Bean [class=java.lang.String, qualifiers=[@ConfigProperty, @Any]] [9] Unsatisfied dependency for type java.lang.String and qualifiers [@Default] - java member: io.quarkiverse.cxf.CXFClientInfo#<init>() - declared on CLASS bean [types=[io.quarkiverse.cxf.CXFClientInfo, java.lang.Object], qualifiers=[@Default, @Any], target=io.quarkiverse.cxf.CXFClientInfo] The following beans match by type, but none have matching qualifiers: - Bean [class=java.lang.String, qualifiers=[@ConfigProperty, @Any]] [10] Unsatisfied dependency for type java.lang.String and qualifiers [@Default] - java member: io.quarkiverse.cxf.CXFClientInfo#<init>() - declared on CLASS bean [types=[io.quarkiverse.cxf.CXFClientInfo, java.lang.Object], qualifiers=[@Default, @Any], target=io.quarkiverse.cxf.CXFClientInfo] The following beans match by type, but none have matching qualifiers: - Bean [class=java.lang.String, qualifiers=[@ConfigProperty, @Any]] [11] Unsatisfied dependency for type java.util.List<java.lang.String> and qualifiers [@Default] - java member: io.quarkiverse.cxf.CXFClientInfo#<init>() - declared on CLASS bean [types=[io.quarkiverse.cxf.CXFClientInfo, java.lang.Object], qualifiers=[@Default, @Any], target=io.quarkiverse.cxf.CXFClientInfo] The following beans match by type, but none have matching qualifiers: - Bean [class=java.util.List, qualifiers=[@ConfigProperty, @Any]] at io.quarkus.arc.processor.BeanDeployment.processErrors(BeanDeployment.java:1029) at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:241) at io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:127) at io.quarkus.arc.deployment.ArcProcessor.validate(ArcProcessor.java:411) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:972) at io.quarkus.builder.BuildContext.run(BuildContext.java:277) at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2046) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1578) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1452) at java.base/java.lang.Thread.run(Thread.java:834) at org.jboss.threads.JBossThread.run(JBossThread.java:479) (....)
So you need to manually restart the server with mvn quarkus:dev
(Can reproduce the error on quarkus 1.10.5.Final, OpenJDK 11 + quarkiverse/cxf v. 0.2 and v.0.3) and same issue with :
- CXF 3.3.9
- $ java -version
- openjdk version “11.0.8” 2020-07-14
- OpenJDK Runtime Environment GraalVM CE 20.2.0 (build 11.0.8+10-jvmci-20.2-b03)
- OpenJDK 64-Bit Server VM GraalVM CE 20.2.0 (build 11.0.8+10-jvmci-20.2-b03, mixed mode, sharing)
- Quarkus 1.10.3.FINAL
- quarkiverse/cxf v0.3
this can be reproduce by cloning https://github.com/quarkiverse/quarkiverse-cxf mvn quarkus:dev then change a file in test and see reload faling.
the issue happend on client part (not server)
//processor
@BuildStep
@Record(ExecutionTime.RUNTIME_INIT)
public void startClient(CXFRecorder recorder, CxfConfig cxfConfig, List<CxfWebServiceBuildItem> cxfWebServices,
BuildProducer<SyntheticBeanBuildItem> synthetics) {
for (CxfWebServiceBuildItem cxfWebService : cxfWebServices) {
synthetics.produce(SyntheticBeanBuildItem.configure(CXFClientInfo.class).named(cxfWebService.getSei())
.supplier(recorder.cxfClientInfoSupplier(cxfWebService.getSei(),
cxfConfig,
cxfWebService.getSoapBinding(),
cxfWebService.getWsNamespace(),
cxfWebService.getWsName(),
cxfWebService.getClassNames()))
.unremovable()
.setRuntimeInit()
.done());
}
}
//recorder
// here we match config to jandex parsing data (annotation values)
public Supplier<CXFClientInfo> cxfClientInfoSupplier(String sei, CxfConfig cxfConfig,
String soapBinding, String wsNamespace, String wsName, List<String> classNames) {
LOGGER.warn("recorder CXFClientInfoSupplier");
return new Supplier<CXFClientInfo>() {
@Override
public CXFClientInfo get() {
// TODO suboptimal process. migrate to hashmap and get instead of loop
for (Map.Entry<String, CxfEndpointConfig> webServicesByPath : cxfConfig.endpoints.entrySet()) {
CxfEndpointConfig cxfEndPointConfig = webServicesByPath.getValue();
String relativePath = webServicesByPath.getKey();
if (!cxfEndPointConfig.serviceInterface.isPresent()) {
continue;
}
String cfgSei = cxfEndPointConfig.serviceInterface.get();
if (cfgSei.equals(sei)) {
String endpointAddress = cxfEndPointConfig.clientEndpointUrl.orElse("http://localhost:8080");
if (!relativePath.equals("/") && !relativePath.equals("")) {
endpointAddress = endpointAddress.endsWith("/")
? endpointAddress.substring(0, endpointAddress.length() - 1)
: endpointAddress;
endpointAddress = relativePath.startsWith("/") ? endpointAddress + relativePath
: endpointAddress + "/" + relativePath;
}
CXFClientInfo cfg = new CXFClientInfo(sei,
endpointAddress,
cxfEndPointConfig.wsdlPath.orElse(null),
soapBinding,
wsNamespace,
wsName,
cxfEndPointConfig.endpointNamespace.orElse(null),
cxfEndPointConfig.endpointName.orElse(null),
cxfEndPointConfig.username.orElse(null),
cxfEndPointConfig.password.orElse(null),
classNames);
if (cxfEndPointConfig.inInterceptors.isPresent()) {
cfg.getInInterceptors().addAll(cxfEndPointConfig.inInterceptors.get());
}
if (cxfEndPointConfig.outInterceptors.isPresent()) {
cfg.getOutInterceptors().addAll(cxfEndPointConfig.outInterceptors.get());
}
if (cxfEndPointConfig.outFaultInterceptors.isPresent()) {
cfg.getOutFaultInterceptors().addAll(cxfEndPointConfig.outFaultInterceptors.get());
}
if (cxfEndPointConfig.inFaultInterceptors.isPresent()) {
cfg.getInFaultInterceptors().addAll(cxfEndPointConfig.inFaultInterceptors.get());
}
if (cxfEndPointConfig.features.isPresent()) {
cfg.getFeatures().addAll(cxfEndPointConfig.features.get());
}
return cfg;
}
}
LOGGER.warn("the service interface config is not found for : " + sei);
return null;
}
};
}
this error is originaly reported with https://github.com/quarkiverse/quarkiverse-cxf/issues/94
Issue Analytics
- State:
- Created 3 years ago
- Comments:6 (6 by maintainers)
Top Results From Across the Web
Live reload not working in Spring boot devtools - Stack Overflow
I using chrome browser but am not using any live reload browser extension in chrome. I run the application with this Powershell command ......
Read more >Live reload broken - support - HUGO
I can't figure out why. I'm on. Hugo Static Site Generator v0.57.2/extended darwin/amd64 BuildDate: unknown. These are the messages I ...
Read more >Webpack Live Reloading broke when I moved from VS 2019 ...
If that error occurs, Live Reload won't work. On occasions when the error does not occur, Live Reload does work. There's something about...
Read more >Rohit Sharma's latest selfie ahead of fifth Test vs England sets ...
More details here - NEWS - Mayank Agarwal added to India's Test squad as a cover for captain Rohit Sharma, who tested positive...
Read more >OnePlus Nord Buds review the cheap wireless earbuds to ...
The 12.4mm titanium drives live up to OnePlus's suggestion that they can deliver deep ... Please refresh the page and try again. window....
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
it is fixed since long time so let s close this one
You should always run the dev mode with
quarkus:dev -DnoDeps
in a multi-module Maven project, see https://quarkus.io/guides/writing-extensions#multi-module-maven-projects-and-the-development-mode. However, for some reason it did not help in this particular case. I’m not sure why.Furthermore, the following annotations are needless and should be removed: https://github.com/quarkiverse/quarkus-cxf/blob/09eb7e235f7d741632df468359bfdb78dfa581f3/runtime/src/main/java/io/quarkiverse/cxf/CXFClientInfo.java#L12-L13