Java EE: Access current transaction information





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







1















I need to debug the Java EE Web Service transaction. I want to print the state, demarcation boundaries and commitment of the transaction inside my application logging. I want to make sure there isn't anything 2PC related going with the transaction and ensure it's initiated and flushed locally. How do I access the current transaction in the SEI and EJB classes to output the information about the current transaction? Is it also possible to register a callback for the transaction to log it's commitment? I'm using WebLogic 12c as the application server and Java EE API supplemented by some WebLogic specific API's to implement the asynchronous Web Services with JMS transport.










share|improve this question

























  • You can enable JTA debug flags on the server instance using folowing flags: -Dweblogic.debug.DebugJTAPropagate=true -Dweblogic.debug.DebugJTAGateway=true -Dweblogic.debug.DebugJTAXA=true -Dweblogic.debug.DebugJTA2PC=true -Dweblogic.debug.DebugJTAJDBC=true

    – Emmanuel Collin
    Nov 29 '18 at 8:19











  • Could you please clarify the usage of "2PC" term? Do you want to prevent a shared transactional context BETWEEN multiple web services? Or multiple resources participating into the same transactional context WITHIN a single web service?

    – Illya Kysil
    Nov 29 '18 at 8:34











  • @Illya Kysil. I want to prevent the transaction context propagating across services (I'm calling one-way web-service using the JMS transport inside the EJB)

    – Tuomas Toivonen
    Nov 29 '18 at 8:44


















1















I need to debug the Java EE Web Service transaction. I want to print the state, demarcation boundaries and commitment of the transaction inside my application logging. I want to make sure there isn't anything 2PC related going with the transaction and ensure it's initiated and flushed locally. How do I access the current transaction in the SEI and EJB classes to output the information about the current transaction? Is it also possible to register a callback for the transaction to log it's commitment? I'm using WebLogic 12c as the application server and Java EE API supplemented by some WebLogic specific API's to implement the asynchronous Web Services with JMS transport.










share|improve this question

























  • You can enable JTA debug flags on the server instance using folowing flags: -Dweblogic.debug.DebugJTAPropagate=true -Dweblogic.debug.DebugJTAGateway=true -Dweblogic.debug.DebugJTAXA=true -Dweblogic.debug.DebugJTA2PC=true -Dweblogic.debug.DebugJTAJDBC=true

    – Emmanuel Collin
    Nov 29 '18 at 8:19











  • Could you please clarify the usage of "2PC" term? Do you want to prevent a shared transactional context BETWEEN multiple web services? Or multiple resources participating into the same transactional context WITHIN a single web service?

    – Illya Kysil
    Nov 29 '18 at 8:34











  • @Illya Kysil. I want to prevent the transaction context propagating across services (I'm calling one-way web-service using the JMS transport inside the EJB)

    – Tuomas Toivonen
    Nov 29 '18 at 8:44














1












1








1


1






I need to debug the Java EE Web Service transaction. I want to print the state, demarcation boundaries and commitment of the transaction inside my application logging. I want to make sure there isn't anything 2PC related going with the transaction and ensure it's initiated and flushed locally. How do I access the current transaction in the SEI and EJB classes to output the information about the current transaction? Is it also possible to register a callback for the transaction to log it's commitment? I'm using WebLogic 12c as the application server and Java EE API supplemented by some WebLogic specific API's to implement the asynchronous Web Services with JMS transport.










share|improve this question
















I need to debug the Java EE Web Service transaction. I want to print the state, demarcation boundaries and commitment of the transaction inside my application logging. I want to make sure there isn't anything 2PC related going with the transaction and ensure it's initiated and flushed locally. How do I access the current transaction in the SEI and EJB classes to output the information about the current transaction? Is it also possible to register a callback for the transaction to log it's commitment? I'm using WebLogic 12c as the application server and Java EE API supplemented by some WebLogic specific API's to implement the asynchronous Web Services with JMS transport.







java-ee transactions ejb weblogic jta






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 29 '18 at 7:12







Tuomas Toivonen

















asked Nov 29 '18 at 5:29









Tuomas ToivonenTuomas Toivonen

4,254849100




4,254849100













  • You can enable JTA debug flags on the server instance using folowing flags: -Dweblogic.debug.DebugJTAPropagate=true -Dweblogic.debug.DebugJTAGateway=true -Dweblogic.debug.DebugJTAXA=true -Dweblogic.debug.DebugJTA2PC=true -Dweblogic.debug.DebugJTAJDBC=true

    – Emmanuel Collin
    Nov 29 '18 at 8:19











  • Could you please clarify the usage of "2PC" term? Do you want to prevent a shared transactional context BETWEEN multiple web services? Or multiple resources participating into the same transactional context WITHIN a single web service?

    – Illya Kysil
    Nov 29 '18 at 8:34











  • @Illya Kysil. I want to prevent the transaction context propagating across services (I'm calling one-way web-service using the JMS transport inside the EJB)

    – Tuomas Toivonen
    Nov 29 '18 at 8:44



















  • You can enable JTA debug flags on the server instance using folowing flags: -Dweblogic.debug.DebugJTAPropagate=true -Dweblogic.debug.DebugJTAGateway=true -Dweblogic.debug.DebugJTAXA=true -Dweblogic.debug.DebugJTA2PC=true -Dweblogic.debug.DebugJTAJDBC=true

    – Emmanuel Collin
    Nov 29 '18 at 8:19











  • Could you please clarify the usage of "2PC" term? Do you want to prevent a shared transactional context BETWEEN multiple web services? Or multiple resources participating into the same transactional context WITHIN a single web service?

    – Illya Kysil
    Nov 29 '18 at 8:34











  • @Illya Kysil. I want to prevent the transaction context propagating across services (I'm calling one-way web-service using the JMS transport inside the EJB)

    – Tuomas Toivonen
    Nov 29 '18 at 8:44

















You can enable JTA debug flags on the server instance using folowing flags: -Dweblogic.debug.DebugJTAPropagate=true -Dweblogic.debug.DebugJTAGateway=true -Dweblogic.debug.DebugJTAXA=true -Dweblogic.debug.DebugJTA2PC=true -Dweblogic.debug.DebugJTAJDBC=true

– Emmanuel Collin
Nov 29 '18 at 8:19





You can enable JTA debug flags on the server instance using folowing flags: -Dweblogic.debug.DebugJTAPropagate=true -Dweblogic.debug.DebugJTAGateway=true -Dweblogic.debug.DebugJTAXA=true -Dweblogic.debug.DebugJTA2PC=true -Dweblogic.debug.DebugJTAJDBC=true

– Emmanuel Collin
Nov 29 '18 at 8:19













Could you please clarify the usage of "2PC" term? Do you want to prevent a shared transactional context BETWEEN multiple web services? Or multiple resources participating into the same transactional context WITHIN a single web service?

– Illya Kysil
Nov 29 '18 at 8:34





Could you please clarify the usage of "2PC" term? Do you want to prevent a shared transactional context BETWEEN multiple web services? Or multiple resources participating into the same transactional context WITHIN a single web service?

– Illya Kysil
Nov 29 '18 at 8:34













@Illya Kysil. I want to prevent the transaction context propagating across services (I'm calling one-way web-service using the JMS transport inside the EJB)

– Tuomas Toivonen
Nov 29 '18 at 8:44





@Illya Kysil. I want to prevent the transaction context propagating across services (I'm calling one-way web-service using the JMS transport inside the EJB)

– Tuomas Toivonen
Nov 29 '18 at 8:44












1 Answer
1






active

oldest

votes


















0














Web Services Atomic Transaction (WS-AtomicTransaction) and Web Services Coordination (WS-Coordination) are standard protocols which define transactional behaviour of Web Services.



Web Services participate in WS-AtomicTransaction transactions ONLY if explicitly configured to do so as described at Enabling Web Services Atomic Transactions on Web Services.



Web Service does not participate in any WS-AtomicTransaction transaction if you configure SEI with



@weblogic.wsee.wstx.wsat.Transactional(
Transactional.TransactionFlowType.NEVER
)


or provide equivalent deployment descriptor.






share|improve this answer
























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53532419%2fjava-ee-access-current-transaction-information%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Web Services Atomic Transaction (WS-AtomicTransaction) and Web Services Coordination (WS-Coordination) are standard protocols which define transactional behaviour of Web Services.



    Web Services participate in WS-AtomicTransaction transactions ONLY if explicitly configured to do so as described at Enabling Web Services Atomic Transactions on Web Services.



    Web Service does not participate in any WS-AtomicTransaction transaction if you configure SEI with



    @weblogic.wsee.wstx.wsat.Transactional(
    Transactional.TransactionFlowType.NEVER
    )


    or provide equivalent deployment descriptor.






    share|improve this answer




























      0














      Web Services Atomic Transaction (WS-AtomicTransaction) and Web Services Coordination (WS-Coordination) are standard protocols which define transactional behaviour of Web Services.



      Web Services participate in WS-AtomicTransaction transactions ONLY if explicitly configured to do so as described at Enabling Web Services Atomic Transactions on Web Services.



      Web Service does not participate in any WS-AtomicTransaction transaction if you configure SEI with



      @weblogic.wsee.wstx.wsat.Transactional(
      Transactional.TransactionFlowType.NEVER
      )


      or provide equivalent deployment descriptor.






      share|improve this answer


























        0












        0








        0







        Web Services Atomic Transaction (WS-AtomicTransaction) and Web Services Coordination (WS-Coordination) are standard protocols which define transactional behaviour of Web Services.



        Web Services participate in WS-AtomicTransaction transactions ONLY if explicitly configured to do so as described at Enabling Web Services Atomic Transactions on Web Services.



        Web Service does not participate in any WS-AtomicTransaction transaction if you configure SEI with



        @weblogic.wsee.wstx.wsat.Transactional(
        Transactional.TransactionFlowType.NEVER
        )


        or provide equivalent deployment descriptor.






        share|improve this answer













        Web Services Atomic Transaction (WS-AtomicTransaction) and Web Services Coordination (WS-Coordination) are standard protocols which define transactional behaviour of Web Services.



        Web Services participate in WS-AtomicTransaction transactions ONLY if explicitly configured to do so as described at Enabling Web Services Atomic Transactions on Web Services.



        Web Service does not participate in any WS-AtomicTransaction transaction if you configure SEI with



        @weblogic.wsee.wstx.wsat.Transactional(
        Transactional.TransactionFlowType.NEVER
        )


        or provide equivalent deployment descriptor.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 29 '18 at 8:56









        Illya KysilIllya Kysil

        738411




        738411
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53532419%2fjava-ee-access-current-transaction-information%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

            Calculate evaluation metrics using cross_val_predict sklearn

            Insert data from modal to MySQL (multiple modal on website)