Giter Club home page Giter Club logo

Comments (7)

objectiser avatar objectiser commented on June 27, 2024 1

I think it may be better to consolidate all spring (-web) related framework integration into a single repo. Otherwise there is potentially alot of fragmentation for essentially the same technology stack.

from java-spring-web.

pavolloffay avatar pavolloffay commented on June 27, 2024

I think we have these options:

  1. keep only opentracing-spring-web-handler-interceptor
  2. rename opentracing-spring-web-handler-interceptor to opentracing-spring-web
  3. introduce opentracing-spring-web-resttemplate

opentracing-spring-web-handler-interceptor uses spring-webmvc which internally uses spring-web.
Artifact with restTemplate instrumentation could use only spring-web which migh be better for some users which would like to use only rest template without the whole MVC stack.

from java-spring-web.

pavolloffay avatar pavolloffay commented on June 27, 2024

I think it may be better to consolidate all spring (-web) related framework integration into a single repo. Otherwise there is potentially alot of fragmentation for essentially the same technology stack.

@objectiser it's not about another repo but about a separate artifact for client instrumentation. Client instrumentation would depend only on spring-web which contains the most important interfaces not the whole MVC stack.

Server side instrumentation depends on spring-webmvc which depends on spring-web. The reason to introduce new artifact is for users who would like to use RestTemplate without spring MVC/Boot stack.

e.g. there is also RestTemplate for android https://github.com/spring-projects/spring-android but it seems it does not depend on core spring-web so this should be fine.

Currently a combination of client and rest template into one instrumentation artifact seems ok, however if they separate these to we will have to create new artifact for a client side instrumentation.

Some useful links:
RestTemplate spring-web: https://github.com/spring-projects/spring-framework/blob/master/spring-web/src/main/java/org/springframework/web/client/RestTemplate.java
ClientHttpRequestInterceptor spring-web: https://github.com/spring-projects/spring-framework/blob/master/spring-web/src/main/java/org/springframework/http/client/ClientHttpRequestInterceptor.java
HandlerInterceptorAdapter: spring-webmvc: https://github.com/spring-projects/spring-framework/blob/master/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/HandlerInterceptorAdapter.java

from java-spring-web.

objectiser avatar objectiser commented on June 27, 2024

@pavolloffay Sorry misunderstood - but same applies to artifact - best to have a single artifact, so would go with option 2.

Is there a particular reason autoconfigure is a separate artifact?

from java-spring-web.

pavolloffay avatar pavolloffay commented on June 27, 2024

Yes, autoconfigure does not work in plain MVC.

from java-spring-web.

pavolloffay avatar pavolloffay commented on June 27, 2024

I would like to keep instrumentations units as small as possible and then combine via something like autoconfigure. We might add more auto-configurations for even different frameworks - like in spring-cloud-sleuth.

from java-spring-web.

pavolloffay avatar pavolloffay commented on June 27, 2024

Closing, implemented in #11

from java-spring-web.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.