|
Hi,
I had a domain object that looks like this: class AuditMessage { ... byte[] data String getDataAsString() { new String(data) } void setDataAsString(String dataStr) { data = dataStr.bytes } ... } The problem was: with Oracle, inserts were taking a long time when data was of type LONG RAW. So I migrated to BLOB. And my insert performance improved immediately. class AuditMessage { ... Blob data String getDataAsString() { ... code too long to explain ... } void setDataAsString(String dataStr) { data = Hibernate.createBlob(dataStr.bytes) } ... } However I started seeing a problem in my restful controller. Class org.codehaus.groovy.grails.web.converters.marshaller.json.GenericJavaBeanMarshaller can not access a member of class oracle.jdbc.driver.OracleBufferedStream with modifiers "public". Stacktrace follows: java.lang.IllegalAccessException: Class org.codehaus.groovy.grails.web.converters.marshaller.json.GenericJavaBeanMarshaller can not access a member of class oracle.jdbc.driver.OracleBufferedStream with modifiers "public" at grails.converters.JSON.value(JSON.java:199) at grails.converters.JSON.convertAnother(JSON.java:162) at grails.converters.JSON.value(JSON.java:199) at grails.converters.JSON.convertAnother(JSON.java:162) at grails.converters.JSON.value(JSON.java:199) at grails.converters.JSON.convertAnother(JSON.java:162) at grails.converters.JSON.value(JSON.java:199) at grails.converters.JSON.convertAnother(JSON.java:162) at grails.converters.JSON.value(JSON.java:199) at grails.converters.JSON.convertAnother(JSON.java:162) at grails.converters.JSON.value(JSON.java:199) at grails.converters.JSON.convertAnother(JSON.java:162) at grails.converters.JSON.value(JSON.java:199) at grails.converters.JSON.render(JSON.java:134) at grails.converters.JSON.render(JSON.java:150) at com.cds.healthdock.audit.AuditMessageController$_list_closure2_closure7.doCall(AuditMessageController.groovy:60) at com.cds.healthdock.audit.AuditMessageController.list(AuditMessageController.groovy:56) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Also the generated json stops being generated with the field data, like this: "data":{"binaryStream":{"class":"oracle.jdbc.driver.OracleBlobInputStream" Any suggestions on how this can be fixed? R, rahul
|
|
Bump!
On Jun 28, 2012, at 5:33 PM, Rahul Somasunderam wrote:
|
| Powered by Nabble | Edit this page |
