[jboss-cvs] JBossAS SVN: r75148 - projects/docs/enterprise/4.3/Transactions/Programmers_Guide/es-ES.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jun 27 01:47:45 EDT 2008


Author: agarcia at jboss.com
Date: 2008-06-27 01:47:45 -0400 (Fri, 27 Jun 2008)
New Revision: 75148

Modified:
   projects/docs/enterprise/4.3/Transactions/Programmers_Guide/es-ES/Chapter_02.po
Log:
in progress

Modified: projects/docs/enterprise/4.3/Transactions/Programmers_Guide/es-ES/Chapter_02.po
===================================================================
--- projects/docs/enterprise/4.3/Transactions/Programmers_Guide/es-ES/Chapter_02.po	2008-06-27 05:26:45 UTC (rev 75147)
+++ projects/docs/enterprise/4.3/Transactions/Programmers_Guide/es-ES/Chapter_02.po	2008-06-27 05:47:45 UTC (rev 75148)
@@ -7,7 +7,7 @@
 "Project-Id-Version: Chapter_02\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
 "POT-Creation-Date: 2008-06-05 22:51+0000\n"
-"PO-Revision-Date: 2008-06-25 14:54+1000\n"
+"PO-Revision-Date: 2008-06-27 15:46+1000\n"
 "Last-Translator: Angela Garcia\n"
 "Language-Team:  <en at li.org>\n"
 "MIME-Version: 1.0\n"
@@ -19,7 +19,7 @@
 #: Chapter_02.xml:6
 #, no-c-format
 msgid "Using TxCore"
-msgstr ""
+msgstr "Uso de TxCore"
 
 #. Tag: title
 #: Chapter_02.xml:9
@@ -35,18 +35,20 @@
 "<emphasis>Transactional Objects for Java</emphasis> in more detail, and show "
 "how it can be used to construct transactional applications."
 msgstr ""
+"En esta sección vamos a describir <emphasis>TxCore</emphasis> y los "
+"<emphasis>objetos transaccional para Java</emphasis> en más detalle y vamos a ver cómo se puede utilizar para construir aplicaciones transaccionales."
 
 #. Tag: title
 #: Chapter_02.xml:15
 #, no-c-format
 msgid "State management"
-msgstr ""
+msgstr "Administración de estado"
 
 #. Tag: title
 #: Chapter_02.xml:18
 #, no-c-format
 msgid "Object States"
-msgstr ""
+msgstr "Estados de objetos"
 
 #. Tag: para
 #: Chapter_02.xml:20
@@ -60,6 +62,8 @@
 "same mechanism - the classes <classname>Input/OutputObjectState</classname> "
 "and <classname>Input/OutputBuffer</classname>."
 msgstr ""
+"<emphasis>TxCore</emphasis> necesita poder recordar el estado de un objeto por varias razones, incluyendo la recuperación (el estado representa algún estado pasado del objeto) y la persistencia (el estado representa el estado "
+"final de un objeto al terminar una aplicación). Debido a que todos estos requerimientos necesitan funcionalidades comunes, todas se implementan utilizando el mismo mecanismo - las clases <classname>Input/OutputObjectState</classname> y <classname>Input/OutputBuffer</classname>."
 
 #. Tag: title
 #: Chapter_02.xml:22
@@ -180,6 +184,9 @@
 "instances are all stored in the buffer in a standard form (so-called network "
 "byte order) to make them machine independent."
 msgstr ""
+"La clase <classname>Input/OutputBuffer</classname> mantiene una lista interna de las instancias en las que se pueden empacar (desempacar) contiguamente los tipos estándares Java utilizando las operaciones de empaque (desempaque). El tamaño de este buffer se modifica cuando se necesita en caso de que no tenga suficiente espacio. Todas las "
+"instancias se almacenan en el buffer en una forma estándard (también se llama network "
+"byte order) para hacerla independientes de la máquina."
 
 #. Tag: title
 #: Chapter_02.xml:30 Chapter_02.xml:37
@@ -312,12 +319,14 @@
 "classname> instance is a compressed image. These are used when accessing the "
 "object store during storage and retrieval of the object state."
 msgstr ""
+"La clase <classname>Input/OutputObjectState</classname> proporciona todsa las funcionalidades de <classname>Input/OutputBuffer</classname> (por medio de herencia) pero añade dos variables de instancias adicionales que significan el Uid y el tipo del objeto para el cual la instancia <classname>Input/OutputObjectState</"
+"classname> es una imagen comprimida. Estas se utilizan al acceder el almacenamiento de objetos durante el almacenamiento y recuperación del estado del objeto."
 
 #. Tag: title
 #: Chapter_02.xml:60
 #, no-c-format
 msgid "The object store"
-msgstr ""
+msgstr "El almacenamiento de objetos"
 
 #. Tag: para
 #: Chapter_02.xml:62
@@ -329,7 +338,7 @@
 "Unix file system (in several different forms); and as a remotely accessible "
 "store. More complete information about the object stores available in "
 "<emphasis>TxCore</emphasis> can be found in the Appendix."
-msgstr ""
+msgstr "El almacenamiento de objetos que viene junto con <emphasis>TxCore</emphasis> tiene deliberadamente una interfaz más bien restringida para que se pueda implementar de varias maneras. Por ejemplo, los almacenamientos de objetos se implementan en una memoria compartida; en el sistema de archivos Unix (en varias formas diferentes); y como un almacenamiento accesible de manera remota. Puede encontrar más información completa sobre los almacenamientos de objetos en <emphasis>TxCore</emphasis> en el apéndice. "
 
 #. Tag: para
 #: Chapter_02.xml:64
