You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by im...@apache.org on 2007/03/02 00:25:33 UTC
svn commit: r513497 - in /myfaces/fusion/trunk/core/src/site/xdoc:
convUseCases.xml usage.xml
Author: imario
Date: Thu Mar 1 13:14:44 2007
New Revision: 513497
URL: http://svn.apache.org/viewvc?view=rev&rev=513497
Log:
slowly but constant, more documentation
Added:
myfaces/fusion/trunk/core/src/site/xdoc/convUseCases.xml
myfaces/fusion/trunk/core/src/site/xdoc/usage.xml
Added: myfaces/fusion/trunk/core/src/site/xdoc/convUseCases.xml
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/core/src/site/xdoc/convUseCases.xml?view=auto&rev=513497
==============================================================================
--- myfaces/fusion/trunk/core/src/site/xdoc/convUseCases.xml (added)
+++ myfaces/fusion/trunk/core/src/site/xdoc/convUseCases.xml Thu Mar 1 13:14:44 2007
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//Apache Software Foundation//DTD XDOC 1.0//EN"
+"http://www.apache.org/dtd/xdoc.dtd">
+<document>
+ <properties>
+ <title>new document</title>
+ </properties>
+
+ <body>
+ <section name="Conversation Use Cases">There are some use cases a
+ conversation has:<ul>
+ <li>start a conversation</li>
+
+ <li>end a conversation</li>
+
+ <li>end and restart a conversation</li>
+ </ul><subsection name="Start a conversation"></subsection></section>
+ </body>
+</document>
\ No newline at end of file
Added: myfaces/fusion/trunk/core/src/site/xdoc/usage.xml
URL: http://svn.apache.org/viewvc/myfaces/fusion/trunk/core/src/site/xdoc/usage.xml?view=auto&rev=513497
==============================================================================
--- myfaces/fusion/trunk/core/src/site/xdoc/usage.xml (added)
+++ myfaces/fusion/trunk/core/src/site/xdoc/usage.xml Thu Mar 1 13:14:44 2007
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE document PUBLIC "-//Apache Software Foundation//DTD XDOC 1.0//EN"
+"http://www.apache.org/dtd/xdoc.dtd">
+<document>
+ <properties>
+ <title>new document</title>
+ </properties>
+
+ <body>
+ <section name="Usage">Once you have configure the system like described in
+ the installation document you can start using the new scope.<p>First of
+ all, instead of configuring your beans in the faces-config.xml
+ configuration do this in you spring configuration now, in fact you can
+ take over ALL your beans into the spring configuration, it also provides
+ e.g. the session or request scopes, you gain enormous flexibility in the
+ way how your beans should be created, refer to the spring configuration
+ for more details.</p><p>Here is an example of a conversation scoped
+ bean:</p><pre><bean name="userInfo"
+ class="my.app.pck.backings.UserInfo"
+ scope="conversation"
+ autowire="byName">
+ <aop:scoped-proxy />
+</bean></pre><p>Beside the fact that you use
+ <code><b>scope="conversation</b></code>" it is very important to use the
+ <b><code><aop:scoped-proxy /></code></b> configuration.</p><p>The
+ <code><aop:scoped-proxy /></code> ensures that you will never see
+ the real instance of your bean, but a proxy to it. There is no difference
+ in the way how you work with this instance in your code, but, there are
+ use cases where you will end a conversation and restart it. That way it is
+ ensured that your application will see this new instance.</p><p>The
+ <code>autowire="byName"</code> configuration is fully optional, but it
+ lowers the number of configuration lines required. Spring will scan your
+ bean and inject for each property where it find a bean with the same name
+ an instance of it.</p><p>For example, if you have a bean named
+ <code>userInfoDao</code> and your bean has a s<code>etUserInfoDao()</code>
+ method it will receive an instance of this DAO.</p><p>Next is the
+ transaction handling.</p><subsection name="JPA Transaction"><b>Note</b>:
+ Once again I would like to stress that Apache MyFaces Fusion do not rely
+ on annotations, the JPA thing was just the one we build the examples with,
+ thats why we describe it at first.<p>Every method in your conversation
+ bean is able to issue a database request or to call e.g. a DAO which will
+ do it. Its ensured that during the whole lifetime of this conversation
+ bean all database code will see the same entity manager.</p><p>Methods
+ which change data has to be annotated with the <code>@Transactional</code>
+ annotation.</p><p>Which means, that every changed/inserted/deleted entity
+ will be flushed to the database and committed.</p><p>Thats an important
+ thing to understand. You <b>can</b> change an entity whenever you want,
+ but it will only be flushed after such an annotated method has been
+ invoked.</p></subsection></section>
+ </body>
+</document>
\ No newline at end of file