The default environment.xml file created during the installation of Nova Orchestra is set to use the database implementation of the persistence service. This file also sets the configuration of hibernate. Here is the environment.xml file generated :
<environment-definition> <application> <hibernate-session-factory table-prefix='NOVA_'> <properties resource='hibernate.properties' /> <mapping resource='hibernate.definition.hbm.xml' /> <mapping resource='hibernate.execution.hbm.xml' /> <mapping resource='hibernate.job.hbm.xml' /> <mapping resource='hibernate.queries.hbm.xml' /> <mapping resource='hibernate.type.hbm.xml' /> <mapping resource='hibernate.wire.hbm.xml' /> <mapping resource='bpel.activities.hbm.xml' /> <mapping resource='bpel.elements.hbm.xml' /> <mapping resource='bpel.execution.hbm.xml' /> <mapping resource='bpel.runtime.hbm.xml' /> <mapping resource='bpel.services.hbm.xml' /> <mapping resource='bpel.queries.hbm.xml' /> <mapping resource='bpel.util.hbm.xml' /> <mapping resource='bpel.wsdl.hbm.xml' /> <mapping resource='bpel.lang.hbm.xml' /> <cache-configuration resource='pvm.definition.cache.xml' usage='read-write' /> <cache-configuration resource='bpel.cache.xml' usage='read-write' /> </hibernate-session-factory> <standard-command-service> <retry-interceptor /> <environment-interceptor /> <transaction-interceptor /> </standard-command-service> <job-executor threads='1' auto-start='false' /> <repository class='org.ow2.orchestra.execution.services.db.DbRepository' /> <publisher class='org.ow2.orchestra.axis.AxisPublisher' /> <invoker class='org.ow2.orchestra.axis.AxisInvoker' /> </application> <block> <timer-session /> <standard-transaction /> <job-session /> <hibernate-session /> <hibernate-bpel-persistence-service /> </block> </environment-definition>
Currently, following objects implementations can be injected in the environment:
repository: data repository storing processes and instances... Db persistence (class org.ow2.orchestra.execution.services.db.DbRepository) implementation is included in this RC.
publisher: object intended for publishing services of the given bpel proces .Default implementation is based on axis web services framewrok through the default implementation (class org.ow2.orchestra.axis.AxisPublisher).
invoker: object intended for external web services invocations. Default implementation is based on axis web services framewrok through the default implementation (class org.ow2.orchestra.axis.AxisInvoker).
* Note 1: As explained before persistence objects are provided as default implementations in the environment. Notice that in a persistence configuration additional resources are required, i.e for hibernate persistence you can specify mapings, cache configuration...
* Note 2: The environment is divided in two different contexts: application and block. Objects declared inside the application context are created once and reused while objects declared inside the block context are created for each operation.