<?xml version="1.0" encoding="UTF-8"?>
<section version="5.0" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:db="http://docbook.org/ns/docbook" xml:lang="en" xml:id="services.jtm.config"><info><title>jtm service configuration</title></info>
  

  <para>The <emphasis role="bold">jtm </emphasis>service is used by <emphasis role="bold">ejb2</emphasis> service in order to provide transaction
  management for EJB components as defined in the deployment descriptor. The
  <emphasis role="bold">jtm</emphasis> service uses a Transaction manager that
  may be local or may be launched in another JVM (a remote Transaction
  manager). Typically, when there are several JOnAS servers working together,
  one jtm service must be considered as the master and the others as slaves.
  The slaves must be configured as if they were working with a remote
  Transaction manager.</para>

  <para>By default <link xlink:href="http://jotm.objectweb.org/">JOTM</link> is the
  Transaction manager used.</para>

  <para>Here is the part of <filename>jonas.properties</filename> concerning
  the <emphasis role="bold">jtm</emphasis> service:</para>

  <screen>###################### JOnAS JTM Transaction service configuration
#
#  Set the name of the implementation class of the jtm service
jonas.service.jtm.class    org.ow2.jonas.tm.jotm.JOTMTransactionService

#  Set the Transaction Manager launching mode.
#  If set to 'true', TM is remote: TM must be already launched in an other JVM.
#  If set to 'false', TM is local: TM is going to run into the same JVM
#  than the jonas Server.
jonas.service.jtm.remote    false

#  Set the default transaction timeout, in seconds.
jonas.service.jtm.timeout    60

</screen>

  <para>For customizing the <emphasis role="bold">jtm </emphasis>service It is
  possible to</para>

  <itemizedlist>
    <listitem>
      <para>Indicate if the Transaction Manager used in this instance is
      collocated or remote: <property>jonas.service.jtm.remote</property>
      property</para>
    </listitem>

    <listitem>
      <para>Setting the value of the transaction time-out, in seconds:
      <property>jonas.service.jtm.timeout</property> property</para>
    </listitem>
  </itemizedlist>
</section>