commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Jakarta-commons Wiki] Update of "SCXML/FrequentlyAskedQuestions" by RahulAkolkar
Date Tue, 14 Feb 2006 23:20:00 GMT
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:

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 [
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: [
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
+ 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 [
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 [ dependencies
page] on the Commons SCXML website for details about the dependency versions.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message