Hi Jon, Yep, I agree!
It looks like the conclusion from this discussion is that we’ll leave MP in TomEE as is . What we still need to figure out is whether we want to remove an existing flavor (like MicroProfile or Web) and/or introduce a new one (something along the lines of Plus without MP) but that might be a new discussion. An option for TomEE Plus/Plume would also be to ship with this system.property: otel.sdk.disabled=true Gruß Richard > Am 22.04.2025 um 16:15 schrieb Jonathan Gallimore > <jonathan.gallim...@gmail.com>: > > Thanks for the info - I prefer understanding the root issue. It doesn't > seem "friendly" of the JDBC driver to do that, but I still don't think that > we should rip MicroProfile out of TomEE to "fix" that behavior. I'd prefer > to see what other options are available. > > Jon > > On Tue, Apr 22, 2025 at 3:01 PM Markus Jung <ju...@apache.org> wrote: > >> Hey Jon, >> >> >> for example, this is what happens when you use the MySQL JDBC connector >> in TomEE Microprofile without any opentelemetry configuration: >> >> 22-Apr-2025 06:19:05.253 SEVERE [main] >> io.opentelemetry.api.GlobalOpenTelemetry.maybeAutoConfigureAndSetGlobal >> Error automatically configuring OpenTelemetry SDK. OpenTelemetry will >> not be enabled. >> io.opentelemetry.sdk.autoconfigure.spi.ConfigurationException: OTLP >> gRPC Metrics Exporter enabled but opentelemetry-exporter-otlp not found >> on classpath. Make sure to add it as a dependency to enable this feature. >> at >> >> io.opentelemetry.sdk.autoconfigure.ClasspathUtil.checkClassExists(ClasspathUtil.java:17) >> at >> >> io.opentelemetry.sdk.autoconfigure.MetricExporterConfiguration.configureOtlpMetrics(MetricExporterConfiguration.java:114) >> at >> >> io.opentelemetry.sdk.autoconfigure.MetricExporterConfiguration.configureExporter(MetricExporterConfiguration.java:47) >> at >> >> io.opentelemetry.sdk.autoconfigure.MeterProviderConfiguration.lambda$configureMetricReaders$0(MeterProviderConfiguration.java:70) >> at >> java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) >> at java.base/java.util.Collections$2.tryAdvance(Unknown Source) >> at java.base/java.util.Collections$2.forEachRemaining(Unknown >> Source) >> at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown >> Source) >> at >> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) >> at >> java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown >> Source) >> at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown >> Source) >> at java.base/java.util.stream.ReferencePipeline.collect(Unknown >> Source) >> at >> >> io.opentelemetry.sdk.autoconfigure.MeterProviderConfiguration.configureMetricReaders(MeterProviderConfiguration.java:72) >> at >> >> io.opentelemetry.sdk.autoconfigure.MeterProviderConfiguration.configureMeterProvider(MeterProviderConfiguration.java:46) >> at >> >> io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdkBuilder.build(AutoConfiguredOpenTelemetrySdkBuilder.java:341) >> at >> >> io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk.initialize(AutoConfiguredOpenTelemetrySdk.java:31) >> at >> java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown >> Source) >> at java.base/java.lang.reflect.Method.invoke(Unknown Source) >> at >> >> io.opentelemetry.api.GlobalOpenTelemetry.maybeAutoConfigureAndSetGlobal(GlobalOpenTelemetry.java:224) >> at >> io.opentelemetry.api.GlobalOpenTelemetry.get(GlobalOpenTelemetry.java:72) >> at >> com.mysql.cj.otel.OpenTelemetryHandler.<init>(OpenTelemetryHandler.java:67) >> at com.mysql.cj.NativeSession.<init>(NativeSession.java:124) >> >> >> Thanks >> >> Markus >> >> On 22.04.25 15:50, Jonathan Gallimore wrote: >>> I would not be in favor of removing MicroProfile from TomEE - it provided >>> useful features and we've put effort into integrating them over the >> years. >>> >>> What are the JDBC drivers that actively scan for OTEL libraries? >>> >>> Jon >>> >>> On Tue, Apr 22, 2025 at 1:57 PM Richard Zowalla <r...@apache.org> wrote: >>> >>>> Hi JL, >>>> >>>> Thanks for your reply :) >>>> >>>> The challenge we're facing is that some third-party libraries—such as >>>> certain JDBC drivers—actively scan for OTEL libraries and automatically >>>> enable related features based on their presence. This scanning process >>>> happens independently of TomEE. >>>> >>>> Are you considering some kind of classloader-level workaround that would >>>> make the visibility of OTEL classes or JARs configurable, perhaps via a >>>> flag or similar mechanism? >>>> >>>> I agree, that we can shift the discussion towards distribution (perhaps >>>> adding a new one without MicroProfile + transient libs) to replace the >> MP >>>> flavour. The only diff between MP and Plus (atm) is the system property >> to >>>> disable/enable MP integration. >>>> >>>> Gruß >>>> >>>> Richard >>>> >>>>> Am 22.04.2025 um 14:40 schrieb Jean-Louis Monteiro < >>>> jlmonte...@tomitribe.com>: >>>>> Hi Richard, >>>>> >>>>> Sorry for the late reply. >>>>> >>>>> In terms of distribution only, I somehow agree that the MicroProfile >>>> flavor >>>>> isn't probably too useful. I'm not sure about the webprofile. The most >>>> used >>>>> being PLUME or PLUS. So, getting rid of the microprofile flavor seems >>>>> probably better to discuss. >>>>> >>>>> Microprofile itself should still be part of TomEE Plus/Plume. If we >> want >>>> to >>>>> add an additional flag to disable the scanning for the few milliseconds >>>>> saved, I'm ok, but I'd still keep a microprofile integration in TomEE >> by >>>>> default. >>>>> >>>>> -- >>>>> Jean-Louis Monteiro >>>>> http://twitter.com/jlouismonteiro >>>>> http://www.tomitribe.com >>>>> >>>>> >>>>> On Thu, Apr 17, 2025 at 12:59 PM Richard Zowalla <r...@apache.org> >>>> wrote: >>>>>> Hi all, >>>>>> >>>>>> Thanks for the active and constructive discussion! >>>>>> >>>>>> To summarize, here are the key considerations raised so far: >>>>>> >>>>>> Balancing leaner distributions against offering full feature sets >>>>>> out-of-the-box related to MicroProfile and EclipseLink / Mojarra vs >>>> MyFaces >>>>>> Technical concerns around startup time, image size, and library >>>>>> compatibility (MyFaces vs Mojarra; OpenJPA vs EclipseLink / Hibernate) >>>>>> >>>>>> Possibility of rebranding or restructuring distributions for greater >>>>>> clarity and flexibility >>>>>> >>>>>> EE11 is approaching, which may already introduce breaking changes — we >>>>>> should be mindful of the impact of multiple disruptive changes across >>>>>> versions like removing MP support in 10.x or 10.1.x >>>>>> >>>>>> >>>>>> >>>>>> A compromise would be to introduce a new, additional distribution >>>> starting >>>>>> with TomEE 10.1.x that excludes MicroProfile libraries by default. >>>>>> >>>>>> This would allow users who prefer a leaner runtime to benefit >>>> immediately, >>>>>> while keeping existing distributions unchanged for those relying on MP >>>>>> support. >>>>>> >>>>>> It would also give us valuable community feedback ahead of any broader >>>>>> decisions for TomEE 11 onwards (like streamlining the distributions as >>>>>> Thomas suggested). >>>>>> >>>>>> WDYT? >>>>>> >>>>>> Gruß >>>>>> >>>>>> Richard >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> Am 15.04.2025 um 10:17 schrieb Richard Zowalla <r...@apache.org>: >>>>>>> >>>>>>> Short clarifications: >>>>>>> >>>>>>> - This is _not_ a vote. It is a discussion thread to get opinions / >>>>>> different views :-) >>>>>>> - I am not the chair of TomEE ;-) >>>>>>> >>>>>>> On a technical note: >>>>>>> >>>>>>> - We would still deliver TomEE MicroProfile with all its features. >>>>>>> >>>>>>>> Am 15.04.2025 um 10:10 schrieb Alex The Rocker < >> alex.m3...@gmail.com >>>>> : >>>>>>>> Hello Richard, >>>>>>>> >>>>>>>> [-1] for removing Microprofile from OOB TomEE 10.* >>>>>>>> >>>>>>>> Indeed: >>>>>>>> 1. From a semantic versionning standpoint, it is not possible to >>>>>>>> introduce a breaking change, so the earliest possible release to do >>>>>>>> such major change would be TomEE 11 >>>>>>>> 2. Competing applications servers (Payara, OpenLiberty, JBoss,...) >>>>>>>> seem to have OOTB MicroProfile support >>>>>>>> 3. MicroProfile is often quoted as "the incubator for potential new >>>>>>>> specifications [of Jakarta EE...]" (quoted from >>>>>>>> >>>> >> https://blog.sebastian-daschner.com/entries/microprofiles-role-jakarta-ee >>>>>> ). >>>>>>>> This last point is the key reason why I disagree with removing >>>>>>>> MicroProfile from TomEE: enthousiatics developers willing to take >>>>>>>> advantage of those ahead-of-time features brought by MicroProfile >> will >>>>>>>> be less eager to use TomEE if MicroProfile isn't anymore part of it. >>>>>>>> They most likely they'll fall into other application servers' hands. >>>>>>>> >>>>>>>> That said, I welcome your initiative to cast such vote : your are >>>>>>>> playing your role as TomEE's PMC chairman, which is to inspire the >>>>>>>> future of this great community, with the democratic way to exchange >> on >>>>>>>> ideas. I will love seeying counter-arguments to my reply, and I'm >> sure >>>>>>>> that the more answers this proposal will get (whatever the final >>>>>>>> outcome will be), the healtiest TomEE community will be! >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Alex >>>>>>>> >>>>>>>> Le lun. 14 avr. 2025 à 10:07, Richard Zowalla <r...@apache.org> a >>>>>> écrit : >>>>>>>>> Hi all, >>>>>>>>> >>>>>>>>> Starting with TomEE 10.0.x, we've included MicroProfile 6.0 along >>>> with >>>>>> all the necessary OpenTelemetry classes and libraries. >>>>>>>>> From what I've seen, many libraries—such as JDBC >>>> drivers—automatically >>>>>> enable OTEL features when the relevant libraries are present on the >>>>>> classpath, regardless of any MicroProfile configuration settings. >>>>>>>>> This puts us in a tricky position: we’re often forced to stick with >>>>>> older library versions because upgrading from MP 6.0 to 6.1 tends to >>>>>> introduce breaking changes. Moreover, MP 7 can only be supported once >>>> CXF >>>>>> provides a compatible client, which is currently being targeted for >>>> Jakarta >>>>>> EE 11. >>>>>>>>> Given this, I’d like to propose dropping the (de-activated) >>>>>> MicroProfile support from the Web, Plus, and Plume >>>> distributions—meaning we >>>>>> would no longer include the MP-related JARs by default. Instead, we >>>> could >>>>>> offer an optional script-based approach (e.g., via a zip/tar.gz >> package) >>>>>> that users can apply to add the MicroProfile flavor to Web/Plus/Plume >> as >>>>>> needed. >>>>>>>>> Since this would be a breaking change, we could aim to roll it out >>>>>> starting with version 10.1.x. >>>>>>>>> WDYT? Any thoughts? >>>>>>>>> >>>>>>>>> Gruß >>>>>>>>> Richard >>>>>> >>>> >>