@@ -338,7 +347,7 @@
 "As with all <emphasis>TxCore</emphasis> classes the default object stores "
 "are pure Java implementations; to access the shared memory and other more "
 "complex object store implementations it is necessary to use native methods."
-msgstr ""
+msgstr "Como con todas las clases <emphasis>TxCore</emphasis> los almacenamientos de objetos predeterminados son implementaciones puras de Java; para acceder la memoria compartida y otras implementaciones de almacenamiento de objetos más complejas es necesario utilizar métodos nativos."
 
 #. Tag: para
 #: Chapter_02.xml:66
@@ -356,6 +365,9 @@
 "emphasis> system components as appropriate thus the existence of any shadow "
 "versions of objects in the store are hidden from the programmer."
 msgstr ""
+"Todos los almacenamientos de objetos mantienen y recuperan instancias de la clase "
+"<classname>Input/OutputObjectState</classname>. Estas instancias son nombradas por el Uid y el tipo del objeto que representan. Los estados se leen usando la operación <command>read_committed</command> y el sistema los escribe utilizando la operación <command>write_uncommitted</command>. Bajo operación normal los nuevos estados de objetos no sobreescriben los estados antiguos de objetos si no que los escriben como copias sombras. Estas sombras reemplazan el original sólamente cuando se invoca la operación <command>commit_state</command>. Normalmente toda interacción con el almacenamiento de objetos es realizada por los componentes del sistema <emphasis>TxCore</"
+"emphasis> en tanto sea apropiado y por lo tanto la existencia de cualquier versión sombra de los objetos en el almacenamiento se encuentra escondida del programador."
 
 #. Tag: screen
 #: Chapter_02.xml:68
@@ -417,12 +429,14 @@
 "<literal>com.arjuna.ats.arjuna.objectstore.objectStoreSync</literal> "
 "variable to OFF."
 msgstr ""
+"Cuando un objeto transacción está guardando cambios es necesario que haga persistentes ciertos cambios de estado con el fin de que pueda recuperar en el evento de una falla o que pueda continuar guardando los cambios o que deshaga la transacción. Cuando utiliza los <emphasis>objetos transaccionales para Java</emphasis>, <emphasis>TxCore</"
+"emphasis> se ocupa de esto de manera automáticamente. Para garantizar propiedades ACID, estos cambios de estados deben ser vaciados en la implementación del almacenamiento de persistencia antes de que la transacción pueda proceder a guardar los cambios; si no se vacían, la aplicación puede asumir que la transacción ha guardado los cambios cuando en realidad los cambios del estado puede que aún se encuentren dentro de un caché del sistema en operación y es posible que se pierda en caso de una falla subsecuente de la máquina. Por defecto, <emphasis>TxCore</emphasis> se asegura de que tales cambios en el estado sean vaciados. Sin embargo, el hacer esto puede imponer una penalización importante en el rendimiento de la aplicación. Para prevenir el vaciado de estados de objetos transaccionales configure la variable <literal>com.arjuna.ats.arjuna.objectstore.objectStoreSync</literal> como OFF. "
 
 #. Tag: title
 #: Chapter_02.xml:74
 #, no-c-format
 msgid "Selecting an object store implementation"
-msgstr ""
+msgstr "Selección de una implementación de almacenamiento de objetos"
 
 #. Tag: para
 #: Chapter_02.xml:76
@@ -434,6 +448,8 @@
 "ats.arjuna.objectstore.objectStoreType</literal> property variable) on a per "
 "object basis, and indicates how additional implementations can be provided."
 msgstr ""
+"<emphasis>TxCore</emphasis> viene con soporte para varias implementaciones diferentes de almacenamiento de objetos. El apéndice describe estas implementaciones, la manera de seleccionar y configurar una implementación dada (utilizando la variable de la propiedad <literal>com.arjuna."
+"ats.arjuna.objectstore.objectStoreType</literal>) objeto por objeto e indica la manera en que se pueden proveer implementaciones adicionales."
 
 #. Tag: title
 #: Chapter_02.xml:84
@@ -454,6 +470,9 @@
 "<classname>StateManager</classname> will also propagate these resources "
 "between child transactions and their parents at commit time."
 msgstr ""
+"La clase <emphasis>TxCore</emphasis> <classname>StateManager</classname> "
+"administra el estado de un objeto y proporciona todos los mecanismos de soporte básicos requerdios por un objeto para propósitos de administración de estado. "
+"<classname>StateManager</classname> es el responsable de crear y registrar recursos apropiados relacionados con la persistencia y la recuperación del objeto transaccional. Si una transacción es anidada entonces <classname>StateManager</classname> también propagará estos recursos entre transacciones hijos y sus padres en el momento de guardar los cambios."
 
 #. Tag: para
 #: Chapter_02.xml:88
@@ -478,6 +497,11 @@
 "cannot gain (or lose) recovery capabilities at some arbitrary point during "
 "its lifetime."
 msgstr ""
