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]
