[
https://issues.jboss.org/browse/WFLY-10876?page=com.atlassian.jira.plugin...
]
Juraci Paixão Kröhling edited comment on WFLY-10876 at 8/16/18 12:10 PM:
-------------------------------------------------------------------------
I did a draft that implements some of the ideas from here, but I got the CDI problem back.
I'll then need some help from someone knowledgeable in JBoss Modules and/or Weld. Who
would you recommend contacting?
I get the following exception:
{code}
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied
dependencies for type Tracer with qualifiers @Default
at injection point [UnbackedAnnotatedField] @Inject private
io.smallrye.opentracing.SmallRyeTracingCDIInterceptor.tracer
at
io.smallrye.opentracing.SmallRyeTracingCDIInterceptor.tracer(SmallRyeTracingCDIInterceptor.java:0)
{code}
Simplifying things a bit, this is how the dependency looks like in terms of JBoss
Modules:
{code}
org.wildfly.extension.microprofile.opentracing depends on:
-- io.smallrye.opentracing (contains SmallRyeTracingCDIInterceptor)
-- org.wildfly.microprofile.opentracing-smallrye (with @Produces for the Tracer)
---- also depends on io.smallrye.opentracing, because of the JAX-RS
{code}
org.wildfly.microprofile.opentracing-smallrye is added to the deployment via a
DeploymentUnitProcessor (called TracingDependencyProcessor)
I also tried to add "io.smallrye.opentracing" to the deployment as well, but
with no luck.
Here's a branch with a draft for this JIRA:
https://github.com/jpkrohling/wildfly/tree/WFLY-10876-Align-modules-with-...
was (Author: juraci.costa):
I did a draft that implements some of the ideas from here, but I got the CDI problem back.
I'll then need some help from someone knowledgeable in JBoss Modules and/or Weld. Who
would you recommend contacting?
I get the following exception:
{code}
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied
dependencies for type Tracer with qualifiers @Default
at injection point [UnbackedAnnotatedField] @Inject private
io.smallrye.opentracing.SmallRyeTracingCDIInterceptor.tracer
at
io.smallrye.opentracing.SmallRyeTracingCDIInterceptor.tracer(SmallRyeTracingCDIInterceptor.java:0)
{code}
Simplifying things a bit, this is how the dependency looks like in terms of JBoss
Modules:
{code}
org.wildfly.extension.microprofile.opentracing depends on:
-- io.smallrye.opentracing (contains SmallRyeTracingCDIInterceptor)
-- org.wildfly.microprofile.opentracing-smallrye (with @Produces for the Tracer)
-- also depends on io.smallrye.opentracing, because of the JAX-RS
{code}
org.wildfly.microprofile.opentracing-smallrye is added to the deployment via a
DeploymentUnitProcessor (called TracingDependencyProcessor)
I also tried to add "io.smallrye.opentracing" to the deployment as well, but
with no luck.
Here's a branch with a draft for this JIRA:
https://github.com/jpkrohling/wildfly/tree/WFLY-10876-Align-modules-with-...
Align jar file provided for MP OpenTracing into right modules
-------------------------------------------------------------
Key: WFLY-10876
URL:
https://issues.jboss.org/browse/WFLY-10876
Project: WildFly
Issue Type: Bug
Components: MP OpenTracing
Affects Versions: 14.0.0.Beta2
Reporter: Jan Stourac
Assignee: Juraci Paixão Kröhling
Priority: Critical
With recent addition of MicroProfile OpenTracing implementation we currently have
following set of jar files that are in the build to provide various MicroProfile
features:
{code}
$ find modules | grep smallrye | grep jar$ | xargs ls -hl
-rw-rw-r--. 1 jstourac jstourac 39K Aug 16 15:13
modules/system/layers/base/io/smallrye/config/main/smallrye-config-1.3.3.jar
-rw-rw-r--. 1 jstourac jstourac 8.9K Aug 16 15:13
modules/system/layers/base/io/smallrye/health/main/smallrye-health-1.0.2.jar
-rw-rw-r--. 1 jstourac jstourac 38K Aug 16 15:13
modules/system/layers/base/org/wildfly/extension/microprofile/config-smallrye/main/wildfly-microprofile-config-smallrye-14.0.0.CR1-SNAPSHOT.jar
-rw-rw-r--. 1 jstourac jstourac 27K Aug 16 15:13
modules/system/layers/base/org/wildfly/extension/microprofile/health-smallrye/main/wildfly-microprofile-health-smallrye-14.0.0.CR1-SNAPSHOT.jar
-rw-rw-r--. 1 jstourac jstourac 228K Aug 16 15:13
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/gson-2.8.2.jar
-rw-rw-r--. 1 jstourac jstourac 123K Aug 16 15:13
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/jaeger-core-0.30.4.jar
-rw-rw-r--. 1 jstourac jstourac 2.8M Aug 16 15:13
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/jaeger-thrift-0.30.4.jar
-rw-rw-r--. 1 jstourac jstourac 14K Aug 16 15:13
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-api-0.31.0.jar
-rw-rw-r--. 1 jstourac jstourac 7.5K Aug 16 15:13
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-concurrent-0.1.0.jar
-rw-rw-r--. 1 jstourac jstourac 41K Aug 16 15:13
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-jaxrs2-0.1.6.jar
-rw-rw-r--. 1 jstourac jstourac 11K Aug 16 15:13
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-noop-0.31.0.jar
-rw-rw-r--. 1 jstourac jstourac 7.4K Aug 16 15:13
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-tracerresolver-0.1.5.jar
-rw-rw-r--. 1 jstourac jstourac 7.9K Aug 16 15:13
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-util-0.31.0.jar
-rw-rw-r--. 1 jstourac jstourac 13K Aug 16 15:13
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-web-servlet-filter-0.1.0.jar
-rw-rw-r--. 1 jstourac jstourac 5.4K Aug 16 15:13
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/smallrye-opentracing-1.1.1.jar
-rw-rw-r--. 1 jstourac jstourac 11K Aug 16 15:13
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/wildfly-microprofile-opentracing-smallrye-14.0.0.CR1-SNAPSHOT.jar
{code}
It looks like the opentracing-smallrye module could be split up into a few separate
modules. There at least two motivations:
# particular implementation into its own module separate from the e.g. microprofile
specification
# because of the way how current patching mechanism works in WildFly, if we leave current
{{opentracing-smallrye}} module as is, in case of a one-off patch it would mean to replace
all files in the module - currently 3.3MB:
{code}
$ du -h modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/
3.3M modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/
{code}
My proposal how to align the jar files is following:
# jaeger specific files should go into separate jaeger module
# {{wildfly-microprofile-opentracing-smallrye-14.0.0.CR1-SNAPSHOT.jar}} should be moved
to new
{{modules/system/layers/base/org/wildfly/extension/microprofile/opentracing-smallrye}}
module so it matches what is done for {{health-smallrye}} and {{config-smallrye}} in
extension subdir
# {{smallrye-opentracing-1.1.1.jar}} should be moved to {{base/io}} as is done for
{{config}} and {{health}} -
{{modules/system/layers/base/io/smallrye/opentracing/main/smallrye-opentracing-1.1.1.jar}}
# what about that {{gson-2.8.2.jar}} dependency? Shall it be moved to some more generic
place?
This would give us following structure:
{code}
modules/system/layers/base/io/smallrye/config/main/smallrye-config-1.3.3.jar
modules/system/layers/base/io/smallrye/health/main/smallrye-health-1.0.2.jar
modules/system/layers/base/io/smallrye/opentracing/main/smallrye-opentracing-1.1.1.jar
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-api-0.31.0.jar
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-jaxrs2-0.1.6.jar
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-concurrent-0.1.0.jar
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-web-servlet-filter-0.1.0.jar
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-noop-0.31.0.jar
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-tracerresolver-0.1.5.jar
modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/opentracing-util-0.31.0.jar
modules/system/layers/base/org/wildfly/extension/microprofile/health-smallrye/main/wildfly-microprofile-health-smallrye-14.0.0.CR1-SNAPSHOT.jar
modules/system/layers/base/org/wildfly/extension/microprofile/config-smallrye/main/wildfly-microprofile-config-smallrye-14.0.0.CR1-SNAPSHOT.jar
modules/system/layers/base/org/wildfly/extension/microprofile/opentracing-smallrye/main/wildfly-microprofile-opentracing-smallrye-14.0.0.CR1-SNAPSHOT.jar
---- I have no idea how this module for jaeger should be named...
modules/system/layers/base/org/wildfly/microprofile/jaeger/opentracing-smallrye/main/jaeger-thrift-0.30.4.jar
modules/system/layers/base/org/wildfly/microprofile/jaeger/opentracing-smallrye/main/jaeger-core-0.30.4.jar
---- I have no idea how this module for gson should be named...
modules/system/layers/base/org/wildfly/gson/main/gson-2.8.2.jar
{code}
One additional piece for consideration - maybe we should also split up jar files that are
just the microprofile-opentracing specification (api at least I guess) apart from the
others in the
{{modules/system/layers/base/org/wildfly/microprofile/opentracing-smallrye/main/}}
What do you think?
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)