+"Se asume que los objetos en <emphasis>TxCore</emphasis> pueden tener tres sabores posibles. Pueden ser simplemente recuperables, en cuyo caso "
+"<classname>StateManager</classname> tratará de generar y mantener información de recuperación "
+"apropiada para el objet (como instancias de la clase "
+"<classname>Input/OutputObjectState</classname>) . Tales objeto tienen tiempos de vida que no exceden el programa de la aplicación que los crea. Los objetos pueden ser recuperables y persistentes, en cuyo caso se asume que el tiempo de vida del objeto es mayor que el de la aplicación creadora o la aplicación que está accediendo para que además de mantener la información de recuperación el <classname>StateManager</classname> tratará de cargar (descargar) de manera automática cualquier estado persistente existente para el objeto llamando la operación <command>activate</command> (<command>deactivate</command>) en el momento apropiado. Finalmente, puede que los objetos no posean ninguna de estas habilidades, en cuyo caso no se mantienen ninguna información de recuperación y tampoco se intenta la activación/"
+"desactivación del objeto de manera automática. Esta propiedad del objeto se selecciona en el momento de construcción del objeto y no se puede cambiar después. Por lo tanto un objeto no puede ganar (o perder) habilidaddes de recuperación en un momento arbitrario durante su tiempo de vida."
 
 #. Tag: screen
 #: Chapter_02.xml:92
@@ -599,6 +623,10 @@
 "command> implementation for a class <classname>Example</classname> that had "
 "member variables called A, B and C could simply be the following:"
 msgstr ""
+"Si un objeto es recuperable (o persistente) entonces <classname>StateManager</"
+"classname> invocará las operaciones <command>save_state</command> (al realizar <command>deactivation</command>), <command>restore_state</"
+"command> (al relaizar activate) y tipo en varios puntos durante la ejecución de la aplicación. Estas operaciones se deben implementar por el programador ya que el <classname>StateManager</classname> no tiene acceso a una descripción en tiempo de ejecución del diseño de un objeto Java arbitrario en la memoria y por lo tanto no puede implementar una política predeterminada para convertir la versión en memoria del objeto a su forma pasiva. Sin embargo, las capacidades que el <classname>Input/OutputObjectState</classname> proporciona hacen que la escritura de estas rutinas sea más bien simple. Por ejemplo, la implementación <command>save_state</"
+"command> para una clase <classname>Example</classname> que tenía las variables llamadas A, B y C podría ser simplemente:"
 
 #. Tag: screen
 #: Chapter_02.xml:96
@@ -650,7 +678,7 @@
 "for all <command>save_state</command> and <command>restore_state</command> "
 "methods of user objects to call <command>super.save_state</command> and "
 "<command>super.restore_state</command>."
-msgstr ""
+msgstr "Con el fin de soportar la recuperación en caso de fallos para objetos persistentes es necesario que todos los métodos <command>save_state</command> y <command>restore_state</command> llamen a <command>save_state</command> y a <command>restore_state</command>"
 
 #. Tag: para
 #: Chapter_02.xml:100 Chapter_02.xml:182
@@ -661,7 +689,7 @@
 "This can actually be any valid string. However, you should avoid using the "
 "hash character (#) as this is reserved for special directories that "
 "<emphasis>TxCore</emphasis> requires."
-msgstr ""
+msgstr "El método type se utiliza para determinar la ubicación en el almacenamiento de objetos en donde el estado de las instancias de esa clase se guardarán y ultimadamente se resstablecerán. De hecho este puede ser cualquier cadena válida. Sin embargo, debe evitar el utilizar el caracter  (#) ya que está reservado para directorios especiales que <emphasis>TxCore</emphasis> requiere."
 
 #. Tag: para
 #: Chapter_02.xml:102
@@ -675,6 +703,9 @@
 "explicit parameter or by generating a new identifier when the object is "
 "created."
 msgstr ""
+"La operación <command>get_uid</command> de <classname>StateManager</"
+"classname> proporciona acceso de sólo lectura al nombre del sistema interno de un objeto para cualquiera que sea el propósito que el programador requiera (tal como la registración del nombre "
+"en un servidor de nombres). El valor del nombre del sistema interno sólo se puede configurar cuando un objeto es inicialmente construido - ya sea por la provisión de un parámetro explícito o generando un nuevo identificador cuando se crea el objeto."
 
 #. Tag: para
 #: Chapter_02.xml:104
@@ -686,6 +717,8 @@
 "invoked eventually commits. The programmer must obtain exclusive access to "
 "the object prior to invoking this operation."
 msgstr ""
+"El método <command>destroy</command> se puede utilizar para remover el estado de un objeto "
+"del almacenamiento de objetos. Esta es una operación atómica y por lo tanto sólo removerá el estado si la transacción a nivel superior dentro de la cual se invoca eventualmente guarda los cambios. El programador debe obtener acceso exclusivo al objeto antes de invocar esta operación."
 
 #. Tag: para
 #: Chapter_02.xml:106
@@ -701,7 +734,7 @@
 "operations allows the programmer to determine the purpose for which any "
 "given invocation is being made thus allowing different information to be "
 "saved for recovery and persistence purposes."
-msgstr ""
+msgstr "Debido a que la recuperación y la persistencia tienen esencialmente requerimientos que se complementan (la única diferencia es donde almacena la información del estado y su propósito) <classname>StateManager</classname> effectivamente combina la administración de estas dos propiedades en un sólo mecanismo. Es decir, utiliza instancias de la clase Input/OutputObjectState para propósitos de recuperación y persistencia. Un argumento adicional que se le pasa a las operaciones <command>save_state</command> y <command>restore_state</command> le permite al programador determinar el propósito para el cual cualquier invocación dada se está realizando y por lo tanto permite guardar información diferente para propósitos de recuperación y persistencia. "
 
 #. Tag: title
 #: Chapter_02.xml:112
@@ -728,13 +761,13 @@
 "performance, but represents a single point of failure, and in a multi-"
 "threaded environment may not protect the object from corruption if a single "
 "thread fails."
-msgstr ""
+msgstr "<termdef>SINGLE</termdef>: sólo existe una copia del objeto dentro de la aplicación; esta residirá dentro de una MVJ y todos los clientes deben dirigir sus invocaciones a este servidor. Este modelo proporciona mejor rendimiento, pero representa un sólo punto de falla y en entornos multi-hilos puede que no proteja el objetode daño si un sólo hilo falla."
 
 #. Tag: caption
 #: Chapter_02.xml:123
 #, no-c-format
 msgid "Single Object Model"
-msgstr ""
+msgstr "Modelo de objeto single"
 
 #. Tag: para
 #: Chapter_02.xml:127
@@ -743,13 +776,13 @@
 "MULTIPLE: logically a single instance of the object exists, but copies of it "
 "are distributed across different JVMs; the performance of this model is "
 "worse than the SINGLE model, but it provides better failure isolation."
-msgstr ""
+msgstr "MULTIPLE: lógicamente existe una sóla instancia del objeto, pero hay copias distribuidas en diferentes MVJ; el rendimiento de este modelo es peor que el modelo SINGLE, pero proporciona mejor aislamiento de fallas."
 
 #. Tag: caption
 #: Chapter_02.xml:134
 #, no-c-format
 msgid "Multiple Object Model"
-msgstr ""
+msgstr "Modelo de objetos múltiples "
 
 #. Tag: para
 #: Chapter_02.xml:139
@@ -760,6 +793,8 @@
 "arjuna.ats.arjuna.gandiva.ObjectName</classname> class at object "
 "construction."
 msgstr ""
+"El modelo predeterminado es SINGLE. El programador puede sobreescribir esto objeto por objeto proporcionando una instancia apropiada de la clase <classname>com."
+"arjuna.ats.arjuna.gandiva.ObjectName</classname> en la construcción del objeto. "
 
 #. Tag: para
 #: Chapter_02.xml:141
@@ -767,7 +802,7 @@
 msgid ""
 "The model can be changed between each successive instantiation of the "
 "object, i.e., it need not be the same during the object's lifetime."
-msgstr ""
+msgstr "El modelo se puede cambiar entre cada instanciación sucesiva del objeto, por ejemplo, es necesario que no sea la misma durante el tiempo de vida del objeto. "
 
 #. Tag: para
 #: Chapter_02.xml:143
@@ -776,12 +811,14 @@
 "To provide a suitable <classname>ObjectName</classname> class, it is "
 "necessary to perform the following steps:"
 msgstr ""
+"Para brindar una clase <classname>ObjectName</classname> apropiada, es "
+"necesario realizar los siguientes pasos:"
 
 #. Tag: para
 #: Chapter_02.xml:148
 #, no-c-format
 msgid "create a new instance of <classname>ObjectName</classname>."
-msgstr ""
+msgstr "cree una nueva instancia de <classname>ObjectName</classname>."
 
 #. Tag: para
 #: Chapter_02.xml:149
@@ -790,6 +827,8 @@
 "set the object model attribute using the <literal>com.arjuna.ats.arjuna."
 "ArjunaNames.StateManager_objectModel()</literal> name."
 msgstr ""
+"configure el atributo del modelo del objeto usando el nombre <literal>com.arjuna.ats.arjuna."
+"ArjunaNames.StateManager_objectModel()</literal>."
 
 #. Tag: para
 #: Chapter_02.xml:152
@@ -836,6 +875,11 @@
 "<command>save_state</command>, <command>restore_state</command>, and "
 "<command>type</command>."
 msgstr ""
+"En resumen, la clase <emphasis>TxCore</emphasis> <classname>StateManager</"
+"classname> adnministra el estado de un objeto y proporciona todos los mecanismos básicos de "
+"soporte requeridos por un objeto para propósitos de administración de estado. Algunas operaciones deben ser definidas por el desarrollador de la clase. Estas operaciones son: "
+"<command>save_state</command>, <command>restore_state</command> y "
+"<command>type</command>."
 
 #. Tag: literal
 #: Chapter_02.xml:167
@@ -862,6 +906,12 @@
 "recovery for persistent objects it is necessary for all <command>save_state</"
 "command> methods to call <command>super.save_state</command>."
 msgstr ""
+"Se invoca cuando sea necesario guardar el estado de un objeto para uso futuro - principalmente para propósitos de recuperación o persistencia. El parámetro "
+"<literal>ObjectType</literal> indica la razón por la cual <emphasis>TxCore</emphasis> invocó "
+"<command>save_state</command>. Esto habilita al programador a guardar diferentes partes de la información en el <classname>OutputObjectState</classname> proporcionado como el primer parámetro "
+"dependiendo de si el estado se necesita para propósitos de recuperación o persistencia. Por ejemplo, los apuntadores a otros objetos <emphasis>TxCore</emphasis> se pueden guardar simplemente como apuntadores para propósitos de recuperación pero como Uid para propósitos de persistencia. Como se mostró anteriormente, la clase <classname>OutputObjectState</"
+"classname> proporciona operaciones convenientes para permitir el guardar las instancias de todos los tipos básicos en Java. Con el fin de soportar la recuperación de fallas para objetos persistentes es necesario que todos los métodos <command>save_state</"
+"command> llamen al <command>super.save_state</command>."
 
 #. Tag: para
 #: Chapter_02.xml:170
@@ -870,7 +920,7 @@
 "<command>save_state</command> assumes that an object is internally "
 "consistent and that all variables saved have valid values. It is the "
 "programmer's responsibility to ensure that this is the case."
-msgstr ""
+msgstr "<command>save_state</command> asume que un objeto es consistente internamente y que todas las variables guardadas tienen valores válidos. Es la responsabilidad del programador asegurarse de que este es el caso."
 
 #. Tag: literal
 #: Chapter_02.xml:174
@@ -887,13 +937,13 @@
 "of the supplied state. In order to support crash recovery for persistent "
 "objects it is necessary for all <command>restore_state</command> methods to "
 "call <command>super.restore_state</command>."
-msgstr ""
+msgstr "Se invoca cuando el estado de un objeto necesita reestablecerse a uno proveido. Una vez más el segundo parámetro permite diferentes interpretaciones del estado proporcionado. Con el fin de soportar la recuperación de fallos para objetos persistentes es necesario que todos los métodos <command>restore_state</command> llamen al <command>super.restore_state</command>."
 
 #. Tag: literal
 #: Chapter_02.xml:179
 #, no-c-format
 msgid "String type ()"
-msgstr ""
+msgstr "Tipo de cadena ()"
 
 #. Tag: para
 #: Chapter_02.xml:180
@@ -906,6 +956,10 @@
 "example, “/<classname>StateManager</classname>/<classname>LockManager</"
 "classname>/<classname>Object</classname>”."
 msgstr ""
+"El mecanismo de persistencia <emphasis>TxCore</emphasis> requiere una manera de determinar el tipo de un objeto como cadena de manera que pueda guardar/reestablecer el estado del objeto a/desde el almacenamiento de objetos. Por convención esta "
+"información indica la posición de la clase en la jerarquía. Por "
+"ejemplo, “/<classname>StateManager</classname>/<classname>LockManager</"
+"classname>/<classname>Object</classname>”."
 
 #. Tag: title
 #: Chapter_02.xml:190
@@ -922,7 +976,7 @@
 "illustrate saving and restoring of an object’s state, the highestIndex "
 "variable is used to keep track of the highest element of the array that has "
 "a non-zero value):"
-msgstr ""
+msgstr "Considere la siguiente clase básica <classname>Array</classname> derivada de la clase <classname>StateManager</classname> (en este ejemplo, para ilustrar la manera de guardar y restaurar el estado de un objeto, la variable highestIndex se utiliza para rastrear el elemento más alto de la lista que tienen un valor que no es cero):"
 
 #. Tag: programlisting
 #: Chapter_02.xml:196
@@ -1112,7 +1166,7 @@
 #: Chapter_02.xml:207
 #, no-c-format
 msgid "Lock management and concurrency control"
-msgstr ""
+msgstr "Control de concurrencia y administración de bloqueos"
 
 #. Tag: para
 #: Chapter_02.xml:209
@@ -1129,6 +1183,8 @@
 "the object stores available in <emphasis>TxCore</emphasis> can be found in "
 "the Appendix."
 msgstr ""
+"La información de control de concurrencia dentro de <emphasis>TxCore</emphasis> se mantiene por medio de bloqueos. Los bloqueos que se requiere que se compartan entre objetos en diferentes procesos se pueden mantener dentro de un almacenamiento de bloqueos, similar a la función de almacenamiento de objetos presentada anteriormente. El almacenamiento de bloqueos que viene junto con "
+"<emphasis>TxCore</emphasis> de manera deliberada tiene una interfaz más bien restringida para que se pueda implementar de varias formas. Por ejemplo, los almacenamientos de bloqueos se implementan el la memoria compartida; en el sistema de archivos Unix (en varias formas diferentes); y como un almacenamiento accesible de manera remotae. En el apéndice encontrará más información en relación con los almacenamientos de objetos disponibles en <emphasis>TxCore</emphasis>."
 
 #. Tag: para
 #: Chapter_02.xml:211
@@ -1137,7 +1193,7 @@
 "As with all <emphasis>TxCore</emphasis> classes the default lock stores are "
 "pure Java implementations; to access the shared memory and other more "
 "complex lock store implementations it is necessary to use native methods."
-msgstr ""
+msgstr "Como con todas las clases <emphasis>TxCore</emphasis> los almacenamientos de bloqueos predeterminados son puras implementaciones Java; para acceder la memoria compartida y otras implementaciones de almacenamiento de bloqueos más complejos es necesario utilizar métodos nativos."
 
 #. Tag: programlisting
 #: Chapter_02.xml:213
@@ -1167,7 +1223,7 @@
 #: Chapter_02.xml:216
 #, no-c-format
 msgid "Selecting a lock store implementation"
-msgstr ""
+msgstr "Selección de una implementación de almacenamiento de bloqueos"
 
 #. Tag: para
 #: Chapter_02.xml:218
@@ -1184,6 +1240,8 @@
 "lockStoreType</literal> property variable. Currently this can have one of "
 "the following values:"
 msgstr ""
+"<emphasis>TxCore</emphasis> viene con soporte para varias implementaciones de almacenamiento de objetos diferentes. Si el modelo de objeto que se utiliza es SINGLE, entonces no se requiere almacenamiento de bloqueos para mantener los bloqueos ya que la información sobre el objeto no se exporta de este. Sin embargo, si se utiliza el modelo MULTIPLE, entonces puede que diferentes entornos en tiempo de ejecución (procesos, máquinas virtuales Java)necesiten compartir información de control de concurrencia. El tipo de implementación del almacenamiento de bloqueos a utilizar se puede especificar para todos los objetos dentro de un entorno de ejecución dado utilizando la variable de la propiedad <literal>com.arjuna.ats.txoj.lockstore."
+"lockStoreType</literal>. Actualmente esto puede tener uno de los siguientes valores:"
 
 #. Tag: term
 #: Chapter_02.xml:222
@@ -1198,7 +1256,7 @@
 "This is an in-memory implementation which does not, by default, allow "
 "sharing of stored information between execution environments. The "
 "application programmer is responsible for sharing the store information."
-msgstr ""
+msgstr "Esta es una implementación en memoria, la cual no permite compartir, por defecto, información almacenada entre entornos de ejecución. El programador de la aplicación es el responsable de compartir la información almacenada."
 
 #. Tag: term
 #: Chapter_02.xml:227
@@ -1219,6 +1277,9 @@
 "arjuna.ats.txoj.lockstore.lockStoreDir</literal> property variable "
 "accordingly, or placing the location within the <literal>CLASSPATH</literal>:"
 msgstr ""
+"Esta es la implementación predeterminada y almacena información de bloqueo dentro del sistema de archivos local. Por lo tanto, los entornos de ejecución que comparten el mismo almacenamiento de archivos puede compartir información de control de concurrencia. La raíz del sistema de archivos en la cual se escribe la información de bloqueo se escribe en el directorio <filename>LockStore</"
+"filename> dentro del directorio de instalación <emphasis>TxCore</emphasis>. Esto se puede sobreescribir en tiempo de ejecución configurando apropiadamente la variable de la propiedad <literal>com."
+"arjuna.ats.txoj.lockstore.lockStoreDir</literal> o poniendo la ubicación dentro de la<literal>CLASSPATH</literal>:"
 
 #. Tag: command
 #: Chapter_02.xml:230
@@ -1227,6 +1288,8 @@
 "java -D com.arjuna.ats.txoj.lockstore.lockStoreDir=/var/tmp/LockStore "
 "myprogram"
 msgstr ""
+"java -D com.arjuna.ats.txoj.lockstore.lockStoreDir=/var/tmp/LockStore "
+"myprogram"
 
 #. Tag: para
 #: Chapter_02.xml:232
@@ -1247,7 +1310,7 @@
 "If neither of these approaches is taken, then the default location will be "
 "at the same level as the <filename>etc</filename> directory of the "
 "installation."
-msgstr ""
+msgstr "Si ninguno de estos enfoques se toman entonces la ubicación predeterminada será al mismo nivel que el directorio <filename>etc</filename> de la instalación. "
 
 #. Tag: title
 #: Chapter_02.xml:245
@@ -1274,6 +1337,9 @@
 "the programmer. This ensures that the two-phase property can be correctly "
 "maintained."
 msgstr ""
+"El controlador de concurrencia es implementado por la clase "
+"<classname>LockManager</classname>, la cual proporciona un comportamiento predeterminado sensible mientras que al mismo tiempo le permite al programador sobreescribir si se considera necesario por la semántica en particular de la clase que se está programando. La interfaz primaria del programador al controlador de concurrencia se encuentra por medio del la operación setlock. Por defecto, el sistema en tiempo de ejecución <emphasis>TxCore</emphasis> refuerza dos fases estrictas de bloqueo después de un lector múltiple, una política de escritura única objeto por objeto. La adquisición de bloqueos se encuentra bajo el control del programador ya que <classname>StateManager</classname> no puede determinar si una operación "
+"modifica un objeto, <classname>LockManager</classname> no puede determinar si una operación requiere un bloqueo de lectura o de escritura. Sin embargo el la libreación de bloqueos normalmente se encuentra bajo control del sistema y no requiere más intervención del programador. Esto asegura que la propiedad de dos fases se pueda mantener de manera correcta."
 
 #. Tag: para
 #: Chapter_02.xml:249
@@ -1290,6 +1356,9 @@
 "be saved if the object is recoverable. In a similar fashion, successful lock "
 "acquisition causes <command>activate</command> to be invoked."
 msgstr ""
+"La clase <classname>LockManager</classname> es la principal responsable de administrar peticiones para establecer un bloqueo en un objeto o para liberar un bloqueo apropiadamente. Sin embargo, ya que se deriva del <classname>StateManager</"
+"classname>, también puede controlar cuando algunas de las funciones heredadas se invocan. Por ejemplo, si se otorga una petición para establecer un bloqueo entonces el "
+"<classname>LockManager</classname> invoca modificado directamente asumiendo que la modificación de un bloqueo de escritura implica que la operación de invocación debe estar a punto de modificar el objeto. A su vez esto puede hacer que se guarde la información de recuperación si el objeto es recuperable. De una manera similar, la adquisición de un bloqueo exitoso hace que se invoque <command>activate</command>."
 
 #. Tag: para
 #: Chapter_02.xml:251
@@ -1305,6 +1374,12 @@
 "extends the <command>save_state</command> and <command>restore_state</"
 "command> methods of <classname>StateManager</classname>."
 msgstr ""
+"Por lo tanto, <classname>LockManager</classname> es directamente el responsable de "
+"activar/desactivar los objetos persistentes y registrar "
+"<classname>Resources</classname> para administrar el control de concurrencia. Por dirigir la clase <classname>StateManager</classname>, también es la responsable de registrar <classname>Resources</classname> para la manipulación de estado persistente/recuperable y recuperación de objetos. El programador de aplicaciones "
+"simplemente establece bloqueos apropiados, inicia y para transacciones y "
+"extiende los métodos <command>save_state</command> y <command>restore_state</"
+"command> del <classname>StateManager</classname>."
 
 #. Tag: programlisting
 #: Chapter_02.xml:253
@@ -1394,7 +1469,7 @@
 "of lock required (<literal>READ</literal> / <literal>WRITE</literal>), and "
 "the number of retries to acquire the lock before giving up. If a lock "
 "conflict occurs, one of the following scenarios will take place:"
-msgstr ""
+msgstr "La operación <command>setlock</command> debe ser parametrizada con el tipo de bloqueo requerido (<literal>READ</literal> / <literal>WRITE</literal>)y el número de reintentos para adquirir el bloqueo antes de darse por vencido. Si tiene lugar un conflicto de bloqueos, tendrá lugar uno de los siguientes escenarios:"
 
 #. Tag: para
 #: Chapter_02.xml:257
@@ -1405,6 +1480,8 @@
 "blocked until the lock is released, or the total timeout specified has "
 "elapsed, and in which <literal>REFUSED</literal> will be returned."
 msgstr ""
+"Si el valor retry es igual al <literal>LockManager.waitTotalTimeout</"
+"literal> entonces el hilo que llamó <command>setlock</command> se bloqueará hasta que el bloqueo se libere o hasta que el tiempo de expiración especificado haya pasado, en cuyo caso se retornará <literal>REFUSED</literal>."
 
 #. Tag: para
 #: Chapter_02.xml:261
@@ -1416,6 +1493,8 @@
 "attempts, each attempt being separated by a 0.25 seconds delay; the time "
 "between retries is specified in micro-seconds."
 msgstr ""
+"Si el bloqueo no se puede obtener inicialmente entonces <classname>LockManager</"
+"classname> intentará con el número especificado de reintentos, en espera del valor del tiempo de expiración especificado entra cada intento fallido. Por defecto es 100 intentos, cada inetnto separado por un retraso de 0.25 segundos; el tiempo entre intentos se especifica en micro-segundos."
 
 #. Tag: para
 #: Chapter_02.xml:263
@@ -1429,7 +1508,7 @@
 "the programmer to ensure that the remainder of the code for an operation is "
 "only executed if a lock request is granted. Below are examples of the use of "
 "the <command>setlock</command> operation."
-msgstr ""
+msgstr "Si tiene lugar un conflicto de bloqueos la implementación actual simplemente pone en espera las peticiones de bloqueo lo cual previene puntos muertos en vez de proporcionar un esquema de detección completo de puntos muertos. Si se obtiene el bloqueo que se ha pedido entonces la operación setlock retornará el valor <literal>GRANTED</literal>, de otra manera retorna el valor <literal>REFUSED</literal>. Es la responsabilidad del programador asegurarse de que lo que queda del código para una operación sólo sea ejecutado sólo si se otorga una petcición de bloqueo. A continuación encontrará los ejemplos del uso de la operación <command>setlock</command>. "
 
 #. Tag: programlisting
 #: Chapter_02.xml:265
@@ -1482,7 +1561,7 @@
 "<emphasis>outside</emphasis> of the scope of an atomic action, it is the "
 "programmer's responsibility to release the locks when required, using the "
 "corresponding <command>releaselock</command> operation."
-msgstr ""
+msgstr "El mecanismo de control de concurrencia está integrado en el mecanismo de acción atómica por lo cual se asegura que cuando los bloqueos se otorgan en un objeto, la información apropiada se registra con la acción atómica actualmente ejecutando para asegurarse de que los bloqueos se liberan en el momento correcto. Esto libera al programador de tener que liberar de manera explícita cualquier bloqueo adquirido si se adquirieron dentro de acciones atómicas. Sin embargo, si los bloqueos se adquieren en un objeto <emphasis>fuera</emphasis> del ámbito de una acción atómica, es la responsabilidad del programador el liberar los bloqueos cuando se necesite utilizando la operación correspondiente <command>releaselock</command>."
 
 #. Tag: title
 #: Chapter_02.xml:272
@@ -1510,6 +1589,11 @@
 "definitions of the conflict operations enhanced levels of concurrency may be "
 "possible."
 msgstr ""
+"De maner opuesta que otros sistemas, los bloqueos en <emphasis>TxCore</emphasis> no son tipos de sistemas especiales. En su lugar son simplemente instancias de otros objetos <emphasis>TxCore</emphasis> (la clase <classname>Lock</classname>, la cual también se deriva del <classname>StateManager</classname> para que los bloqueos se puedan hacer persistentes si es necesario y también se puede nombrar de una manera simple). Además, <classname>LockManager</classname> de manera deliberada no tiene conocimiento sobre la semántica de la política actual por medio de la cual las peticiones de bloqueo se otorgan. Dicha información es mantenida por las instancias de la clase <classname>Lock</"
+"classname>, las cuales proporcionan operaciones (la operación "
+"<literal>conflictsWith</literal>) por medio de la cual <classname>LockManager</"
+"classname> puede determinar si dos bloqueos causan un conflicto o no. Esta separación es "
+"importante ya que le permite al programador derivar nuevos tipos de bloqueos de la clase <classname>Lock</classname> básica y proporcionando las definiciones de operaciones en conflicto lo cual puede dar lugar a niveles mejorados de concurrencia."
 
 #. Tag: programlisting
 #: Chapter_02.xml:276
@@ -1578,6 +1662,8 @@
 "can be supported. The supplied <classname>Lock</classname> class supports "
 "the traditional multiple reader/single writer policy."
 msgstr ""
+"La clase <classname>Lock</classname> brinda una operación <command>modifiesObject</"
+"command>, la cual <classname>LockManager</classname> utiliza para determinar si el otorgar esta petición de bloqueo requiere una llamada en modified. Esta operación se brinda para que los modos de bloqueo aparte de lectura y escritura simples se puedan soportar. La clase <classname>Lock</classname> proporcionada soporta la política traditional de múltiples lecturas/sólo una escritura."
 
 #. Tag: title
 #: Chapter_02.xml:283
