# Language it-IT translations for PACKAGE package.
# Automatically generated, 2008.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-06-11 07:43+0000\n"
"PO-Revision-Date: 2009-06-11 09:51+0100\n"
"Last-Translator: Nicola Benaglia <nico.benaz@gmail.com>\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. Tag: title
#: Spring.xml:6
#, no-c-format
msgid "Spring Framework integration"
msgstr "Integrazione con il framework Spring"

#. Tag: para
#: Spring.xml:8
#, no-c-format
msgid "The Spring integration (part of the Seam IoC module) allows easy migration of Spring-based projects to Seam and allows Spring applications to take advantage of key Seam features like conversations and Seam's more sophisticated persistence context management."
msgstr "L'integrazione con Spring (parte del modulo IoC di Seam) consente una facile migrazione a Seam dei progetti basati su Spring e consente alla applicazioni Spring di sfruttare le funzionalità chiave di Seam come le conversazioni e la sofisticata gestione del contesto di persistenza."

#. Tag: para
#: Spring.xml:12
#, no-c-format
msgid "Note! The Spring integration code is included in the jboss-seam-ioc library. This dependency is required for all seam-spring integration techniques covered in this chapter."
msgstr "Nota! Il codice di integrazione di Spring è incluso nella libreria jboss-seam-ioc. Questa dipendenza è richiesta per tutte le tecniche di integrazione seam-spring coperte in questo capitolo."

#. Tag: para
#: Spring.xml:15
#, no-c-format
msgid "Seam's support for Spring provides the ability to:"
msgstr "Il supporto di Seam per Spring fornisce la possibilità di:"

#. Tag: para
#: Spring.xml:19
#, no-c-format
msgid "inject Seam component instances into Spring beans"
msgstr "iniettare le istanze dei componenti Seam nei bean Spring"

#. Tag: para
#: Spring.xml:22
#, no-c-format
msgid "inject Spring beans into Seam components"
msgstr "iniettare i bean Spring nei componenti Seam"

#. Tag: para
#: Spring.xml:25
#, no-c-format
msgid "turn Spring beans into Seam components"
msgstr "trasformare i bean Spring in componenti Seam"

#. Tag: para
#: Spring.xml:28
#, no-c-format
msgid "allow Spring beans to live in any Seam context"
msgstr "consentire ai bean Spring di vivere in un qualsiasi contesto Seam"

#. Tag: para
#: Spring.xml:31
#, no-c-format
msgid "start a spring WebApplicationContext with a Seam component"
msgstr "avviare un WebApplicationContext di Spring con un componente Seam"

#. Tag: para
#: Spring.xml:34
#, no-c-format
msgid "Support for Spring PlatformTransactionManagement"
msgstr "Supporto a PlatformTransactionManagement di Spring"

#. Tag: para
#: Spring.xml:37
#, no-c-format
msgid "provides a Seam managed replacement for Spring's <literal>OpenEntityManagerInViewFilter</literal> and <literal>OpenSessionInViewFilter</literal>"
msgstr "fornisce un sostituto gestito da Seam per <literal>OpenEntityManagerInViewFilter</literal> e <literal>OpenSessionInViewFilter</literal> di Spring"

#. Tag: para
#: Spring.xml:40
#, no-c-format
msgid "Support for Spring <literal>TaskExecutors</literal> to back <literal>@Asynchronous</literal> calls"
msgstr "Supporto per <literal>TaskExecutors</literal> di Spring alle chiamate <literal>@Asynchronous</literal>"

#. Tag: title
#: Spring.xml:45
#, no-c-format
msgid "Injecting Seam components into Spring beans"
msgstr "Iniezione dei componenti Seam nei bean Spring"

#. Tag: para
#: Spring.xml:47
#, no-c-format
msgid "Injecting Seam component instances into Spring beans is accomplished using the <literal>&lt;seam:instance/&gt;</literal> namespace handler. To enable the Seam namespace handler, the Seam namespace must be added to the Spring beans definition file:"
msgstr "L'iniezione di istanze di componenti Seam nei bean Spring viene compiuto usando l'handler di namespace <literal>&lt;seam:instance/&gt;</literal>. Per abilitare questo handler occorre aggiungere il namespace di Seam al file di definizione dei bean Spring:"

#. Tag: programlisting
#: Spring.xml:51
#, no-c-format
msgid ""
"<![CDATA[<beans xmlns=\"http://www.springframework.org/schema/beans\"\n"
"    xmlns:seam=\"http://jboss.org/schema/seam/spring-seam\"\n"
"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
"    xsi:schemaLocation=\"http://www.springframework.org/schema/beans\n"
"                        http://www.springframework.org/schema/beans/spring-beans-2.0.xsd\n"
"                        http://jboss.org/schema/seam/spring-seam\n"
"                        http://jboss.org/schema/seam/spring-seam-2.3.xsd\">]]>"
msgstr ""
"<![CDATA[<beans xmlns=\"http://www.springframework.org/schema/beans\"\n"
"    xmlns:seam=\"http://jboss.org/schema/seam/spring-seam\"\n"
"    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
"    xsi:schemaLocation=\"http://www.springframework.org/schema/beans\n"
"                        http://www.springframework.org/schema/beans/spring-beans-2.0.xsd\n"
"                        http://jboss.org/schema/seam/spring-seam\n"
"                        http://jboss.org/schema/seam/spring-seam-2.3.xsd\">]]>"

#. Tag: para
#: Spring.xml:53
#, no-c-format
msgid "Now any Seam component may be injected into any Spring bean:"
msgstr "Ora ciascuno componente di Seam può essere iniettato in un bean Spring:"

#. Tag: programlisting
#: Spring.xml:55
#, no-c-format
msgid ""
"<![CDATA[<bean id=\"someSpringBean\" class=\"SomeSpringBeanClass\" scope=\"prototype\">\n"
"    <property name=\"someProperty\">\n"
"        <seam:instance name=\"someComponent\"/>\n"
"    </property>\n"
"</bean>]]>"
msgstr ""
"<![CDATA[<bean id=\"someSpringBean\" class=\"SomeSpringBeanClass\" scope=\"prototype\">\n"
"    <property name=\"someProperty\">\n"
"        <seam:instance name=\"someComponent\"/>\n"
"    </property>\n"
"</bean>]]>"

