现在的位置: 首页 > 综合 > 正文

shark工作流翻译活动–shark(8)

2013年07月20日 ⁄ 综合 ⁄ 共 7615字 ⁄ 字号 评论关闭
设置参与者映射持久化实现

这个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,Mailjava类的工具代理)和这些代理的默认实现

要学习到更多的工具代理的知识,你可以参看工具代理文档

下面是配置这些工具代理的代码:

#=============================================================================

# 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默认提供了基于DODSAPI实现,并且他遵守了实例持久化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 事务工厂实现

对这个APIshark默认使用DODS实现。并且他遵循了UserGroup APIDODS实现,他能够创建UserTransaction对象。UserTransaction对于客户端和shark内部接口是可见(AuthenticationUserGroup接口使用它)。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数量

你可以指定对象IDcache数量(活动或者流程的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
全文完

抱歉!评论已关闭.