设置参与者映射持久化实现
这个API被用来映射XPDL参与者和shark用户,shark采用基于DODS的参与者持久化实现
你可以提供你自己的参与者映射持久化API实现,以替代现有的实现。默认情况下是DODS实现。
#====================================================================
# Default participant map persistence manager is DODS
#
#--------------------------------------------------------------------
# DODS participant map persistent manager defaults
#
ParticipantMapPersistenceManagerClassName=org.enhydra.shark.partmappersistence.DODSParticipantMappingMgr
# If set to true, the debug information on participant mapping transaction will be
# written to console
#DODSParticipantMappingMgr.debug=false
注意:如果你注释掉了上述行,则你的shark将在没有参与者映射持久化的方式下运行。
设置知识库持久化实现
这个APIYONGLAI 存储XPDL定义和版本的信息。Shark提供了两种实现:基于文件系统的和基于DODS的。你可以提供你自己的API实现以替换当前的实现,默认实现为DODS实现。
# Default repository persistent manager is DODS
#
#RepositoryPersistenceManagerClassName=org.enhydra.shark.repositorypersistence.FileSystemRepositoryPersistenceManager
# The location of xpdl repository.
# If you want to specify it by relative path, you must know that this path must
# be relative to the Shark.conf file (in conf folder)
FileSystemRepositoryPersistenceManager.XPDL_REPOSITORY=repository/internal
# The location of xpdl history repository.
# If you want to specify it by relative path, you must know that this path must
# be relative to the Shark.conf file (in conf folder)
FileSystemRepositoryPersistenceManager.XPDL_HISTORY_REPOSITORY=repository/internal/history
RepositoryPersistenceManagerClassName=org.enhydra.shark.repositorypersistence.DODSRepositoryPersistenceManager
# The database used for Repository persistence when using DODS implementaion
#DODSRepositoryPersistenceManager.DatabaseName=sharkdb
# If set to true, the debug information on repository transaction will be
# written to console
#DODSRepositoryPersistenceManager.debug=false
注意:shark可以在没有该实现的前提下工作
设置脚本管理实现
shark提供的标准的脚本管理器实现,这是一个返回适当脚本求值程序的工厂,标准实现提供了三个不同的求值程序:Python,Java script,Bean shell
#====================================================================
# Default Scripting manager is Standard
#
#--------------------------------------------------------------------
ScriptingManagerClassName=org.enhydra.shark.scripting.StandardScriptingManager
注意:没有这个实现,shark是不能工作的。
设置脚本映射持久化实现
这个API用来存储XPDL脚本语言的映射。Chark采用基于DODS的脚本语言映射持久化实现。
你可以提供你自己的脚本映射实现,以替换原有的实现,现在这个API还没有被定义,所以这个实现还没有被使用。
#====================================================================
# Default script map persistence manager is DODS
#
#--------------------------------------------------------------------
#
# DODS script map persistent manager defaults
#
#ScriptMapPersistenceManagerClassName=org.enhydra.shark.mappersistence.DODSScriptMappingMgr
# If set to true, the debug information on script mapping transaction will be
# written to console
#DODSScriptMappingMgr.debug=false
注意:如果上面的行被注释,则shark将在没有脚本映射持久化API实现的情况下工作。
设置安全(认证)API实现
这个API还没有定义好,当前的就像一个例子一样,在将来,这个API将包含批准shark分级使用的方法。(像创建、忽略、中止、挂起等操作的权限管理)
#====================================================================
# Default Security manager is Standard
#
#--------------------------------------------------------------------
#
SecurityManagerClassName=org.enhydra.shark.security.StandardSecurityManager
注意:如果你不想要这个功能,你可以屏蔽掉配置文件中的这部分代码。
设置工具代理
shark提供了一个标准工具代理工厂实现,并且提供了许多工具代理的例子(javascript,beansheel,RuntimeApplication,SOAP,Mail和java类的工具代理)和这些代理的默认实现
要学习到更多的工具代理的知识,你可以参看工具代理文档
下面是配置这些工具代理的代码:
#=============================================================================
# Default Tool agent settings
#
#-----------------------------------------------------------------------------
#
ToolAgentFactoryClassName=org.enhydra.shark.toolagent.ToolAgentFactoryImpl
# The list of tool agents
ToolAgent.JavaClassToolAgent=org.enhydra.shark.toolagent.JavaClassToolAgent
ToolAgent.JavaScriptToolAgent=org.enhydra.shark.toolagent.JavaScriptToolAgent
ToolAgent.BshToolAgent=org.enhydra.shark.toolagent.BshToolAgent
ToolAgent.RuntimeApplicationToolAgent=org.enhydra.shark.toolagent.RuntimeApplicationToolAgent
ToolAgent.MailToolAgent=org.enhydra.shark.toolagent.MailToolAgent
ToolAgent.SOAPToolAgent=org.enhydra.shark.toolagent.SOAPToolAgent
# Default tool agent is used when there is no mappings for some
# XPDL application definition
DefaultToolAgent=org.enhydra.shark.toolagent.DefaultToolAgent
# Specifies the size of LRU cache for holding ext. attributes (for shark performance reason)
AbstractToolAgent.extAttribsCacheSize=100
注意:shark能在没有任何工具代理的条件下工作,但是此时的shark不能够执行包含工具活动的流程。
设置事务管理器实现
shark默认提供了基于DODS的API实现,并且他遵守了实例持久化API实现,创建SharkTransaction对象是十分有意义的。SharkTransaction对客户端和shark内部接口都是可见的,shark客户端已经复制了这些方法,一个是包含事务处理的,一个不包含。我们也可以不使用外部事务的情况下使用shark。
#====================================================================
# Default transaction factory is DODS
#
#--------------------------------------------------------------------
# DODSTransactionFactory defaults
#
TransactionManagerClassName=org.enhydra.shark.transaction.DODSTransactionFactory
# If set to true, the debug information on shark transaction will be
# written to console
#DODSTransactionFactory.debug=false
设置用户、组实现
shark提供了两个实现:认证和UserGroup API第一个是基于数据库的(施勇数据库来存取组织结构的信息),第二个是基于LDAP服务器的(从LDAP服务器上得到组织信息)。
下面是设置UserGroup管理器的配置代码:
#====================================================================
# Default UserGroupManager is DODS
#
# WARNING: This and authentication manager must comply.
#--------------------------------------------------------------------
#UserGroupManagerClassName=org.enhydra.shark.usergroup.LDAPUserGroupManager
UserGroupManagerClassName=org.enhydra.shark.usergroup.DODSUserGroupManager
# The database used for User/Group when using DODS implementaion
#DODSUserGroupManager.DatabaseName=sharkdb
载默认情况下,shark使用基于数据库的DODS实现,如果想切换到LDAP实现,只需注释掉DODS的代码,将LDAP代码解除注释。然后编辑LDAP部分。
注意:shark可以在没有这部分api实现的条件下工作,如果你不需要,你可以把它从配置文件中注释掉。
设置User 事务工厂实现
对这个API,shark默认使用DODS实现。并且他遵循了UserGroup API的DODS实现,他能够创建UserTransaction对象。UserTransaction对于客户端和shark内部接口是可见(Authentication和UserGroup接口使用它)。shark客户端API复制了这些方法,一部分使用事务管理,一部分不使用。
#====================================================================
# Default user transaction factory is DODS
#
#--------------------------------------------------------------------
# DODSUserTransactionFactory defaults
#
UserTransactionManagerClassName=org.enhydra.shark.usertransaction.DODSUserTransactionFactory
# If set to true, the debug information on user transaction will be
# written to console
#DODSUserTransactionFactory.debug=false
设置DODS id生成器CACHE数量
你可以指定对象ID的cache数量(活动或者流程的ID),当一些流程或者活动被创建时,shark向数据层询问唯一ID,这个Id的生成在数据库上是序列化的,所以shark能够同时在不同的虚拟机上使用。
#====================================================================
# DODS Settings for Id Generator
#--------------------------------------------------------------------
# default cache size for Ids (if cache size for particular object Id is not
# specified, then this size is used, and if this cache size also isn't
# specified, program default is used)
DODS.defaults.IdGenerator.CacheSize=100
# cache size for process instance Ids
#DODS.IdGenerator._process_.CacheSize=100
# cache size for activity instance Ids
#DODS.IdGenerator._activity_.CacheSize=100
当采用CORBA服务方式部署时设置CORBA参数
当shark被部署为CORBA服务时,你可以设置如下属性:
################################# CORBA Settings when used as CORBA service
nameserverhost=localhost
nameserverport=10123
DEFAULT_ADMINISTRATOR_GROUP_NAME=AdminGroup
DEFAULT_ADMINISTRATOR_GROUP_DESCRIPTION=Default Admin Group
DEFAULT_ADMINISTRATOR_USERNAME=admin
DEFAULT_ADMINISTRATOR_PASSWORD=enhydra
DEFAULT_ADMINISTRATOR_FIRST_NAME=Administrator
DEFAULT_ADMINISTRATOR_LAST_NAME=Admin
DEFAULT_ADMINISTRATOR_EMAIL=admin@together.at
nameserver.executable=C:/j2sdk1.4.2_04/bin/tnameserv
# if set to value greater than zero, shark's CORBA wrapper will periodically
# restart nameserver (the given period is in minutes)
nameserver.restarting_period_minutes=0
Deadlines.SERVER_SIDE_CHECKING=false
Limits.SERVER_SIDE_CHECKING=false
# The time in millis used to poll shark for checking deadlines if
# server side checking is ON
Deadlines.pollingTime=300000
# The time in millis used to poll shark for checking limits if
# server side checking is ON
Limits.pollingTime=60000
全文完