#. Tag: para
#: Spring.xml:57
#, no-c-format
msgid "An EL expression may be used instead of a component name:"
msgstr "Un'espressione EL può essere usata al posto del nome del componente:"

#. Tag: programlisting
#: Spring.xml:59
#, no-c-format
msgid ""
"<![CDATA[<bean id=\"someSpringBean\" class=\"SomeSpringBeanClass\" scope=\"prototype\">\n"
"    <property name=\"someProperty\">\n"
"        <seam:instance name=\"#{someExpression}\"/>\n"
"    </property>\n"
"</bean>]]>"
msgstr ""
"<![CDATA[<bean id=\"someSpringBean\" class=\"SomeSpringBeanClass\" scope=\"prototype\">\n"
"    <property name=\"someProperty\">\n"
"        <seam:instance name=\"#{someExpression}\"/>\n"
"    </property>\n"
"</bean>]]>"

#. Tag: para
#: Spring.xml:61
#, no-c-format
msgid "Seam component instances may even be made available for injection into Spring beans by a Spring bean id."
msgstr "Le istanze dei componenti Seam possono essere disponibili anche per l'iniezione nei bean Spring tramite l'id del bean."

#. Tag: programlisting
#: Spring.xml:63
#, no-c-format
msgid ""
"<![CDATA[<seam:instance name=\"someComponent\" id=\"someSeamComponentInstance\"/>\n"
"\n"
"<bean id=\"someSpringBean\" class=\"SomeSpringBeanClass\" scope=\"prototype\">\n"
"    <property name=\"someProperty\" ref=\"someSeamComponentInstance\">\n"
"</bean>\n"
"]]>"
msgstr ""
"<![CDATA[<seam:instance name=\"someComponent\" id=\"someSeamComponentInstance\"/>\n"
"\n"
"<bean id=\"someSpringBean\" class=\"SomeSpringBeanClass\" scope=\"prototype\">\n"
"    <property name=\"someProperty\" ref=\"someSeamComponentInstance\">\n"
"</bean>\n"
"]]>"

#. Tag: para
#: Spring.xml:65
#, no-c-format
msgid "Now for the caveat!"
msgstr "Adesso alcuni caveat!"

#. Tag: para
#: Spring.xml:67
#, no-c-format
msgid "Seam was designed from the ground up to support a stateful component model with multiple contexts. Spring was not. Unlike Seam bijection, Spring injection does not occur at method invocation time. Instead, injection happens only when the Spring bean is instantiated. So the instance available when the bean is instantiated will be the same instance that the bean uses for the entire life of the bean. For example, if a Seam <literal>CONVERSATION</literal>-scoped component instance is directly injected into a singleton Spring bean, that singleton will hold a reference to the same instance long after the conversation is over! We call this problem <emphasis>scope impedance</emphasis>. Seam bijection ensures that scope impedance is maintained naturally as an invocation flows through the system. In Spring, we need to inject a proxy of the Seam component, and resolve the reference when the proxy is invoked."
msgstr "Seam è stato progettato da principio per supportare un modello a componenti stateful con contesti multipli. Spring no. A differenza della bijection di Seam, l'iniezionedi Spring non avviene al momento dell'invocazione del metodo. Invece avviene solo quando viene istanziato il bean Spring. Quindi quando viene istanziato il bean l'istanza disponibile sarà la stessa istanza che il bean usa per l'intera vita del bean. Per esempio, se un'istanza di un componente con scope <literal>CONVERSATION</literal> viene direttamente iniettata in un bean singleton di Spring, tale singleton manterrà un riferimento alla stessa istanza anche quando la conversazioneè terminata! Questo problema viene chiamato <emphasis>impedenza di scope</emphasis>. La bijection di Seam assicura che l'impedenza di scope sia naturalmente mantenuta quando un'invocazione attraversa il sistema. In Spring occorre iniettare un proxy del componente Seam e risolvere il riferimento quando il proxy viene invocato."

# creare automaticamente il componente proxy???
#. Tag: para
#: Spring.xml:77
#, no-c-format
msgid "The <literal>&lt;seam:instance/&gt;</literal> tag lets us automatically proxy the Seam component."
msgstr "Il tag <literal>&lt;seam:instance/&gt;</literal> consente di creare automaticamente il componente proxy del componente Seam."

#. Tag: programlisting
#: Spring.xml:79
#, no-c-format
msgid ""
"<![CDATA[<seam:instance id=\"seamManagedEM\" name=\"someManagedEMComponent\" proxy=\"true\"/>\n"
"\n"
"<bean id=\"someSpringBean\" class=\"SomeSpringBeanClass\">\n"
"    <property name=\"entityManager\" ref=\"seamManagedEM\">\n"
"</bean>]]>"
msgstr ""
"<![CDATA[<seam:instance id=\"seamManagedEM\" name=\"someManagedEMComponent\" proxy=\"true\"/>\n"
"\n"
"<bean id=\"someSpringBean\" class=\"SomeSpringBeanClass\">\n"
"    <property name=\"entityManager\" ref=\"seamManagedEM\">\n"
"</bean>]]>"

#. Tag: para
#: Spring.xml:81
#, no-c-format
msgid "This example shows one way to use a Seam-managed persistence context from a Spring bean. (For a more robust way to use Seam-managed persistence contexts as a replacement for the Spring <literal>OpenEntityManagerInView</literal> filter see section on <link linkend=\"spring-persistence\">Using a Seam Managed Persistence Context in Spring</link>)"
msgstr "Quest'esempio mostra una modalità d'uso del contesto di persistenza gestito da Seam da un bean di Spring. (Per vedere un modo più robusto di usare i contesti di persistenza gestiti da Seam in sostituzione del filtro <literal>OpenEntityManagerInView</literal> di Spring si veda la sezione <link linkend=\"spring-persistence\">Uso di un contesto di persistenza gestito da Seam in Spring</link>)"

