-
1. Re: JDBCCacheLoader feature
belaban Mar 29, 2005 8:19 AM (in response to lac_raz)Yes, look into the documentation (http://docs.jboss.org/jbcache/current/TreeCache/html/) or the javadoc for JDBCCacheLoader
-
2. Re: JDBCCacheLoader feature
lac_raz Apr 3, 2005 8:33 AM (in response to lac_raz)Thanks for your reply :-)
So lets say I have table named USER , with columns PHONE_NUMBER
, ADDRESS and ID (as key).
Then the CacheLoaderConfig will look like this ?
cache.jdbc.table.name=USER
cache.jdbc.table.create=true
cache.jdbc.table.drop=true
cache.jdbc.fqn.column=ID
cache.jdbc.fqn.type=varchar(255)
cache.jdbc.node.column=PHONE_NUMBER
cache.jdbc.node.type=VARCHAR(10)
cache.jdbc.node.column=ADDRESS
cache.jdbc.node.type=VARCHAR(10)
cache.jdbc.parent.column=parent -
3. Re: JDBCCacheLoader feature
belaban Apr 3, 2005 2:39 PM (in response to lac_raz)looks right, I wouldn't drop the table though
-
4. Re: JDBCCacheLoader feature
lac_raz Apr 4, 2005 5:23 AM (in response to lac_raz)10x :-)
I need to retrieve values from my Data Source into the cache
every 5 minutes (because my DataSource is changed from other source) .
Can I configure this in my xml configuration file ? -
5. Re: JDBCCacheLoader feature
belaban Apr 4, 2005 6:06 AM (in response to lac_raz)No, but I will add a method soon to configure JDBCCacheLoader from a DataSource. You'd be able to set it every 5 minutes I guess
-
6. Re: JDBCCacheLoader feature
lac_raz Apr 4, 2005 6:53 AM (in response to lac_raz)Great !!! :-)
will it be on 1.3 release ? -
7. Re: JDBCCacheLoader feature
belaban Apr 5, 2005 12:01 PM (in response to lac_raz)Currently scheduled for 1.3, but it may spill over to 1.4, b/c this is a low priority issue
-
8. Re: JDBCCacheLoader feature
lac_raz Apr 6, 2005 4:42 AM (in response to lac_raz)OK ,
I guess I can generate some workaround ....
Thanks :-) -
9. Re: JDBCCacheLoader feature
belaban Apr 6, 2005 5:15 AM (in response to lac_raz)Yes, I think you could easily create a subclass and fetch the data source from there
-
10. Re: JDBCCacheLoader feature
lac_raz Apr 7, 2005 9:14 AM (in response to lac_raz)I tried to configure the JDBCCacheLoader with the next params :
org.jboss.cache.loader.JDBCCacheLoader
true
/
false
false
cache.jdbc.table.name=subscribers
cache.jdbc.fqn.column=MSISDN
cache.jdbc.fqn.type=VARCHAR2(15)
cache.jdbc.node.column=USER_SUB_ID1
cache.jdbc.node.type=VARCHAR2(30)
cache.jdbc.node.column=USER_SUB_ID2
cache.jdbc.node.type=VARCHAR2(30)
cache.jdbc.datasource=java:/OracleDS
and it threw the next exception :
2005-04-07 16:09:21,598 ERROR [org.jboss.cache.loader.JDBCCacheLoader] Failed to get children names for fqn /
java.sql.SQLException: ORA-00904: "PARENT": invalid identifier
why is that ? -
11. Re: JDBCCacheLoader feature
belaban Apr 7, 2005 9:58 AM (in response to lac_raz)Look into your table schema, check for a PARENT column
-
12. Re: JDBCCacheLoader feature
lac_raz Apr 7, 2005 10:39 AM (in response to lac_raz)when using LRUPolicy as eviction policy I get the next exception :
Caused by: java.lang.NullPointerException
at org.jboss.cache.eviction.LRUPolicy.nodeVisited(LRUPolicy.java:100)
at org.jboss.cache.TreeCache.notifyNodeVisisted(TreeCache.java:3208)
at org.jboss.cache.TreeCache._get(TreeCache.java:1657)
I'm using JBoss 4.0.1
my config is :
jboss:service=Naming
jboss:service=TransactionManager
<!-- Use DefaultCache to bind the cache into JNDI. The proxy returned as part of the lookup can be used both
by local (e.g. servlet) and remote (e.g. RMI) clients -->
DBTablesCache
<!-- Configure the TransactionManager >
org.jboss.cache.JBossTransactionManagerLookup
-->
<!--
Node locking level : SERIALIZABLE
REPEATABLE_READ (default)
READ_COMMITTED
READ_UNCOMMITTED
NONE
-->
<!-- NONE -->
<!-- Valid modes are LOCAL
REPL_ASYNC
REPL_SYNC
-->
LOCAL
<!-- Name of cluster. Needs to be the same for all clusters, in order
to find each other -->
TreeCache-Cluster
<!-- 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="45566" 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"/>
<VERIFY_SUSPECT timeout="1500" up_thread="false" down_thread="false"/>
<pbcast.NAKACK gc_lag="50" max_xmit_size="8192" retransmit_timeout="600,1200,2400,4800" 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="false" down_thread="false"/>
<!-- 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. -->
<!-- attribute name="EvictionPolicyClass">org.jboss.cache.eviction.AopLRUPolicy</attribute -->
org.jboss.cache.eviction.LRUPolicy
<!-- Specific eviction policy configurations. This is LRU -->
5
<!-- Cache wide default -->
5000
1000
10
0
<!-- Whether or not to fetch state on joining a cluster -->
true
org.jboss.cache.loader.JDBCCacheLoader
true
/
false
false
cache.jdbc.table.name=subscribers
cache.jdbc.fqn.column=MSISDN
cache.jdbc.fqn.type=VARCHAR2(15)
cache.jdbc.node.column=USER_SUB_ID1
cache.jdbc.node.type=VARCHAR2(30)
cache.jdbc.node.column=USER_SUB_ID2
cache.jdbc.node.type=VARCHAR2(30)
cache.jdbc.parent.column=MSISDN
cache.jdbc.datasource=java:/OracleDS -
13. Re: JDBCCacheLoader feature
lac_raz Apr 7, 2005 10:42 AM (in response to lac_raz)when using LRUPolicy as eviction policy I get the next exception :
Caused by: java.lang.NullPointerException
at org.jboss.cache.eviction.LRUPolicy.nodeVisited(LRUPolicy.java:100)
at org.jboss.cache.TreeCache.notifyNodeVisisted(TreeCache.java:3208)
at org.jboss.cache.TreeCache._get(TreeCache.java:1657)
I'm using JBoss 4.0.1
my config is :
jboss:service=Naming
jboss:service=TransactionManager
<!-- Use DefaultCache to bind the cache into JNDI. The proxy returned as part of the lookup can be used both
by local (e.g. servlet) and remote (e.g. RMI) clients -->
DBTablesCache
<!-- Configure the TransactionManager >
org.jboss.cache.JBossTransactionManagerLookup
-->
<!--
Node locking level : SERIALIZABLE
REPEATABLE_READ (default)
READ_COMMITTED
READ_UNCOMMITTED
NONE
-->
<!-- NONE -->
<!-- Valid modes are LOCAL
REPL_ASYNC
REPL_SYNC
-->
LOCAL
<!-- Name of cluster. Needs to be the same for all clusters, in order
to find each other -->
TreeCache-Cluster
<!-- 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="45566" 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"/>
<VERIFY_SUSPECT timeout="1500" up_thread="false" down_thread="false"/>
<pbcast.NAKACK gc_lag="50" max_xmit_size="8192" retransmit_timeout="600,1200,2400,4800" 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="false" down_thread="false"/>
<!-- 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. -->
<!-- attribute name="EvictionPolicyClass">org.jboss.cache.eviction.AopLRUPolicy</attribute -->
org.jboss.cache.eviction.LRUPolicy
<!-- Specific eviction policy configurations. This is LRU -->
5
<!-- Cache wide default -->
5000
1000
10
0
<!-- Whether or not to fetch state on joining a cluster -->
true
org.jboss.cache.loader.JDBCCacheLoader
true
/
false
false
cache.jdbc.table.name=subscribers
cache.jdbc.fqn.column=MSISDN
cache.jdbc.fqn.type=VARCHAR2(15)
cache.jdbc.node.column=USER_SUB_ID1
cache.jdbc.node.type=VARCHAR2(30)
cache.jdbc.node.column=USER_SUB_ID2
cache.jdbc.node.type=VARCHAR2(30)
cache.jdbc.parent.column=MSISDN
cache.jdbc.datasource=java:/OracleDS -
14. Re: JDBCCacheLoader feature
nperidont Apr 27, 2005 8:04 AM (in response to lac_raz)Hi,
I get the same pb and afer looking at the source in cvs it seems that old version of TreeCache make the preload before configuring the LRUPolicy.
And cause the npe.
It seems to be corrected in the TreeCache.java revision 1.6 in cvs
Try to update your TreeCache version
Regards,
Nicolas PERIDONT