I get java.io.NotSerializableException  when using the JDBC Cache loader to 
persist to JDBC backend.

I was under the impression that with TreeCacheAop and aspectizing, there is no 
need to Serialize my cache business objects.

could someone shed some light on this or point me to specific section in docs 
for this ?





  | 
  | [16:16:31.916] [INFO ] [PrimaryCacheTest    ][setUp] - SETUP
  | [16:16:32.555] [INFO ] [cache.PropertyConfigurator][<init>] - Found 
existing property editor for org.w3c.dom.Element: [EMAIL PROTECTED]
  | [16:16:33.105] [INFO ] [cache.PropertyConfigurator][configure] - 
configure(): attribute size: 20
  | [16:16:33.140] [INFO ] [cache.TreeCache     ][setClusterConfig] - setting 
cluster properties from xml to: 
UDP(ip_mcast=true;ip_ttl=64;loopback=false;mcast_addr=228.1.2.3;mcast_port=48866;mcast_recv_buf_size=80000;mcast_send_buf_size=150000;ucast_recv_buf_size=80000;ucast_send_buf_size=150000):PING(down_thread=false;num_initial_members=3;timeout=2000;up_thread=false):MERGE2(max_interval=20000;min_interval=10000):FD_SOCK:VERIFY_SUSPECT(down_thread=false;timeout=1500;up_thread=false):pbcast.NAKACK(down_thread=false;gc_lag=50;max_xmit_size=8192;retransmit_timeout=600,1200,2400,4800;up_thread=false):UNICAST(down_thread=false;min_threshold=10;timeout=600,1200,2400;window_size=100):pbcast.STABLE(desired_avg_gossip=20000;down_thread=false;up_thread=false):FRAG(down_thread=false;frag_size=8192;up_thread=false):pbcast.GMS(join_retry_timeout=2000;join_timeout=5000;print_local_addr=true;shun=true):pbcast.STATE_TRANSFER(down_thread=true;up_thread=true)
  | [16:16:33.299] [INFO ] [cache.TreeCache     
][createPessimisticInterceptorChain] - interceptor chain is:
  | class org.jboss.cache.interceptors.CallInterceptor
  | class org.jboss.cache.interceptors.PessimisticLockInterceptor
  | class org.jboss.cache.interceptors.CacheStoreInterceptor
  | class org.jboss.cache.interceptors.CacheLoaderInterceptor
  | class org.jboss.cache.interceptors.UnlockInterceptor
  | [16:16:33.310] [INFO ] [cache.TreeCache     ][_createService] - cache mode 
is local, will not create the channel
  | [16:16:34.068] [INFO ] [cache.TreeCache     ][cacheLoaderPreload] - 
preloading transient state from cache loader
  | [16:16:34.127] [INFO ] [cache.TreeCache     ][cacheLoaderPreload] - 
preloading transient state from cache loader was successful (in 57 milliseconds)
  | [16:16:34.129] [INFO ] [cache.TreeCache     ][startService] - Cache is 
started!!
  | [16:16:34.237] [ERROR] [loader.JDBCCacheLoader][insertNode] - Failed to 
insert node: com.mycompany.performance.cache.MockOrder
  | java.io.NotSerializableException: com.mycompany.performance.cache.MockOrder
  |     at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
  |     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
  |     at java.util.HashMap.writeObject(HashMap.java:978)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:324)
  |     at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
  |     at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
  |     at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
  |     at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
  |     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
  |     at org.jboss.invocation.MarshalledValue.<init>(MarshalledValue.java:57)
  |     at 
org.jboss.cache.loader.JDBCCacheLoader.insertNode(JDBCCacheLoader.java:954)
  |     at org.jboss.cache.loader.JDBCCacheLoader.put(JDBCCacheLoader.java:338)
  |     at 
com.mycompany.performance.cache.JbossCacheAOPCacheTest.testJDBCPersistance(JbossCacheAOPCacheTest.java:449)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:324)
  |     at junit.framework.TestCase.runTest(TestCase.java:154)
  |     at junit.framework.TestCase.runBare(TestCase.java:127)
  |     at junit.framework.TestResult$1.protect(TestResult.java:106)
  |     at junit.framework.TestResult.runProtected(TestResult.java:124)
  |     at junit.framework.TestResult.run(TestResult.java:109)
  |     at junit.framework.TestCase.run(TestCase.java:118)
  |     at junit.framework.TestSuite.runTest(TestSuite.java:208)
  |     at junit.framework.TestSuite.run(TestSuite.java:203)
  |     at junit.textui.TestRunner.doRun(TestRunner.java:116)
  |     at 
com.intellij.rt.execution.junit2.IdeaJUnitAgent.doRun(IdeaJUnitAgent.java:57)
  |     at junit.textui.TestRunner.start(TestRunner.java:172)
  |     at 
com.intellij.rt.execution.junit.TextTestRunner2.startRunnerWithArgs(TextTestRunner2.java:23)
  |     at 
com.intellij.rt.execution.junit2.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:97)
  |     at 
com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:31)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:324)
  |     at com.intellij.rt.execution.application.AppMain.main(AppMain.java:78)
  | 


I use the following configuration in my config xml file:


  | <attribute 
name="CacheLoaderClass">org.jboss.cache.loader.JDBCCacheLoader</attribute>
  |         <attribute name="CacheLoaderShared">false</attribute>
  |         <attribute name="CacheLoaderPreload">/</attribute>
  |         <attribute name="CacheLoaderFetchTransientState">false</attribute>
  |         <attribute name="CacheLoaderFetchPersistentState">true</attribute>
  |         <attribute name="CacheLoaderConfig">
  |           cache.jdbc.table.name=jbosscache2
  |           cache.jdbc.table.create=true
  |           cache.jdbc.table.drop=false
  |           cache.jdbc.fqn.column=fqn
  |           cache.jdbc.fqn.type=varchar(255)
  |           cache.jdbc.node.column=node
  |           cache.jdbc.node.type=byte
  |           cache.jdbc.parent.column=parent
  |           cache.jdbc.driver=com.informix.jdbc.IfxDriver
  |           
cache.jdbc.url=jdbc:informix-sqli://myserver:1500/mytestdb:INFORMIXSERVER=mydbserver
  |           cache.jdbc.user=someuser
  |           cache.jdbc.password=xyz
  |         </attribute>
  | 
  | 


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

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


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to