[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
[cu-dev] unchanged JNDI in CompletableFuture.thenAcceptAsync() created from ManageExecutorService
 | 
  
  
    Hello,
    
    
    I'm looking at test
ManagedExecutorDefinitionTests/ManagedExecutorDefinitionServlet.testCompletedFuture,
      using "java:module/concurrent/ExecutorB" ManagedExecutorService,
      which is configured to use this context:
    @ContextServiceDefinition(name = "java:module/concurrent/ContextB",
                          cleared = TRANSACTION,
                          unchanged = { APPLICATION, IntContext.NAME },
                          propagated = ALL_REMAINING)
    E.g. the implementation must keep APPLICATION (JNDI search)
      unchanged during the thenAcceptAsync() call.
    
    This test expects, that the thread's context doesn't recognize java:module JNDI lookup. As I
      understand, Open Liberty starts threads with "empty contexts", so
      JNDI calls fail and TCK test succeeds.
    This is not the case of Payara/Glassfish, which shares the
      context of launching thread, so the JNDI call succeed. I fear,
      that changing the behavior of thread in MES may break
      compatibility with existing application.
    
    I would like to ask, if there is described the requirement of
        failing JNDI search for java:module
        if using ContextServiceDefinition.unchanged(APPLICATION). I
      haven't found any. APPLICATION javadoc only describes behavior for
      cleared.
    
    
    
    Thank you,
    Petr