Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-5226

ClientUserTransaction should be configured with Unified invoker

    XMLWordPrintable

    Details

    • Estimated Difficulty:
      Low

      Description

      Even though unified invokers are default for EJBs,
      jboss:service=ClientUserTransaction service is still using
      JRMP invokers by default. ClientUserTransaction
      service definition should be changed to used unified
      invokers as below:

      <!--

      UserTransaction support.
      -->
      <mbean code="org.jboss.tm.usertx.server.ClientUserTransactionService"
      name="jboss:service=ClientUserTransaction"
      xmbean-dd="resource:xmdesc/ClientUserTransaction-xmbean.xml">
      <depends>
      <mbean code="org.jboss.invocation.jrmp.server.JRMPProxyFactory"
      name="jboss:service=proxyFactory,target=ClientUserTransactionFactory">
      <!-- attribute name="InvokerName">jboss:service=invoker,type=jrmp</attribute -->
      <attribute name="InvokerName">jboss:service=invoker,type=unified</attribute>
      <attribute name="TargetName">jboss:service=ClientUserTransaction</attribute>
      <attribute name="JndiName">UserTransactionSessionFactory</attribute>
      <attribute name="ExportedInterface">org.jboss.tm.usertx.interfaces.UserTransactionSessionFactory</attribute>
      <attribute name="ClientInterceptors">
      <interceptors>
      <interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor>
      <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
      </interceptors>
      </attribute>
      <!-- depends>jboss:service=invoker,type=jrmp</depends -->
      <depends>jboss:service=invoker,type=unified</depends>
      </mbean>
      </depends>
      <depends optional-attribute-name="TxProxyName">
      <mbean code="org.jboss.invocation.jrmp.server.JRMPProxyFactory"
      name="jboss:service=proxyFactory,target=ClientUserTransaction">
      <!-- attribute name="InvokerName">jboss:service=invoker,type=jrmp</attribute -->
      <attribute name="InvokerName">jboss:service=invoker,type=unified</attribute>
      <attribute name="TargetName">jboss:service=ClientUserTransaction</attribute>
      <attribute name="JndiName"></attribute>
      <attribute name="ExportedInterface">org.jboss.tm.usertx.interfaces.UserTransactionSession</attribute>
      <attribute name="ClientInterceptors">
      <interceptors>
      <interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor>
      <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
      </interceptors>
      </attribute>
      <!-- depends>jboss:service=invoker,type=jrmp</depends -->
      <depends>jboss:service=invoker,type=unified</depends>
      </mbean>
      </depends>
      </mbean>

      Bear in mind that even though ClientUserTransactionService uses JRMPProxyFactory,
      this is just a wrapper and you can set any type of invokers with it. You can indeed set
      the unified invoker as InvokerName.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  galder.zamarreno Galder ZamarreƱo
                  Reporter:
                  galder.zamarreno Galder ZamarreƱo
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: