有没有办法将 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>
从此键和值存储在 ISPN_STRING_TABLE_TEST_STORE 中,其中<
namedCache name="TEST_STORE">。它将 ID 列中的键和 DATA_COLUMN 中的值保存为 Blob。我想将此 Blob 包含数据放入关系数据库(不作为对象)。例如,当我将 Employee 对象放入缓存时,它应该将数据库表作为具有员工属性的员工表作为该表中的字段。(Emp Name,Age.. etc)。有没有办法做到这一点?