Please see below java code and properties information which I am trying in local with Cassandra cql as backend. This code is not giving me the change log as event which I can get via gremlin console with same script and properties. Please let me know if anything needs to be modify here with code or properties.
package com.example.graph;
import org.janusgraph.core.JanusGraph;
import org.janusgraph.core.JanusGraphFactory;
import org.janusgraph.core.JanusGraphTransaction;
import org.janusgraph.core.JanusGraphVertex;
import org.janusgraph.core.log.ChangeProcessor;
import org.janusgraph.core.log.ChangeState;
import org.janusgraph.core.log.LogProcessorFramework;
import org.janusgraph.core.log.TransactionId;
public class TestLog {
public static void listenLogsEvent(){
JanusGraph graph = JanusGraphFactory.open("/home/ist/Downloads/IM/jgraphdb_local.properties");
LogProcessorFramework logProcessor = JanusGraphFactory.openTransactionLog(graph);
logProcessor.addLogProcessor("TestLog").
setProcessorIdentifier("TestLogCounter").
setStartTimeNow().
addProcessor(new ChangeProcessor(){
@Override
System.out.println("tx--"+tx.toString());
System.out.println("txId--"+txId.toString());
System.out.println("changeState--"+changeState.toString());
}
}).
build();
for(int i=0;i<=10;i++) {
System.out.println("going to add ="+i);
JanusGraphTransaction tx = graph.buildTransaction().logIdentifier("PawanTestLog").start();
JanusGraphVertex a = tx.addVertex("TimeL");
a.property("type", "HOLD");
a.property("serialNo", "XS31B4");
tx.commit();
System.out.println("Vertex committed ="+a.toString());
}
}
public static void main(String[] args) {
System.out.println("starting main");
listenLogsEvent();
}
}
<!----- graph properties------->
gremlin.graph=org.janusgraph.core.JanusGraphFactory
storage.backend = cql
storage.hostname = localhost
storage.cql.keyspace=janusgraphcql
query.fast-property = true
storage.lock.wait-time=10000
storage.batch-loading=true
Thanks in advance.