[jboss-jira] [JBoss JIRA] (WFLY-10847) Multiple service modules in single EAR use same tracer instance

Brad Maxwell (JIRA) issues at jboss.org
Thu Aug 16 14:30:00 EDT 2018


    [ https://issues.jboss.org/browse/WFLY-10847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13620240#comment-13620240 ] 

Brad Maxwell edited comment on WFLY-10847 at 8/16/18 2:29 PM:
--------------------------------------------------------------

Typically in JavaEE the spec talks about applications as being an ear or a war.  Practically though customers deploy ejb.jars, wars, ears, rars, etc.  And ear is a packaging mechanism to package up multiple sub deployments.

An ear could be considered a single application, but that does not mean it has a single entry point, it could be exposing many services such as EJBs that can be invoked inVM or remotely as well as it could be exposing web applications / JAXRS/ JAXWS web services.  I looked around and am not clear on what it means to have 1 tracer, but looking at OpenTrace it looks like showing workflow or such? I think since an ear could be considered 1 application, it might also be used to hold multiple applications that have many services and just used to share some libraries.

The very simple typical example would be: 
application.ear
 - web-app.war
 - backend-ejb.jar

browser -> http://host:8080/web-app/ -> Servlet1 in web-app.war -> EJB1 in backend-ejb
browser -> http://host:8080/web-app/ -> Servlet2 in web-app.war -> EJB2 in backend-ejb -> EJB3 in backend-ejb

But most customers have more than a single war/ejb such as: 
application.ear
 - web-app.war
 - web-app2.war
  ...
 - backend-service-1-ejb.jar
 - backend-service-2-ejb.jar
 ...

But then services inside of application.ear might also call services in application2.ear deployed on the same server.
application2.ear
 - backend-service-3-ejb.jar
 - backend-service-4-ejb.jar

More complex use cases would involve multiple servers where services in an application.ear might call services on the same JVM but then call remote services on another JVM. 

So if we are showing the path / workflow of an ear, I can see users wanting to see inside of what happens in the ear.


was (Author: bmaxwell):
Typically in JavaEE the spec talks about applications as being an ear or a war.  Practically though customers deploy ejb.jars, wars, ears, rars, etc.  And ear is a packaging mechanism to package up multiple sub deployments.

An ear could be considered a single application, but that does not mean it has a single entry point, it could be exposing many services such as EJBs that can be invoked inVM or remotely as well as it could be exposing web applications / JAXRS/ JAXWS web services.  I looked around and am not clear on what it means to have 1 tracer, but looking at OpenTrace it looks like showing workflow or such? I think since an ear could be considered 1 application, it might also be used to hold multiple applications that have many services and just used to share some libraries.

The very simple typical example would be: 
application.ear
 - web-app.war
 - backend-ejb.jar

browser -> http://host:8080/web-app/ -> Servlet1 in web-app.war -> EJB1 in backend-ejb
browser -> http://host:8080/web-app/ -> Servlet2 in web-app.war -> EJB2 in backend-ejb -> EJB3 in backend-ejb

But most customers have more than a single war/ejb such as: 
application.ear
 - web-app.war
 - web-app2.war
  ...
 - backend-service-1-ejb.jar
 - backend-service-2-ejb.jar
 ...

But then services inside of application.ear might also call services in application2.ear deployed on the same server.
application2.ear
 - backend-service-3-ejb.jar
 - backend-service-4-ejb.jar

More complex use cases would involve multiple servers where services in an application.ear might call services on the same JVM but then call remote services on another JVM. 

> Multiple service modules in single EAR use same tracer instance
> ---------------------------------------------------------------
>
>                 Key: WFLY-10847
>                 URL: https://issues.jboss.org/browse/WFLY-10847
>             Project: WildFly
>          Issue Type: Bug
>          Components: MP OpenTracing
>            Reporter: Michal Jurc
>            Assignee: Juraci Paixão Kröhling
>            Priority: Blocker
>             Fix For: 14.0.0.CR1
>
>
> When deploying an EAR with two stand-alone JAX-RS services in stand-alone WAR modules, both of the services use the same {{Tracer}} instance.



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)



More information about the jboss-jira mailing list