Help !! Simple JDBCCacheloader code not working
rskhanuja Apr 13, 2005 7:08 PMHi,
I am trying to test JDBCCacheLoader.But my simple program also is not working.
Here is the code
import java.util.Set;
import org.jboss.cache.Fqn;
import org.jboss.cache.PropertyConfigurator;
import org.jboss.cache.aop.TreeCacheAop;
import org.jboss.cache.loader.JDBCCacheLoader;
public class LargeObjectCacheManager {
TreeCacheAop tree = null;
public LargeObjectCacheManager()throws Exception {
tree = new TreeCacheAop();
PropertyConfigurator config = new PropertyConfigurator();
config.configure(tree,"test-service.xml");
tree.startService();
}
public void putLargeMessage(String id,String obj) throws Exception{
tree.putObject(id,obj);
}
public static void main(String args[]){
try{
LargeObjectCacheManager locm = new LargeObjectCacheManager();
JDBCCacheLoader cl = (JDBCCacheLoader)locm.tree.getCacheLoader();
cl.start();
boolean exists = cl.exists(new Fqn(new String("/poc/1")));
System.out.println("exists " + exists);
Set s =cl.getChildrenNames(new Fqn(new String("/poc/1")));
System.out.println("S is " + s);//###S coming Null ???
System.out.println("Size is " + s.size());
}catch(Exception e){
e.printStackTrace();
}
}
}
here is the config file
<?xml version="1.0" encoding="UTF-8"?>
<!-- ===================================================================== -->
<!-- -->
<!-- Sample TreeCache Service Configuration -->
<!-- -->
<!-- ===================================================================== -->
<!-- ==================================================================== -->
<!-- Defines TreeCache configuration -->
<!-- ==================================================================== -->
jboss:service=Naming
jboss:service=TransactionManager
<!--
Configure the TransactionManager
-->
org.jboss.cache.DummyTransactionManagerLookup
<!--
Isolation level : SERIALIZABLE
REPEATABLE_READ (default)
READ_COMMITTED
READ_UNCOMMITTED
NONE
-->
REPEATABLE_READ
<!--
Valid modes are LOCAL, REPL_ASYNC and REPL_SYNC
-->
REPL_ASYNC
<!--
Just used for async repl: use a replication queue
-->
false
<!--
Replication interval for replication queue (in ms)
-->
0
<!--
Max number of elements which trigger replication
-->
0
<!-- Name of cluster. Needs to be the same for all clusters, in order
to find each other
-->
TreeCache-Cluster
<!-- JGroups protocol stack properties. Can also be a URL,
e.g. file:/home/bela/default.xml
-->
<!-- UDP: if you have a multihomed machine,
set the bind_addr attribute to the appropriate NIC IP address -->
<!-- UDP: On Windows machines, because of the media sense feature
being broken with multicast (even after disabling media sense)
set the loopback attribute to true -->
<UDP mcast_addr="228.1.2.3" mcast_port="48866"
ip_ttl="64" ip_mcast="true"
mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
loopback="false"/>
<PING timeout="2000" num_initial_members="3"
up_thread="false" down_thread="false"/>
<MERGE2 min_interval="10000" max_interval="20000"/>
<!-- <FD shun="true" up_thread="true" down_thread="true" />-->
<FD_SOCK/>
<VERIFY_SUSPECT timeout="1500"
up_thread="false" down_thread="false"/>
<pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
max_xmit_size="8192" up_thread="false" down_thread="false"/>
<UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10"
down_thread="false"/>
<pbcast.STABLE desired_avg_gossip="20000"
up_thread="false" down_thread="false"/>
<FRAG frag_size="8192"
down_thread="false" up_thread="false"/>
<pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
shun="true" print_local_addr="true"/>
<pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
<!--
Whether or not to fetch state on joining a cluster
-->
true
<!--
The max amount of time (in milliseconds) we wait until the
initial state (ie. the contents of the cache) are retrieved from
existing members in a clustered environment
-->
5000
<!--
Number of milliseconds to wait until all responses for a
synchronous call have been received.
-->
10000
<!-- Max number of milliseconds to wait for a lock acquisition -->
15000
<!-- Name of the eviction policy class. Not supported now. -->
org.jboss.cache.loader.JDBCCacheLoader
true
/poc
false
false
cache.jdbc.table.name=POC_LargeMessages
cache.jdbc.table.create=false
cache.jdbc.table.drop=false
cache.jdbc.fqn.column=MessageID
cache.jdbc.fqn.type=varchar(255)
cache.jdbc.node.column=Message
cache.jdbc.node.type=blob
cache.jdbc.parent.column=parent
cache.jdbc.driver=oracle.jdbc.OracleDriver
cache.jdbc.url=jdbc:oracle:oci:@poc
cache.jdbc.user=pocuser
cache.jdbc.password=pocuser
<!-- Uncomment to get a graphical view of the TreeCache MBean above -->
<!-- -->
<!-- jboss.cache:service=TreeCache-->
<!-- jboss.cache:service=TreeCache-->
<!-- -->
#####
Output
####
log4j:WARN No appenders could be found for logger (org.jboss.cache.PropertyConfigurator).
log4j:WARN Please initialize the log4j system properly.
-------------------------------------------------------
GMS: address is rkhanuja:1440
-------------------------------------------------------
exists false
S is null
java.lang.NullPointerException
at LargeObjectCacheManager.main(LargeObjectCacheManager.java:37)
Your help is appreciated.
Thanks,
Ravi Singh Khanuja