Wild guess.... you are trying to serialize (with JSON plugin) a Hibernate proxy object. Maybe your object has a reference to another lazy loaded object or collection.
Using reflection on a proxy object is usually a bad idea. You may need to clone the object (to get a real one) first before serializing it with JSON. Greg On Mon, Dec 14, 2009 at 3:45 PM, Timothy Orme <to...@genome.med.harvard.edu> wrote: > Hello, > > I just recently switched to c3p0 and it fixed some other issues I was > having with dbcp, but another has arisen. > It seems to be a combination of using the c3p0 data source along with the > JSON plugin. Here's my (slightly shortened) stacktrace: > > Caused by: org.apache.struts2.json.JSONException: > org.apache.struts2.json.JSONException: > org.apache.struts2.json.JSONException: > java.lang.reflect.InvocationTargetException > at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:243) > at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:165) > at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:131) > at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:329) > at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:228) > ... 91 more > Caused by: org.apache.struts2.json.JSONException: > org.apache.struts2.json.JSONException: > java.lang.reflect.InvocationTargetException > at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:243) > at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:165) > at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:131) > at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:329) > at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:228) > ... 95 more > Caused by: org.apache.struts2.json.JSONException: > java.lang.reflect.InvocationTargetException > at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:243) > at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:165) > at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:131) > at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:329) > at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:228) > ... 99 more > Caused by: java.lang.reflect.InvocationTargetException > 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:597) > at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:227) > ... 103 more > Caused by: java.sql.SQLException: Unsupported feature: getCursorName > at > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) > at > oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) > at oracle.jdbc.driver.BaseResultSet.getCursorName(BaseResultSet.java:37) > at > com.mchange.v2.c3p0.impl.NewProxyResultSet.getCursorName(NewProxyResultSet.java:545) > ... 108 more > > I'm runing c3p0-0.9.1.2, struts 2.1.8.1 and its corresponding json plugin, > Oracle 10, and Hibernate 3.3.1.GA > > Heres my datasource in spring. Just using the defaults: > > <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> > <property name="driverClass" value="${database.driver}" /> > <property name="jdbcUrl" value="${database.connectionString}" /> > <property name="user" value="${database.username}" /> > <property name="password" value="${database.password}" /> > </bean> > > Should note that other pages seem to work fine and lazy load as well. Just > this json action is giving me problems. If you need more info let me know. > > Thanks! > -Tim > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org