Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jakarta-commons Wiki" 
for change notification.

The following page has been changed by RahulAkolkar:
http://wiki.apache.org/jakarta-commons/SCXML/FrequentlyAskedQuestions

The comment on the change is:
More FAQ entries suggested by Tim O'Brien.

------------------------------------------------------------------------------
  
  Here, {{{foo.xml}}} must use the same expression language as the document 
above that hosts the state {{{foo}}}.
  
+ ==== Once I set up an SCXMLExecutor (call the constructor, set the state 
machine) is there anything I have to do to "activate" it? ====
+ 
+ Yes, you must call the marker method, {{{SCXMLExecutor#go()}}}. This serves 
as an indication that you have finished configuring the {{{SCXMLExecutor}}} 
instance and are now ready to begin executing the state machine described by 
your SCXML document. For example, you may attach zero, one or many 
{{{SCXMLListener}}}s to interesting "nodes" within the SCXML document, such as 
the document root i.e. the {{{SCXML}}} object, and/or particular {{{State}}} 
and {{{Transition}}} objects as well.
+ 
  ==== How do I enable / control the logging within the Commons SCXML package? 
====
  
  Commons SCXML uses Commons Logging. See the 
[http://jakarta.apache.org/commons/logging/ Commons Logging Website] for more 
details.
  
+ ==== Can multiple threads safely interact with an instance of SCXMLExecutor? 
====
+ 
+ No. You have to worry about synchronizing access if you need to. From an 
implementation perspective, Commons SCXML does not assume that synchronization 
will '''always''' be necessary. Not all usecases for Commons SCXML require 
synchronization.
+ 
+ ==== Can I have multiple instances of SCXMLExecutor all working off of a 
single instance of the SCXML class? ====
+ 
+ Yes. The Commons SCXML object model does not store any information related to 
a particular execution of the state machine. It is therefore possible to use a 
single {{{SCXML}}} instance as the state machine for multiple 
{{{SCXMLExecutor}}} instances.
+ 
+ This also means that a SCXML document needs to be parsed only once, 
irrespective of the number of "instances" of the state machine that may execute.
+ 
+ ==== Can I use SCXML in a non-voice application? ====
+ 
+ Ofcourse, as mentioned in the overview of the specification itself.
+ 
+ Here is an example from our usecases: 
[http://jakarta.apache.org/commons/sandbox/scxml/usecases/scxml-in-shale-dialogs.html
 SCXML in Shale dialogs] that has nothing to do with voice applications.
+ 
+ ==== What are the core requirements of SCXML? Do I need to include the JSP 
and Servlet API or the Faces libraries? Do I need to include Commons JEXL or 
Commons EL? ====
+ 
+ The "core" requirements for Commons SCXML are Commons Digester and Commons 
Logging. Commons Digester, at the minimum (if you use Commons Digester 1.7+), 
has a runtime dependency on Commons !BeanUtils.
+ 
+ You do '''not''' need to include JSP or Servlet or Faces libraries. These are 
meant to come in via the servlet container environment and the corresponding 
classes in the Commons SCXML codebase which have those dependencies are meant 
to be used only in JSP/Servlet/Faces environments.
+ 
+ In addition, you will need to choose an expression language for your SCXML 
documents. The recommended expression language for the Commons SCXML 
implementation is [http://jakarta.apache.org/commons/jexl/ JEXL]. Using JEXL 
for expressions introduces a dependency of Commons JEXL. For usecases in 
JSP-based environments, EL will be a prefered choice over JEXL, and if you 
choose to use JSP 2.0 EL, that introduces a dependency of Commons EL and a 
runtime dependency on the JSP API (again, these should come in via the servlet 
container).
+ 
+ See the [http://jakarta.apache.org/commons/sandbox/scxml/dependencies.html 
dependencies page] on the Commons SCXML website for details about the 
dependency versions.
+ 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to