答案:设置核心回调工具实现类如果你想要你自己的回调工具接口实现,你可以通过改变下面的属性实现他: ######################### CALLBACK UTILITIES # used for logging, and getting the shark properties # the default kernel setting is as follows #CallbackUtilitiesClassName=org.enhydra.shark.CallbackUtil 被使用的类的名字在默认条件下是被注释的。 这个接口的实现被传递给了所有的内在接口的实现,并且被那些实现所使用,用来读取shark属性的值和生成日志事件。 设置核心的ObjectFactory实现类 如果你想用你自己的实现替换核心中的一部分(例如替换WfActivityInternal, WfProcessInternal等等),你应该创建你自己的基于这些接口的泪,并且配置他们让shark使用。 下面的代码能够做到这些配置: ######################### OBJECT FACTORY # the class name of the factory used to creating kernel objects # the default kernel setting is as follows #ObjectFactoryClassName=org.enhydra.shark.SharkObjectFactory 类的名称在默认条件下是被注释的。 设置核心的ToolAgentManager(工具代理管理器)实现 如果你想设置你自己的ToolAgentManager实现,并且使他在与标准实现不同的方式中与工具代理通信,你需要进行一下配置: ######################### TOOL AGENT MANAGER # the class name of the manager used to execute tool agents # the default kernel setting is as follows #ToolAgentManagerClassName=org.enhydra.shark.ToolAgentManagerImpl 默认条件下类名称是被注释。 数据库配置 这段配置文件片断以DODS实现方式被叙述。 在shark发布中,我们提供了为大多数数据库提供的建表sql脚本,这是通过适当的LoaderJob文件创建的。这个文件能够在conf/sql文件夹下被找到。 我们使用的默认数据库为HypersonicSQL,并且其他的数据库设置被注释,这些都是配置文件的一部分。显示如下: #
# The jdbc driver to use, and Database url.
DatabaseManager.DB.sharkdb.JdbcDriver="org.hsqldb.jdbcDriver"
DatabaseManager.DB.sharkdb.Connection.Url="jdbc:hsqldb:C:/users/sasaboy/sdb/Shark/output/Shark/db/hsql/hsql"
# DB2
#DatabaseManager.DB.sharkdb.JdbcDriver="COM.ibm.db2.jdbc.app.DB2Driver"
#DatabaseManager.DB.sharkdb.Connection.Url="jdbc:db2:shark"
# HypersonicSQL
#DatabaseManager.DB.sharkdb.JdbcDriver="org.hsqldb.jdbcDriver"
#DatabaseManager.DB.sharkdb.Connection.Url="jdbc:hsqldb:C:/users/sasaboy/Shark/output/Shark/db/hsql/hsql"
# Informix
#DatabaseManager.DB.sharkdb.JdbcDriver="com.informix.jdbc.IfxDriver"
#DatabaseManager.DB.sharkdb.Connection.Url="jdbc:informix-sqli://localhost/shark"
# MSQL
#DatabaseManager.DB.sharkdb.JdbcDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver"
#DatabaseManager.DB.sharkdb.Connection.Url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=shark;SelectMethod=cursor"
# MySQL
#DatabaseManager.DB.sharkdb.JdbcDriver="org.gjt.mm.mysql.Driver"
#DatabaseManager.DB.sharkdb.Connection.Url="jdbc:mysql://localhost/shark"
# Oracle
#DatabaseManager.DB.sharkdb.JdbcDriver="oracle.jdbc.driver.OracleDriver"
#DatabaseManager.DB.sharkdb.Connection.Url="jdbc:oracle:thin:@localhost:1521:shark"
# PostgreSQL
#DatabaseManager.DB.sharkdb.JdbcDriver="org.postgresql.Driver"
#DatabaseManager.DB.sharkdb.Connection.Url="jdbc:postgresql://localhost/shark"
#DatabaseManager.ObjectIdColumnName=ObjectId
#DatabaseManager.VersionColumnName=ObjectVersion
# Sybase
#DatabaseManager.DB.sharkdb.JdbcDriver="com.ddtek.jdbc.sybase.SybaseDriver"
#DatabaseManager.DB.sharkdb.Connection.Url="jdbc:sybase://localhost/shark"
选择完合适的数据库以后,你还需要设置用户名和密码,我们可以通过下列代码设置。
#
# Database user name. All connection are allocated by this user.
#
DatabaseManager.DB.sharkdb.Connection.User="sa"
# Database user password.
#
DatabaseManager.DB.sharkdb.Connection.Password=""
在配置shark使用其他的数据库过程中,你只需要简单地注释HypersonicSQL设置,然后解除并且编辑你喜欢的数据库配置,修改用户名和密码。 这里还有其他的DODS配置方面:CACHE数量: #
# Default cache configuration
#
DatabaseManager.defaults.cache.maxCacheSize=100
DatabaseManager.defaults.cache.maxSimpleCacheSize=50
DatabaseManager.defaults.cache.maxComplexCacheSize=25
如果你知道不同的shark实例使用不同的虚拟机和相同的数据库,你应该设置所有的CACHE数量为0。随之,CACHE管理器实现也不应该被使用。