Tuscany
  1. Tuscany
  2. TUSCANY-3946

Capability to skip setting TCCL in JavaImplementationInvoker.invoke()

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: Java-SCA-2.x
    • Fix Version/s: Java-SCA-2.x
    • Component/s: SCA Java Runtime
    • Labels:
      None

      Description

      Setting the TCCL in the JavaImplementationInvoker can interfere with runtimes extending the Tuscany OASIS runtime. So there should be a mechanism for products extending the runtime to be able to skip setting the TCCL in JavaImplementationInvoker.invoke().

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Closed Closed
        84d 19h 16m 1 Simon Laws 09/Dec/11 13:36
        Simon Laws made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Fixed [ 1 ]
        Hide
        Simon Laws added a comment -

        I've had a bit of a change of heart about this one. I'm concerned that putting extra doPrivileged checks in the main message flow is going to have a negative impact on performance so I've swapped out that code so a check on the presence of a message header does the job now. If you want to set TCCL earlier in the chain add Constants.SUPPRESS_TCCL_SWAP to the message header and the implementation invoker won't try and repeat the process.

        Show
        Simon Laws added a comment - I've had a bit of a change of heart about this one. I'm concerned that putting extra doPrivileged checks in the main message flow is going to have a negative impact on performance so I've swapped out that code so a check on the presence of a message header does the job now. If you want to set TCCL earlier in the chain add Constants.SUPPRESS_TCCL_SWAP to the message header and the implementation invoker won't try and repeat the process.
        Hide
        Simon Laws added a comment -

        I have a local change that, before setting and resetting TCCL in JavaImplementationInvoker, asks whether the TCCL is already set to the contribution classloader. This is a simple change that requires no configuration and which shouldn't upset anything else.

        However I note that this change makes the same assumption that you're debating in TUSCANY-3947 so we need to work out what the answer to that is before closing this JIRA. I'll still commit my change for this assuming I get a clean build.

        Show
        Simon Laws added a comment - I have a local change that, before setting and resetting TCCL in JavaImplementationInvoker, asks whether the TCCL is already set to the contribution classloader. This is a simple change that requires no configuration and which shouldn't upset anything else. However I note that this change makes the same assumption that you're debating in TUSCANY-3947 so we need to work out what the answer to that is before closing this JIRA. I'll still commit my change for this assuming I get a clean build.
        Simon Laws made changes -
        Field Original Value New Value
        Assignee Simon Laws [ simonslaws ]
        Jennifer A Thompson created issue -

          People

          • Assignee:
            Simon Laws
            Reporter:
            Jennifer A Thompson
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development