Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

209
Views
¿Cuál es el equivalente de Java de C# "Contexto de llamada lógica"?

En .net, hay un almacenamiento local de subprocesos (TLS) "uber" que permite que los datos TLS arbitrarios "salten" automáticamente de un subproceso a otro. Se basa en la clase CallContext .

En otras palabras, una solicitud lógica puede generar una jerarquía de nuevos subprocesos, y cada uno de esos subprocesos tendrá acceso al mismo TLS del subproceso original. Es una característica muy poderosa, particularmente para el registro, la autorización, la tenencia múltiple o las preocupaciones de marca.

¿Cuál es el equivalente en Java?

Solo en .net 4.5 el "contexto de llamada lógico" obtuvo la capacidad de "copiar al escribir" que permite que los subprocesos realicen modificaciones privadas en el contexto de llamada lógico. En otras palabras, .net todavía está madurando esta capacidad y proporcionando una mayor estabilidad.

Si Java tiene una noción equivalente, ¿qué tan estable es? ¿Qué problemas tiene?

Aclaración

Ya sé que Java tiene una capacidad de almacenamiento local de subprocesos (TLS). Esa no es la pregunta. Estoy preguntando si Java tiene un equivalente del "contexto de llamada lógica" de .net, que es una construcción mucho más poderosa que el simple TLS.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

¿Quizás InheritableThreadLocal es lo que estás buscando?

No estoy seguro de si es exactamente igual, pero según tengo entendido cumple con este requisito:

una solicitud lógica puede generar una jerarquía de nuevos subprocesos, y cada uno de esos subprocesos tendrá acceso al mismo TLS del subproceso original.

de los documentos

Esta clase amplía ThreadLocal para proporcionar la herencia de valores del subproceso principal al subproceso secundario: cuando se crea un subproceso secundario, el elemento secundario recibe valores iniciales para todas las variables locales de subprocesos heredables para las que el elemento principal tiene valores. Normalmente, los valores del hijo serán idénticos a los del padre; sin embargo, el valor del hijo se puede convertir en una función arbitraria del padre anulando el método childValue en esta clase. Las variables locales de subprocesos heredables se utilizan con preferencia a las variables locales de subprocesos ordinarias cuando el atributo por subproceso que se mantiene en la variable (por ejemplo, ID de usuario, ID de transacción) debe transmitirse automáticamente a cualquier subproceso secundario que se cree.

No sé acerca de la capacidad de "copiar al escribir" que mencionó, pero supongo que puede anular InheritableThreadLocal.childValue(T) para representar el valor del padre para que las escrituras no pasen al padre y modificar el local del hilo actual almacenamiento

over 4 years ago · Santiago Trujillo Report

0

No estoy familiarizado con .net, pero según su descripción, lo más parecido que pude pensar fue un ThreadLocal .

Sin embargo, encontré un artículo que podría resultarle útil.

https://dzone.com/articles/thread-local-storage-java

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!