#. Tag: title
#: Spring.xml:88
#, no-c-format
msgid "Injecting Spring beans into Seam components"
msgstr "Iniettare i bean Spring nei componenti Seam"

#. Tag: para
#: Spring.xml:90
#, no-c-format
msgid "It is even easier to inject Spring beans into Seam component instances. Actually, there are two possible approaches:"
msgstr "E' ancora più facile iniettare i bean Spring nelle istanze dei componenti Seam. In verità ci sono due approcci:"

#. Tag: para
#: Spring.xml:95
#, no-c-format
msgid "inject a Spring bean using an EL expression"
msgstr "iniettare un bean Spring usando un'espressione EL"

#. Tag: para
#: Spring.xml:98
#, no-c-format
msgid "make the Spring bean a Seam component"
msgstr "rendere il bean Spring un componente Seam"

#. Tag: para
#: Spring.xml:102
#, no-c-format
msgid "We'll discuss the second option in the next section. The easiest approach is to access the Spring beans via EL."
msgstr "Si discuterà la seconda opzione nella prossima sezione. L'approccio più facile è accedere ai bean Spring via EL."

#. Tag: para
#: Spring.xml:105
#, no-c-format
msgid "The Spring <literal>DelegatingVariableResolver</literal> is an integration point Spring provides for integrating Spring with JSF. This <literal>VariableResolver</literal> makes all Spring beans available in EL by their bean id. You'll need to add the <literal>DelegatingVariableResolver</literal> to <literal>faces-config.xml</literal>:"
msgstr "<literal>DelegatingVariableResolver</literal> di Spring è un punto di integrazione che Spring fornisce per integrarsi con JSF. Questo <literal>VariableResolver</literal> rende disponibili in EL tutti i bean di Spring tramite il loro id bean. Occorrerà aggiungere <literal>DelegatingVariableResolver</literal> a <literal>faces-config.xml</literal>:"

#. Tag: programlisting
#: Spring.xml:110
#, no-c-format
msgid ""
"<![CDATA[<application>\n"
"    <variable-resolver>\n"
"        org.springframework.web.jsf.DelegatingVariableResolver\n"
"    </variable-resolver>\n"
"</application>]]>"
msgstr ""
"<![CDATA[<application>\n"
"    <variable-resolver>\n"
"        org.springframework.web.jsf.DelegatingVariableResolver\n"
"    </variable-resolver>\n"
"</application>]]>"

#. Tag: para
#: Spring.xml:112
#, no-c-format
msgid "Then you can inject Spring beans using <literal>@In</literal>:"
msgstr "Poi si possono iniettare i bean Spring usando <literal>@In</literal>:"

#. Tag: programlisting
#: Spring.xml:114
#, no-c-format
msgid ""
"<![CDATA[@In(\"#{bookingService}\")\n"
"private BookingService bookingService;]]>"
msgstr ""
"<![CDATA[@In(\"#{bookingService}\")\n"
"private BookingService bookingService;]]>"

#. Tag: para
#: Spring.xml:116
#, no-c-format
msgid "The use of Spring beans in EL is not limited to injection. Spring beans may be used anywhere that EL expressions are used in Seam: process and pageflow definitions, working memory assertions, etc..."
msgstr "L'uso dei bean Spring in EL non è limitato all'iniezione. I bean Spring possono essere usati ovunque sono usate le espressioni EL in Seam: definizioni di processo e pageflow, asserzioni nella working memory, ecc."

#. Tag: title
#: Spring.xml:122
#, no-c-format
msgid "Making a Spring bean into a Seam component"
msgstr "Inserire un bean Spring in un componente Seam"

#. Tag: para
#: Spring.xml:124
#, no-c-format
msgid "The <literal>&lt;seam:component/&gt;</literal> namespace handler can be used to make any Spring bean a Seam component. Just place the <literal>&lt;seam:component/&gt;</literal> tag within the declaration of the bean that you wish to be a Seam component:"
msgstr "L'handler namespace <literal>&lt;seam:component/&gt;</literal> può essere usato per far diventare un bean Spring un componente Seam. Si collochi il tag <literal>&lt;seam:component/&gt;</literal> dentro la dichiarazione del bean che si vuole rendere componente Seam:"

#. Tag: programlisting
#: Spring.xml:128
#, no-c-format
msgid ""
"<![CDATA[<bean id=\"someSpringBean\" class=\"SomeSpringBeanClass\" scope=\"prototype\">\n"
"    <seam:component/>\n"
"</bean>]]>"
msgstr ""
"<![CDATA[<bean id=\"someSpringBean\" class=\"SomeSpringBeanClass\" scope=\"prototype\">\n"
"    <seam:component/>\n"
"</bean>]]>"

#. Tag: para
#: Spring.xml:130
#, no-c-format
msgid "By default, <literal>&lt;seam:component/&gt;</literal> will create a <literal>STATELESS</literal> Seam component with class and name provided in the bean definition. Occasionally, such as when a <literal>FactoryBean</literal> is used, the class of the Spring bean may not be the class appearing in the bean definition. In such cases the <literal>class</literal> should be explicitly specified. A Seam component name may be explicitly specified in cases where there is potential for a naming conflict."
msgstr "Di default, <literal>&lt;seam:component/&gt;</literal> creerà un componente Seam <literal>STATELESS</literal> con classe e nome forniti nella definizione del bean. Occasionalmente, come ad esempio quando viene usato un <literal>FactoryBean</literal>, la classe del bean di Spring potrebbe non essere la classe che appare nella definizione del bean. In tali casi la <literal>class</literal> deve essere specificata esplicitamente. Un nome di un componente Seam può essere specificato esplicitamente nei casi in cui c'è un potenziale conflitto di nomi."

#. Tag: para
#: Spring.xml:136
#, no-c-format
msgid "The <literal>scope</literal> attribute of <literal>&lt;seam:component/&gt;</literal> may be used if you wish the Spring bean to be managed in a particular Seam scope. The Spring bean must be scoped to <literal>prototype</literal> if the Seam scope specified is anything other than <literal>STATELESS</literal>. Pre-existing Spring beans usually have a fundamentally stateless character, so this attribute is not usually needed."
msgstr "L'attributo <literal>scope</literal> di <literal>&lt;seam:component/&gt;</literal> può essere impiegato se si vuole che un bean Spring venga gestito in un particolare scope di Seam. Il bean di Spring deve avere scope <literal>prototype</literal> se lo scope di Seam specificato è diverso da  <literal>STATELESS</literal>. I bean di Spring preesistenti hanno di solito un carattere fondamentalmente stateless, quindi quest'attributo non è di solito necessario."

#. Tag: title
#: Spring.xml:145
#, no-c-format
msgid "Seam-scoped Spring beans"
msgstr "Bean Spring con scope di Seam"

#. Tag: para
#: Spring.xml:147
#, no-c-format
msgid "The Seam integration package also lets you use Seam's contexts as Spring 2.0 style custom scopes. This lets you declare any Spring bean in any of Seam's contexts. However, note once again that Spring's component model was never architected to support statefulness, so please use this feature with great care. In particular, clustering of session or conversation scoped Spring beans is deeply problematic, and care must be taken when injecting a bean or component from a wider scope into a bean of a narrower scope."
msgstr "Il pacchetto di integrazione di Seam consente di usare i contesti Seam come scope personalizzati di Spring 2.0. Questo permette di dichiarare un bean Spring in un qualsiasi contesto di Seam. Comunque, si noti nuovamente che il modello a componenti di Spring non è stato progettato per supportare la modalità stateful, quindi si usi questa funzionalità con molta attenzione. In particolare il clustering dei bean di Spring con scope sessione o conversazione è molto problematico e deve esserci molta attenzione quando si inietta un bean o un componente da uno scope più ampio in un bean con scope più piccolo."

#. Tag: para
#: Spring.xml:153
#, no-c-format
msgid "By specifying <literal>&lt;seam:configure-scopes/&gt;</literal> once in a Spring bean factory configuration, all of the Seam scopes will be available to Spring beans as custom scopes. To associate a Spring bean with a particular Seam scope, specify the Seam scope in the <literal>scope</literal> attribute of the bean definition."
msgstr "Specificando una sola volta <literal>&lt;seam:configure-scopes/&gt;</literal> nella configurazione di un bean factory di Bean, tutti gli scope di Seam saranno disponibili ai bean di Spring come scope personalizzati. Per associare un bean di Spring con un particolare scope di Seam, occorre specificare lo scope di Seam nell'attributo <literal>scope</literal> della definizione del bean."

#. Tag: programlisting
#: Spring.xml:158
#, no-c-format
msgid ""
"<![CDATA[<!-- Only needs to be specified once per bean factory-->\n"
"<seam:configure-scopes/>\n"
"\n"
"...\n"
"\n"
"<bean id=\"someSpringBean\" class=\"SomeSpringBeanClass\" scope=\"seam.CONVERSATION\"/>]]>"
msgstr ""
"<![CDATA[<!-- Only needs to be specified once per bean factory-->\n"
"<seam:configure-scopes/>\n"
"\n"
"...\n"
"\n"
"<bean id=\"someSpringBean\" class=\"SomeSpringBeanClass\" scope=\"seam.CONVERSATION\"/>]]>"

#. Tag: para
#: Spring.xml:160
#, no-c-format
msgid "The prefix of the scope name may be changed by specifying the <literal>prefix</literal> attribute in the <literal>configure-scopes</literal> definition. (The default prefix is <literal>seam.</literal>)"
msgstr "Il prefisso del nome dello scope può essere cambiato specificando l'attributo <literal>prefix</literal> nella definizione di <literal>configure-scopes</literal>. (Il prefisso di default è <literal>seam.</literal>)"

#. Tag: para
#: Spring.xml:163
#, no-c-format
msgid "By default an instance of a Spring Component registered in this way is not automatically created when referenced using <literal>@In</literal>. To have an instance auto-created you must either specify <literal>@In(create=true)</literal> at the injection point to identify a specific bean to be auto created or you can use the <literal>default-auto-create</literal> attribute of <literal>configure-scopes</literal> to make all spring beans who use a seam scope auto created."
msgstr "Di default un'istanza di un componente Spring registrato in questo modo non viene automaticamente creato quando viene referenziato usando <literal>@In</literal>. Per avere un'istanza auto-creata si deve o specificare <literal>@In(create=true)</literal> nel punto di iniezione per identificare un bean specifico da autocreare oppure si può usare l'attributo <literal>default-auto-create</literal> di <literal>configure-scopes</literal> per rendere auto-creati tutti i bean di Spring che usano uno scope di Seam."

#. Tag: para
#: Spring.xml:168
#, no-c-format
msgid "Seam-scoped Spring beans defined this way can be injected into other Spring beans without the use of <literal>&lt;seam:instance/&gt;</literal>. However, care must be taken to ensure scope impedance is maintained. The normal approach used in Spring is to specify <literal>&lt;aop:scoped-proxy/&gt;</literal> in the bean definition. However, Seam-scoped Spring beans are <emphasis>not</emphasis> compatible with <literal>&lt;aop:scoped-proxy/&gt;</literal>. So if you need to inject a Seam-scoped Spring bean into a singleton, <literal>&lt;seam:instance/&gt;</literal> must be used:"
msgstr "I bean di Spring con scope Seam definiti in questo modo possono essere iniettati in altri bean di Spring senza l'uso di <literal>&lt;seam:instance/&gt;</literal>. Comunque si presti molta attenzione affinché venga mantenuta la impedenza di scope. L'approccio normale usato in Spring è quello di specificare <literal>&lt;aop:scoped-proxy/&gt;</literal> nella definizione del bean. Comunque i bean di Spring con scope Seam <emphasis>non</emphasis> compatibili con <literal>&lt;aop:scoped-proxy/&gt;</literal>. Quindi se occorre iniettare un bean di Spring con scope Seam in un singleton, deve essere usato <literal>&lt;seam:instance/&gt;</literal>:"

#. Tag: programlisting
#: Spring.xml:176
#, no-c-format
msgid ""
"<![CDATA[<bean id=\"someSpringBean\" class=\"SomeSpringBeanClass\" scope=\"seam.CONVERSATION\"/>\n"
"\n"
"...\n"
"\n"
"<bean id=\"someSingleton\">\n"
"    <property name=\"someSeamScopedSpringBean\">\n"
"        <seam:instance name=\"someSpringBean\" proxy=\"true\"/>\n"
"    </property>\n"
"</bean>]]>"
msgstr ""
"<![CDATA[<bean id=\"someSpringBean\" class=\"SomeSpringBeanClass\" scope=\"seam.CONVERSATION\"/>\n"
"\n"
"...\n"
"\n"
"<bean id=\"someSingleton\">\n"
"    <property name=\"someSeamScopedSpringBean\">\n"
"        <seam:instance name=\"someSpringBean\" proxy=\"true\"/>\n"
"    </property>\n"
"</bean>]]>"

#. Tag: title
#: Spring.xml:180
#, no-c-format
msgid "Using Spring PlatformTransactionManagement"
msgstr "Uso di Spring PlatformTransactionManagement"

#. Tag: para
#: Spring.xml:182
#, no-c-format
msgid "Spring provides an extensible transaction management abstraction with support for many transaction APIs (JPA, Hibernate, JDO, and JTA) Spring also provides tight integrations with many application server TransactionManagers such as Websphere and Weblogic. Spring transaction management exposes support for many advanced features such as nested transactions and supports full Java EE transaction propagation rules like REQUIRES_NEW and NOT_SUPPORTED. For more information see the spring documentation <ulink url=\"http://static.springframework.org/spring/docs/2.0.x/reference/transaction.html\">here</ulink>."
msgstr "Spring fornisce un'astrazione estensibile della gestione delle transazioni con supporto a molte API per le transazioni (JPA, Hibernate, JDO e JTA). Spring fornisce anche una stretta integrazione con molti TransactionManagers degli application server quali Websphere e Weblogic. La gestione delle transazioni di Spring espone il supporto a funzionalità avanzate quali transazioni innestate e supporto alle regole di propagazione delle transazioni Java EE come REQUIRES_NEW e NOT_SUPPORTED. Per maggiori informazioni guardare <ulink url=\"http://static.springframework.org/spring/docs/2.0.x/reference/transaction.html\">here</ulink>."

#. Tag: para
#: Spring.xml:190
#, no-c-format
msgid "To configure Seam to use Spring transactions enable the SpringTransaction component like so:"
msgstr "Per configurare Seam ad usare le transazioni di Spring abilitare il componente SpringTransaction in queso modo:"

#. Tag: programlisting
#: Spring.xml:192
#, no-c-format
msgid "<![CDATA[<spring:spring-transaction platform-transaction-manager=\"#{transactionManager}\"/>]]>"
msgstr "<![CDATA[<spring:spring-transaction platform-transaction-manager=\"#{transactionManager}\"/>]]>"

#. Tag: para
#: Spring.xml:194
#, no-c-format
msgid "The <literal>spring:spring-transaction</literal> component will utilize Springs transaction synchronization capabilities for synchronization callbacks."
msgstr "Il componente <literal>spring:spring-transaction</literal> utilizzerà le capacità di sincronizzazione delle transazioni di Spring per le callback di sincronizzazione."

#. Tag: title
#: Spring.xml:200
#, no-c-format
msgid "Using a Seam Managed Persistence Context in Spring"
msgstr "Uso del contesto di persistenza gestito da Seam in Spring"

#. Tag: para
#: Spring.xml:202
#, no-c-format
msgid "One of the most powerful features of Seam is its conversation scope and the ability to have an EntityManager open for the life of a conversation. This eliminates many of the problems associated with the detachment and re-attachment of entities as well as mitigates occurrences of the dreaded <literal>LazyInitializationException</literal>. Spring does not provide a way to manage an persistence context beyond the scope of a single web request (<literal>OpenEntityManagerInViewFilter</literal>). So, it would be nice if Spring developers could have access to a Seam managed persistence context using all of the same tools Spring provides for integration with JPA(e.g. <literal>PersistenceAnnotationBeanPostProcessor</literal>, <literal>JpaTemplate</literal>, etc.)"
msgstr "Una delle caratteristiche più potenti di Seam è lo scope conversazione e la possibilità di avere un EntityManager aperto per l'intera vita di una conversazione. Questo elimina i problemi associati al detach e re-attach degli entity così come vengono mitigate le apparizioni della temuta <literal>LazyInitializationException</literal>. Spring non fornisce un modo per gestire un contesto di persistenza oltre lo scope di una singola richiesta web (<literal>OpenEntityManagerInViewFilter</literal>). Quindi sarebbe bello se gli sviluppatori di Spring potessero avere accesso al contesto di persistenza gestito da Seam usando tutti gli stessi tool che Spring fornisce per l'integrazione con JPA (es. <literal>PersistenceAnnotationBeanPostProcessor</literal>, <literal>JpaTemplate</literal>, ecc.)"

#. Tag: para
#: Spring.xml:212
#, no-c-format
msgid "Seam provides a way for Spring to access a Seam managed persistence context with Spring's provided JPA tools bringing conversation scoped persistence context capabilities to Spring applications."
msgstr "Seam fornisce un modo per far accedere Spring ad un contesto di persistenza gestito da Seam con i tool JPA forniti da Spring che portano nelle applicazioni Seam le capacità del contesto di persistenza con scope conversazione."

#. Tag: para
#: Spring.xml:216
#, no-c-format
msgid "This integration work provides the following functionality:"
msgstr "Questo lavoro di integrazione fornisce la seguente funzionalità:"

#. Tag: para
#: Spring.xml:220
#, no-c-format
msgid "transparent access to a Seam managed persistence context using Spring provided tools"
msgstr "accesso trasparente al contesto di persistenza gestito da Seam usando i tool forniti da Spring"

#. Tag: para
#: Spring.xml:223
#, no-c-format
msgid "access to Seam conversation scoped persistence contexts in a non web request (e.g. asynchronous quartz job)"
msgstr "accesso ai contesti di persistenza con scope conversazione di Seam in una richiesta non web (es. job asincrono di quartz)"

#. Tag: para
#: Spring.xml:227
#, no-c-format
msgid "allows for using Seam managed persistence contexts with Spring managed transactions (will need to flush the persistence context manually)"
msgstr "consente l'uso dei contesti di persistenza gestiti da Seam con le transazioni gestite da Spring (occorrerà eseguire manualmente il flush del contesto di persistenza)"

#. Tag: para
#: Spring.xml:232
#, no-c-format
msgid "Spring's persistence context propagation model allows only one open EntityManager per EntityManagerFactory so the Seam integration works by wrapping an EntityManagerFactory around a Seam managed persistence context."
msgstr "Il modello di propagazione del contesto di persistenza di Spring consente solo un EntityManager aperto per EntityManagerFactory, quindi l'integrazione con Seam funziona facendo il wrapping dell'EntityManagerFactory attorno al contesto di persistenza gestito da Seam."

#. Tag: programlisting
#: Spring.xml:236
#, no-c-format
msgid ""
"<![CDATA[<bean id=\"seamEntityManagerFactory\" class=\"org.jboss.seam.ioc.spring.SeamManagedEntityManagerFactoryBean\">\n"
"           <property name=\"persistenceContextName\" value=\"entityManager\"/>\n"
"</bean>]]>"
msgstr ""
"<![CDATA[<bean id=\"seamEntityManagerFactory\" class=\"org.jboss.seam.ioc.spring.SeamManagedEntityManagerFactoryBean\">\n"
"           <property name=\"persistenceContextName\" value=\"entityManager\"/>\n"
"</bean>]]>"

#. Tag: para
#: Spring.xml:238
#, no-c-format
msgid "Where 'persistenceContextName' is the name of the Seam managed persistence context component. By default this EntityManagerFactory has a unitName equal to the Seam component name or in this case 'entityManager'. If you wish to provide a different unitName you can do so by providing a persistenceUnitName like so:"
msgstr "dove 'persistenceContextName' è il nome del componente con contesto di persistenza gestito da Seam. Di default questo EntityManagerFactory ha un unitName uguale al nome del componente Seam o in questo caso 'entityManager'. Se si vuole fornire un unitName diverso, si può fornire un persistenceUnitName così:"

#. Tag: programlisting
#: Spring.xml:243
#, no-c-format
msgid ""
"<![CDATA[<bean id=\"seamEntityManagerFactory\" class=\"org.jboss.seam.ioc.spring.SeamManagedEntityManagerFactoryBean\">\n"
"           <property name=\"persistenceContextName\" value=\"entityManager\"/>\n"
"        <property name=\"persistenceUnitName\" value=\"bookingDatabase:extended\"/>\n"
"</bean>]]>"
msgstr ""
"<![CDATA[<bean id=\"seamEntityManagerFactory\" class=\"org.jboss.seam.ioc.spring.SeamManagedEntityManagerFactoryBean\">\n"
"           <property name=\"persistenceContextName\" value=\"entityManager\"/>\n"
"        <property name=\"persistenceUnitName\" value=\"bookingDatabase:extended\"/>\n"
"</bean>]]>"

#. Tag: para
#: Spring.xml:245
#, no-c-format
msgid "This EntityManagerFactory can then be used in any Spring provided tools. For example, using Spring's <literal>PersistenceAnnotationBeanPostProcessor</literal> is the exact same as before."
msgstr "EntityManagerFactory può essere usata in un qualsiasi tool fornito da Spring. Per esempio, l'uso di <literal>PersistenceAnnotationBeanPostProcessor</literal> di Spring è lo stesso di prima."

#. Tag: programlisting
#: Spring.xml:248
#, no-c-format
msgid "<![CDATA[<bean class=\"org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor\"/>]]>"
msgstr "<![CDATA[<bean class=\"org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor\"/>]]>"

#. Tag: para
#: Spring.xml:250
#, no-c-format
msgid "If you define your real EntityManagerFactory in Spring but wish to use a Seam managed persistence context you can tell the <literal>PersistenceAnnotationBeanPostProcessor</literal> which persistenctUnitName you wish to use by default by specifying the <literal>defaultPersistenceUnitName</literal> property."
msgstr "Se si definisce in Spring un EntityManagerFactory ma si vuole usare un contesto di persistenza gestito da Seam, si può dire al <literal>PersistenceAnnotationBeanPostProcessor</literal> quale persistenctUnitName si desidera usare come default specificando la proprietà <literal>defaultPersistenceUnitName</literal>."

#. Tag: para
#: Spring.xml:255
#, no-c-format
msgid "The <literal>applicationContext.xml</literal> might look like:"
msgstr "<literal>applicationContext.xml</literal> potrebbe apparire come:"

#. Tag: programlisting
#: Spring.xml:256
#, no-c-format
msgid ""
"<![CDATA[<bean id=\"entityManagerFactory\" class=\"org.springframework.orm.jpa.LocalEntityManagerFactoryBean\">\n"
"        <property name=\"persistenceUnitName\" value=\"bookingDatabase\"/>\n"
"</bean>\n"
"<bean id=\"seamEntityManagerFactory\" class=\"org.jboss.seam.ioc.spring.SeamManagedEntityManagerFactoryBean\">\n"
"           <property name=\"persistenceContextName\" value=\"entityManager\"/>\n"
"        <property name=\"persistenceUnitName\" value=\"bookingDatabase:extended\"/>\n"
"</bean>\n"
"<bean class=\"org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor\">\n"
"        <property name=\"defaultPersistenceUnitName\" value=\"bookingDatabase:extended\"/>\n"
"</bean>]]>"
msgstr ""
"<![CDATA[<bean id=\"entityManagerFactory\" class=\"org.springframework.orm.jpa.LocalEntityManagerFactoryBean\">\n"
"        <property name=\"persistenceUnitName\" value=\"bookingDatabase\"/>\n"
"</bean>\n"
"<bean id=\"seamEntityManagerFactory\" class=\"org.jboss.seam.ioc.spring.SeamManagedEntityManagerFactoryBean\">\n"
"           <property name=\"persistenceContextName\" value=\"entityManager\"/>\n"
"        <property name=\"persistenceUnitName\" value=\"bookingDatabase:extended\"/>\n"
"</bean>\n"
"<bean class=\"org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor\">\n"
"        <property name=\"defaultPersistenceUnitName\" value=\"bookingDatabase:extended\"/>\n"
"</bean>]]>"

#. Tag: para
#: Spring.xml:258
#, no-c-format
msgid "The <literal>component.xml</literal> might look like:"
msgstr "<literal>component.xml</literal> potrebbe così apparire:"

#. Tag: programlisting
#: Spring.xml:259
#, no-c-format
msgid ""
"<![CDATA[<persistence:managed-persistence-context name=\"entityManager\"\n"
"        auto-create=\"true\" entity-manager-factory=\"#{entityManagerFactory}\"/>]]>"
msgstr ""
"<![CDATA[<persistence:managed-persistence-context name=\"entityManager\"\n"
"        auto-create=\"true\" entity-manager-factory=\"#{entityManagerFactory}\"/>]]>"

# rivedere la frase
#. Tag: para
#: Spring.xml:262
#, no-c-format
msgid "<literal>JpaTemplate</literal> and <literal>JpaDaoSupport</literal> are configured the same way for a Seam managed persistence context as they would be fore a Seam managed persistence context."
msgstr "<literal>JpaTemplate</literal> e <literal>JpaDaoSupport</literal> sono configurati allo stesso modo per un contesto di persistenza gestito da Seam."

#. Tag: programlisting
#: Spring.xml:265
#, no-c-format
msgid ""
"<![CDATA[<bean id=\"bookingService\" class=\"org.jboss.seam.example.spring.BookingService\">\n"
"        <property name=\"entityManagerFactory\" ref=\"seamEntityManagerFactory\"/>\n"
"</bean>]]>"
msgstr ""
"<![CDATA[<bean id=\"bookingService\" class=\"org.jboss.seam.example.spring.BookingService\">\n"
"        <property name=\"entityManagerFactory\" ref=\"seamEntityManagerFactory\"/>\n"
"</bean>]]>"

#. Tag: title
#: Spring.xml:268
#, no-c-format
msgid "Using a Seam Managed Hibernate Session in Spring"
msgstr "Uso di una sessione Hibernate gestita da Seam in Spring"

#. Tag: para
#: Spring.xml:270
#, no-c-format
msgid "The Seam Spring integration also provides support for complete access to a Seam managed Hibernate session using spring's tools. This integration is very similar to the <link linkend=\"spring-persistence\">JPA integration</link>."
msgstr "L'integrazione di Spring con Seam fornisce anche il supporto al completo accesso alla sessione Hibernate gestita da Seam usando i tool di Spring. Quest'integrazione è molto simile all'<link linkend=\"spring-persistence\">integrazione JPA</link>."

#. Tag: para
#: Spring.xml:273
#, no-c-format
msgid "Like Spring's JPA integration spring's propagation model allows only one open EntityManager per EntityManagerFactory per transaction??? to be available to spring tools. So, the Seam Session integration works by wrapping a proxy SessionFactory around a Seam managed Hibernate session context."
msgstr "Come per l'integrazione JPA di Spring, il modello di propagazione di Spring consente di avere aperto solo un EntityManager per EntityManagerFactory per transazione disponibile ai tool di Spring. Quindi , l'integrazione della Sessione di Seam funziona solo con il wrap di un proxy SessionFactory attorno al contesto sessione di Hibernate gestito da Seam."

#. Tag: programlisting
#: Spring.xml:278
#, no-c-format
msgid ""
"<![CDATA[<bean id=\"seamSessionFactory\" class=\"org.jboss.seam.ioc.spring.SeamManagedSessionFactoryBean\">\n"
"        <property name=\"sessionName\" value=\"hibernateSession\"/>\n"
"</bean>]]>"
msgstr ""
"<![CDATA[<bean id=\"seamSessionFactory\" class=\"org.jboss.seam.ioc.spring.SeamManagedSessionFactoryBean\">\n"
"        <property name=\"sessionName\" value=\"hibernateSession\"/>\n"
"</bean>]]>"

#. Tag: para
#: Spring.xml:280
#, no-c-format
msgid "Where 'sessionName' is the name of the <literal>persistence:managed-hibernate-session</literal> component. This SessionFactory can then be used in any Spring provided tools. The integration also provides support for calls to <literal>SessionFactory.getCurrentInstance()</literal> as long as you call getCurrentInstance() on the <literal>SeamManagedSessionFactory</literal>."
msgstr "dove 'sessionName' è il nome del componente <literal>persistence:managed-hibernate-session</literal>. Questo SessionFactory può essere allora usato in un qualsiasi tool fornito da Spring. L'integrazione fornisce anche supporto alle chiamare a <literal>SessionFactory.getCurrentInstance()</literal> finché si chiama getCurrentInstance() su <literal>SeamManagedSessionFactory</literal>."

#. Tag: title
#: Spring.xml:286
#, no-c-format
msgid "Spring Application Context as a Seam Component"
msgstr "Contesto Applicazione di Spring come componente Seam"

#. Tag: para
#: Spring.xml:288
#, no-c-format
msgid "Although it is possible to use the Spring <literal>ContextLoaderListener</literal> to start your application's Spring ApplicationContext there are a couple of limitations."
msgstr "Sebbene sia possibile usare il <literal>ContextLoaderListener</literal> di Spring per avviare l'ApplicationContext di Spring della propria applicazione, ci sono un paio di limitazioni."

