Sticky user transactions configuration throws RuntimeException when migrating to JBoss EAP 5

Solution Verified - Updated -

Issue

  • In JBoss EAP 4.3, I configured ClientUserTransactionServer for sticky user transactions using the following configuration in $JBOSS_HOME/server/$PROFILE/conf/jboss-service.xml:
<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="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 optional-attribute-name="InvokerName">jboss:service=invoker,type=unified</depends>
    </mbean>
  </depends>
  <depends optional-attribute-name="TxProxyName">
    <mbean code="org.jboss.proxy.generic.ProxyFactoryHA"
      name="jboss:service=proxyFactory,target=ClientUserTransaction">
      <attribute name="TargetName">jboss:service=ClientUserTransaction</attribute>
      <attribute name="JndiName"></attribute>
      <attribute name="LoadBalancePolicy">org.jboss.ha.framework.interfaces.TransactionStickyRoundRobin</attribute>
      <attribute name="ExportedInterface">org.jboss.tm.usertx.interfaces.UserTransactionSession</attribute>
      <attribute name="ClientInterceptors">
        <interceptors>
          <interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor>
          <interceptor>org.jboss.proxy.ClientUserTransactionStickyInterceptor</interceptor>
          <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor>
        </interceptors>
      </attribute>
      <depends optional-attribute-name="PartitionObjectName">jboss:service=${jboss.partition.name:DefaultPartition}</depends>
      <depends optional-attribute-name="InvokerName">jboss:service=invoker,type=unifiedha</depends>
    </mbean>
  </depends>
</mbean>

In migrating to JBoss EAP 5.x, the configuration was moved to $JBOSS_HOME/server/$PROFILE/deploy/transaction-service.xml. When I apply the configuration change as done in JBoss EAP 4.x to enable sticky user transactions, the mbean ClientUserTransactionService fails now with this exception:

ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Configured: name=jboss:service=proxyFactory,target=ClientUserTransaction state=Instantiated mode=Manual requiredState=Configured
java.lang.RuntimeException: No Attribute found with name: PartitionObjectName for jboss:service=proxyFactory,target=ClientUserTransaction, attributes: [TargetName, StateString, InvokeTargetMethod, LoadBalancePolicy, ExportedInterfaces, JndiName, Name, Partition, Proxy, InvokerName, State, ClientInterceptors, ExportedInterface]
    at org.jboss.system.ServiceConfigurator.configure(ServiceConfigurator.java:142)
  • I want to know how to enable sticky tx for clients

Environment

  • JBoss Enterprise Application Platform (EAP)
    • 5.x

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.