[jboss-user] [JBoss Cache: Core Edition] - Question regarding JDBCCacheloader

jorgemoralespou_2 do-not-reply at jboss.com
Wed Oct 8 06:51:24 EDT 2008


Hi,
I have a JBC 1.4.1.SP10 configured with a JDBCCacheLoader. I`m seeing that when I query cache there is an access to database, although the queried object is in cache. Also, sometimes, I have problems qith my database connection, and I`m getting exceptions querying for objects that are in cache. I personally think taht if an object is found in cache, JBC should not query its cacheloaders to get that object. If that is the case, I rather go directly to database and not use JBC at all.


  | 2008-10-08 10:18:41,888 ERROR [org.jboss.cache.loader.JDBCCacheLoader] Failed to load node for fqn /APPLICATION_CREDENTIALS/Agend
  | aUnica_SPA:-:AgendaUnica_AA:-:AgendaUnica_AIG: No ManagedConnections available within configured blocking timeout ( 30000 [ms] ); -
  | nested throwable: (javax.resource.ResourceException: No ManagedConnections available within configured blocking timeout ( 30000 [ms]
  |  ))
  | org.jboss.util.NestedSQLException: No ManagedConnections available within configured blocking timeout ( 30000 [ms] ); - nested throw
  | able: (javax.resource.ResourceException: No ManagedConnections available within configured blocking timeout ( 30000 [ms] ))
  |         at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:94)
  |         at org.jboss.cache.loader.SOMJDBCCacheLoader$ManagedConnectionFactory.getConnection(Unknown Source)
  |         at org.jboss.cache.loader.SOMJDBCCacheLoader.loadNode(Unknown Source)
  |         at org.jboss.cache.loader.SOMJDBCCacheLoader.put(Unknown Source)
  |         at org.jboss.cache.loader.SOMJDBCCacheLoader.put(Unknown Source)
  |         at org.jboss.cache.loader.SOMJDBCCacheLoader.put(Unknown Source)
  |         at org.jboss.cache.loader.AsyncCacheLoader$AsyncProcessor.put(AsyncCacheLoader.java:449)
  |         at org.jboss.cache.loader.AsyncCacheLoader$AsyncProcessor.run0(AsyncCacheLoader.java:405)
  |         at org.jboss.cache.loader.AsyncCacheLoader$AsyncProcessor.run(AsyncCacheLoader.java:370)
  |         at java.lang.Thread.run(Thread.java:595)
  | Caused by: javax.resource.ResourceException: No ManagedConnections available within configured blocking timeout ( 30000 [ms] )
  |         at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:301)
  |         at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:51
  | 2)
  |         at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:341)
  |         at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:315)
  |         at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:396)
  |         at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManag
  | er2.java:842)
  |         at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
  |         ... 9 more
  | 

My cache is set as follows:

  |       <attribute name="UseRegionBasedMarshalling">true</attribute>
  |       <attribute name="InactiveOnStartup">false</attribute>
  | 
  |       <attribute name="CacheLoaderConfiguration">
  |          <config>
  |             <passivation>false</passivation>
  |             <preload>/</preload>
  |             <shared>true</shared>
  |             <cacheloader>
  |                <class>org.jboss.cache.loader.JDBCCacheLoader</class>
  |                <properties>
  |                   cache.jdbc.datasource=java:jdbc/som
  |                   cache.jdbc.table.name=core_data
  |                   cache.jdbc.table.create=true
  |                   cache.jdbc.table.drop=false
  |                   cache.jdbc.table.primarykey=jbosscache_pk
  |                   cache.jdbc.fqn.column=fqn
  |                   cache.jdbc.fqn.type=varchar(255)
  |                   cache.jdbc.node.column=node
  |                   cache.jdbc.node.type=blob
  |                   cache.jdbc.parent.column=parent
  |                </properties>
  |                <async>true</async>
  |                <fetchPersistentState>true</fetchPersistentState>
  |                <ignoreModifications>false</ignoreModifications>
  |             </cacheloader>
  |          </config>
  |       </attribute>
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4180993#4180993

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4180993



More information about the jboss-user mailing list