#. Tag: para
#: Spring.xml:293
#, no-c-format
msgid "the Spring ApplicationContext must be started <emphasis>after</emphasis> the <literal>SeamListener</literal>"
msgstr "L'ApplicationContext di Spring deve essere avviato <emphasis>dopo</emphasis> <literal>SeamListener</literal>"

#. Tag: para
#: Spring.xml:297
#, no-c-format
msgid "it can be tricky starting a Spring ApplicationContext for use in Seam unit and integration tests"
msgstr "può essere insidioso avviare un ApplicationContext di Spring da usarsi nei test d'unità e di integrazionedi Seam"

#. Tag: para
#: Spring.xml:302
#, no-c-format
msgid "To overcome these two limitations the Spring integration includes a Seam component that will start a Spring ApplicationContext. To use this Seam component place the <literal>&lt;spring:context-loader/&gt;</literal> definition in the <literal>components.xml</literal>. Specify your Spring context file location in the <literal>config-locations</literal> attribute. If more than one config file is needed you can place them in the nested <literal>&lt;spring:config-locations/&gt;</literal> element following standard <literal>components.xml</literal> multi value practices."
msgstr "Per superare queste due limitazioni, l'integrazione di Spring include un componente di Seam che avvia un ApplicationContext di Spring. Per usare questo componente di Seam si collochi la definizione <literal>&lt;spring:context-loader/&gt;</literal> in <literal>components.xml</literal>. Si specifichi la posizione del file col contesto di Spring nell'attributo <literal>config-locations</literal>. Se sono presenti più di un file si possono posizionare nell'elemento <literal>&lt;spring:config-locations/&gt;</literal> seguendo le practice multi-value di <literal>components.xml</literal>."

#. Tag: programlisting
#: Spring.xml:310
#, no-c-format
msgid ""
"<![CDATA[<components xmlns=\"http://jboss.org/schema/seam/components\"\n"
"            xmlns:spring=\"http://jboss.org/schema/seam/spring\"\n"
"            xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
"            xsi:schemaLocation=\"http://jboss.org/schema/seam/components\n"
"                                http://jboss.org/schema/seam/components-2.3.xsd\n"
"                                http://jboss.org/schema/seam/spring\n"
"                                http://jboss.org/schema/seam/spring-2.3.xsd\">\n"
"\n"
"        <spring:context-loader config-locations=\"/WEB-INF/applicationContext.xml\"/>\n"
"\n"
"</components>]]>"
msgstr ""
"<![CDATA[<components xmlns=\"http://jboss.org/schema/seam/components\"\n"
"            xmlns:spring=\"http://jboss.org/schema/seam/spring\"\n"
"            xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
"            xsi:schemaLocation=\"http://jboss.org/schema/seam/components\n"
"                                http://jboss.org/schema/seam/components-2.3.xsd\n"
"                                http://jboss.org/schema/seam/spring\n"
"                                http://jboss.org/schema/seam/spring-2.3.xsd\">\n"
"\n"
"        <spring:context-loader config-locations=\"/WEB-INF/applicationContext.xml\"/>\n"
"\n"
"</components>]]>"

#. Tag: title
#: Spring.xml:313
#, no-c-format
msgid "Using a Spring TaskExecutor for @Asynchronous"
msgstr "Uso di TaskExecutor di Spring per @Asynchronous"

#. Tag: para
#: Spring.xml:315
#, no-c-format
msgid "Spring provides an abstraction for executing code asynchronously called a <literal>TaskExecutor</literal>. The Spring Seam integration allows for the use of a Spring <literal>TaskExecutor</literal> for executing immediate <literal>@Asynchronous</literal> method calls. To enable this functionality install the <literal>SpringTaskExecutorDispatchor</literal> and provide a spring bean defined taskExecutor like so:"
msgstr "Spring fornisce un'astrazione per eseguire codice in modo asincrono chiamata <literal>TaskExecutor</literal>. L'integrazione con Seam consente di usare un <literal>TaskExecutor</literal> di Spring per eseguire chiamate immediate di metodi <literal>@Asynchronous</literal>. Per abilitare questa funzionalità si installi <literal>SpringTaskExecutorDispatchor</literal> e si fornisca un bean di Spring definito taskExecutor in questo modo:"

#. Tag: programlisting
#: Spring.xml:320
#, no-c-format
msgid "<![CDATA[<spring:task-executor-dispatcher task-executor=\"#{springThreadPoolTaskExecutor}\"/>]]>"
msgstr "<![CDATA[<spring:task-executor-dispatcher task-executor=\"#{springThreadPoolTaskExecutor}\"/>]]>"

#. Tag: para
#: Spring.xml:322
#, no-c-format
msgid "Because a Spring <literal>TaskExecutor</literal> does not support scheduling of an asynchronous event a fallback Seam <literal>Dispatcher</literal> can be provided to handle scheduled asynchronous event like so:"
msgstr "Poiché un <literal>TaskExecutor</literal> di Spring non supporta lo scheduling di eventi asincroni, può essere fornito un <literal>Dispatcher</literal> di Seam per gestire gli eventi asincroni schedulati in questo modo:"

#. Tag: programlisting
#: Spring.xml:325
#, no-c-format
msgid ""
"<![CDATA[<!-- Install a ThreadPoolDispatcher to handle scheduled asynchronous event -->\n"
"<core:thread-pool-dispatcher name=\"threadPoolDispatcher\"/>\n"
"\n"
"<!-- Install the SpringDispatcher as default -->\n"
"<spring:task-executor-dispatcher task-executor=\"#{springThreadPoolTaskExecutor}\" schedule-dispatcher=\"#{threadPoolDispatcher}\"/>]]>"
msgstr ""
"<![CDATA[<!-- Install a ThreadPoolDispatcher to handle scheduled asynchronous event -->\n"
"<core:thread-pool-dispatcher name=\"threadPoolDispatcher\"/>\n"
"\n"
"<!-- Install the SpringDispatcher as default -->\n"
"<spring:task-executor-dispatcher task-executor=\"#{springThreadPoolTaskExecutor}\" schedule-dispatcher=\"#{threadPoolDispatcher}\"/>]]>"

