WEB开发网
开发学院软件开发Java 用 Slice 扩展 OpenJPA 应用程序 阅读

用 Slice 扩展 OpenJPA 应用程序

 2010-10-09 08:13:28 来源:WEB开发网   
核心提示: 主片的显式指定并不是强制的,如果这个属性没有指定,用 Slice 扩展 OpenJPA 应用程序(6),第一个片将被指定为主片,当然这时的有效词是 first,这样一来,在这个示例配置中,这里假设这些片需要进行排序,这些片的排序在 openjpa.slice.Names 显式指定时

主片的显式指定并不是强制的。如果这个属性没有指定,第一个片将被指定为主片。当然这时的有效词是 first。这里假设这些片需要进行排序。这些片的排序在 openjpa.slice.Names 显式指定时,由此列表施加。否则,这些片会按其标识的字母顺序进行排序(虽然是试探式的,但的确是一种排序)。为了避免这类隐式的试探,建议显式指定 openjpa.slice.Names 和 openjpa.slice.Master。

每个片的可用性

在一个多数据库场景中,可能会有一个或多个数据库不可用。当 Slice 不能连接到一个或多个分区时,就由如下的属性支配行为:

    <property 
    name="openjpa.slice.Lenient" 
    value="true"/> 

将这个属性设置为 true 就可以让 Slice 在一个或多个片不可用时仍可继续。默认情况下,这个值是 false,并且如果这些已配置的片中有一个片是不可连接的,Slice 将不能启动。正如本例所展示的,第三个片指向的是一个无效的数据库 URL。这时,若将这个属性设为 true,就能让 Slice 在有两个有效的片的情况下也能启动并会忽略那个不能获取的片。

配置各物理数据库

每个由逻辑标识符标识的片必须指定其物理数据库 URL 和其他的一些属性。如下的例子显示了一个片的特定于片的配置,逻辑上标识为 One:

    <property 
    name="openjpa.slice.One.ConnectionURL" 
    value="jdbc:derby:target/database/slice1"/> 

这个属性将逻辑上标识为 One 的分区分配给一个 URL 为 jdbc:derby:target/database/slice1 的 Derby 数据库的一个物理实例。

如前面所提到的,每个特定于片的配置属性名均以 openjpa.slice.<logical slice identifier> 开头,后跟原始 OpenJPA 属性键后缀,比如 ConnectionURL。这种命名约定让用户可以用任意的 OpenJPA 属性独立配置每个片。另一方面,一些跨片常见的配置属性可以被简单地指定为原始的 OpenJPA 属性。这样一来,在这个示例配置中,此 JDBC 数据库驱动器就可以被指定为常见属性并应用到所有片,如下所示:

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Slice 扩展 OpenJPA

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接