TreeCache problem - JDBC - JdbcStringBasedCacheStore
eialbur Sep 8, 2012 6:41 PMI wrote what I thought was a minimal program just to get experience with TreeCache. Any help would be welcome.
Contrary to appearances, I am an experienced Java programmer ... I just can't seem to get my feet under me with Infinicache.
I appreciate any help you can provide.
Config File:
<infinispan>
<namedCache name="category">
<loaders passivation="false" shared="false" preload="true">
<loader
class="org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore"
fetchPersistentState="true" purgeOnStartup="false">
<properties>
<property name="databaseType" value="MYSQL" />
<property name="connectionFactoryClass"
value="org.infinispan.loaders.jdbc.connectionfactory.SimpleConnectionFactory" />
<property name="connectionUrl" value="jdbc:mysql://localhost:3306/Hookup" />
<property name="userName" value="root" />
<property name="password" value="passw0rd" />
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="stringsTableNamePrefix" value="cache" />
<property name="dropTableOnExit" value="false" />
<property name="createTableOnStart" value="false" />
<property name="timestampColumnName" value="timestamp" />
<property name="timestampColumnType" value="INT8" />
<property name="idColumnName" value="category" />
<property name="idColumnType" value="VARCHAR(255)" />
<property name="dataColumnName" value="id" />
<property name="dataColumnType" value="INTEGER" />
</properties>
</loader>
</loaders>
<transaction transactionMode="TRANSACTIONAL" />
<invocationBatching enabled="true" />
</namedCache>
</infinispan>
Java File (snippet):
public static void main(String[] args) throws IOException {
DefaultCacheManager dcm = new DefaultCacheManager("InfiniConfig.xml");
Cache<String, Object> c = dcm.getCache("category");
TreeCache<String, Object> treeCache = new TreeCacheFactory().createTreeCache(c);
Error on createTreeCache:
Exception in thread "main" org.infinispan.CacheException: Unable to end batch
at org.infinispan.batch.BatchContainer.endBatch(BatchContainer.java:107)
at org.infinispan.batch.AutoBatchSupport.endAtomic(AutoBatchSupport.java:49)
at org.infinispan.tree.TreeStructureSupport.exists(TreeStructureSupport.java:56)
at org.infinispan.tree.TreeStructureSupport.exists(TreeStructureSupport.java:46)
at org.infinispan.tree.TreeCacheImpl.createRoot(TreeCacheImpl.java:442)
at org.infinispan.tree.TreeCacheImpl.<init>(TreeCacheImpl.java:54)
at org.infinispan.tree.TreeCacheImpl.<init>(TreeCacheImpl.java:46)
at org.infinispan.tree.TreeCacheFactory.createTreeCache(TreeCacheFactory.java:58)
at com.albury.infinitest.InfiniTest.main(InfiniTest.java:34)
Caused by: javax.transaction.RollbackException: Transaction status is Status.STATUS_MARKED_ROLLBACK
at org.infinispan.transaction.tm.DummyBaseTransactionManager.commit(DummyBaseTransactionManager.java:100)
at org.infinispan.batch.BatchContainer.resolveTransaction(BatchContainer.java:123)
at org.infinispan.batch.BatchContainer.endBatch(BatchContainer.java:105)
... 8 more