答案:设置持久化影射实现这个API用来存储XPDL、应用和TOOL AGENT中的影射信息。Shark与DODS一起完成持久化实现。 你可以提供你自己的应用持久化影射API,并且替换当前的实现。默认的实现是DODS实现。 #====================================================================
# Default application map persistence manager is DODS
#
#--------------------------------------------------------------------
#
# DODS application map persistent manager defaults
#
ApplicationMapPersistenceManagerClassName=org.enhydra.shark.appmappersistence.DODSApplicationMappingMgr
# If set to true, the debug information on application mapping transaction will be
# written to console
#DODSApplicationMappingMgr.debug=false
注意:如果你注释了上面的行,shark将在没有持久化API实现的情况下工作。 设置委派管理器实现类 如果你想要创建你自己的Assignment 管理器类,这将决定哪个委派被活动创建,他能通过AssignmentManager接口,实现他自己的Assignment管理器。 我们可以通过以下语句配置shark: AssignmentManagerClassName=org.enhydra.shark.assignment.StandardAssignmentManager 在这个接口上,shark有以下三种不同的实现: l 标准实现:通过一个参数返回用户列表,或者列表中没有用户的话,它将返回创建相关进程的用户。 l 历史关系:如果在一些XPDL的活动定义中有一些外部属性被定义,这个实现将通过检查委派历史来作出对委派创建的判断 l XPDL直接参与者影射:他为在XPDL中和活动参与者具有相同ID值得用户创建委派。 注意:如果你不设置任何实现的话(你简单地注释掉上面提及的行),shark将使用默认的过程。在活动中,委派的标准实现API不是非常有用的。它基本上只能返回第一个有用的选项。 设置Authentication manager实现类 Shark提供了两个Authentication和UserGroupAPI的实现类。第一个是基于数据库的。(使用数据库来存取组织结构的信息),另一个是基于LDAP的(使用LDAP服务器得到组织结构) 下面是这段的配置方法: #====================================================================
# Default AuthenticationManager is DODS
#
# WARNING: This and user/group manager must comply.
#--------------------------------------------------------------------
#
#AuthenticationManagerClassName=org.enhydra.shark.authentication.LDAPAuthenticationManager
AuthenticationManagerClassName=org.enhydra.shark.authentication.DODSAuthenticationManager
# The database used for Authentication when using DODS implementation
#DODSAuthenticationManager.DatabaseName=sharkdb
一个重要的情况被提及,如果你使用AuthenticationAPI的LDAP实现,那么你也必须使用UserGroupAPI的LDAP实现。 在默认情况下,shark使用基于DODS的数据库实现,并且可以转换到LDAP实现,你可以简单地注释掉配置文件中关于DODS的行,然后解除LDAP行上的注释并且编辑它的设置来转换二者。 设置CHACHEING实现 Shark通过cache实现的LRU来管理进程和资源对象。在默认情况下,shark被配置成使用如下的cache实现。这个时间在客户端上能够高速地被使用。 下面是配置该属性的配置文件片断: #====================================================================
# Default cache is LRU
#
#--------------------------------------------------------------------
# Cache defaults
#
CacheManagerClassName=org.enhydra.shark.caching.LRUCacheMgr
# Default LRU cache sizes (LRU implementation default is 100 for each cache)
#LRUProcessCache.Size=100
#LRUResourceCache.Size=100
注意:如果你不设置任何实现(你可以简单地注释点上述行),shark将在没有任何缓存的条件下工作。