【发布时间】:2012-09-06 03:37:49
【问题描述】:
有没有办法将 infinispan 缓存存储中的缓存对象持久保存到关系数据库表中?我试图将其作为 Cacheloader 来实现。
<loader class="org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore" fetchPersistentState="true" ignoreModifications="false" purgeOnStartup="false">
<properties>
<property name="stringsTableNamePrefix" value="ISPN_STRING_TABLE"/>
<property name="idColumnName" value="ID_COLUMN"/>
<property name="dataColumnName" value="DATA_COLUMN"/>
<property name="timestampColumnName" value="TIMESTAMP_COLUMN"/>
<property name="timestampColumnType" value="BIGINT"/>
<property name="connectionFactoryClass" value="org.infinispan.loaders.jdbc.connectionfactory.PooledConnectionFactory"/>
<property name="connectionUrl" value="jdbc:derby://localhost:1527/DB;create=true"/>
<property name="userName" value="user"/>
<property name="password" value="password"/>
<property name="driverClass" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="idColumnType" value="VARCHAR(255)"/>
<property name="dataColumnType" value="BLOB"/>
<property name="dropTableOnExit" value="false"/>
<property name="createTableOnStart" value="true"/>
</properties>
</loader>
From 此键和值存储在 ISPN_STRING_TABLE_TEST_STORE 中,其中<namedCache name="TEST_STORE">。它将 ID 列中的键和 DATA_COLUMN 中的值保存为 Blob。我想将此 Blob 包含数据放入关系数据库(不作为对象)。例如,当我将 Employee 对象放入缓存时,它应该将数据库表作为Employee 表,其中包含员工属性作为该表中的字段。(Emp Name、Age.. 等)。有没有办法做到这一点?
【问题讨论】:
标签: caching jboss infinispan