@@ -1595,7 +1681,7 @@
 "constructed. Thus <classname>LockManager</classname> provides two protected "
 "constructors for use by derived classes, each of which fulfils a distinct "
 "purpose:"
-msgstr ""
+msgstr "Recuerde que los objetos <emphasis>TxCore</emphasis> pueden ser recuperables; recuperables y persistentes; o ninguno de los dos. Además cada objeto posee un nombre interno único. Estos atributos sólo se pueden configurar cuando se contruye ese objeto. Por lo tanto, <classname>LockManager</classname> proporciona dos constructores protegidos para uso con clases derivadas, cada una de las cuales cumple un propósito distinto:"
 
 #. Tag: command
 #: Chapter_02.xml:289
@@ -1609,7 +1695,7 @@
 msgid ""
 "This constructor allows the creation of new objects, that is, no prior state "
 "is assumed to exist."
-msgstr ""
+msgstr "Este constructor permite la creación de nuevos objetos, es decir se asume que no existe un estado anterior. "
 
 #. Tag: command
 #: Chapter_02.xml:294
@@ -1635,6 +1721,12 @@
 "memory (volatile) object store is used to store the state of the object "
 "between atomic actions."
 msgstr ""
+"Como se mostró anteriormente, este constructor permite la creación de nuevos objetos, es decir se asume que no existe un estado anterior. El <literal>ObjectType</literal> parametro "
+"determina si un objeto es simplemente recuperable (indicado con un "
+"<literal>RECOVERABLE</literal>); recuperable y persistente (indicado con "
+"<literal>ANDPERSISTENT</literal>) o ninguno (<literal>NEITHER</literal>). "
+"Si un objeto se marca como persistente entonces el estado del objeto se almacenará en uno de los almacenamientos de objetos. El parámetro compartido sólo tiene sentido si es <literal>RECOVERABLE</literal>; si <literal>attr</literal> no es "
+"nulo y el modelo del objeto es <literal>SINGLE</literal> (el comportamiento predeterminado) entonces el estado recuperable del objeto se mantiene dentro del objeto mismo (por ejemplo, no tiene representación externa), de otra manera se utiliza un almacenamiento de objetos en-memoria (volátil) para almacenar el estado del objeto entre acciones atómicas."
 
 #. Tag: para
 #: Chapter_02.xml:297
@@ -1646,7 +1738,7 @@
 "constructor commits or, if an enclosing action exists, when the appropriate "
 "top-level action commits. Later examples in this chapter illustrate this "
 "point further."
-msgstr ""
+msgstr "Los constructores para objetos persistentes nuevos deben hacer uso de acciones atómicas dentro de ellos mismos. Esto asegura que el estado del objeto es escrito de manera automática en el almacenamiento de objetos ya sea cuando la acción en el contructor guarda los cambios o si una clase para adjuntar existe, cuando la acción a nivel superior apropiada guarda los cambios. Más adelante ilustraremos este puntos con más ejemplos. "
 
 #. Tag: command
 #: Chapter_02.xml:301
@@ -1663,7 +1755,7 @@
 "constructed using this operation will normally have their prior state "
 "(identified by <literal>objUid</literal>) loaded from an object store "
 "automatically by the system."
-msgstr ""
+msgstr "Este constructor permite acceso a un objeto persistente existente, cuyo nombre interno es dado por el parámetro <literal>objUid</literal>. Los objetos construidos utilizando esta operación normalmente tendrán su estado previo (identificado por <literal>objUid</literal>) cargado automáticamente de un almacenamiento de objetos por el sistema. "
 
 #. Tag: command
 #: Chapter_02.xml:306
@@ -1682,7 +1774,7 @@
 "automatically by the system. If the attr parameter is not null, and the "
 "object model is <literal>SINGLE</literal> (the default behaviour), then the "
 "object will not be reactivated at the start of each top-level transaction."
-msgstr ""
+msgstr "Como lo mencionamos antes, este constructor permite acceso a un objeto persitente existente, cuyo nombre interno está dado por el parámetro <literal>objUid</literal>. Los objetos construidos utilizando esta operación normalmente tendrán su estado previo (identificado por <literal>objUid</literal>) cargado automáticamente desde un almacenamiento de objetos por el sistema. Si el parámetro attr no es nulo y el modelo del objeto es <literal>SINGLE</literal> (el comportamiento predeterminado) entonces el objeto no será reactivado al comienzo de cada transacción a nivel superior. "
 
 #. Tag: para
 #: Chapter_02.xml:309
@@ -1691,7 +1783,7 @@
 "The destructor of a programmer-defined class must invoke the inherited "
 "operation terminate to inform the state management mechanism that the object "
 "is about to be destroyed otherwise unpredictable results may occur."
-msgstr ""
+msgstr "El destructor de una clase definida por el porgramador debe invocar la operación heredada terminate para informarle al mecanismo de administración de estado que el objeto está a punto de ser destruido de otra manera se pueden generar resultados inpredecibles. "
 
 #. Tag: para
 #: Chapter_02.xml:311
@@ -1703,4 +1795,8 @@
 "classname> class. As such, it is possible to set the "
 "<classname>StateManager</classname> object model as described earlier."
 msgstr ""
+"Ya que <classname>LockManager</classname> ihereda de "
+"<classname>StateManager</classname>, pasará cualquier instancia "
+"<classname>ObjectName</classname> proporcionada a la clase <classname>StateManager</"
+"classname>. Como tal es posible configurar el modelo del objeto <classname>StateManager</classname> como se describió anteriormente."
 




More information about the jboss-cvs-commits mailing list