Hi,
I have an existing project using grails 2.0.4 and smartgwt LGPL. I would like to evaluate smartgwt server features like Excel Export and queueing.
How can I incorporate smartgwt Pro/Power into my current project?
Do I need to copy all lib files from smartgwtee to grails lib directory?
Thanks,
Felix
Announcement
Collapse
No announcement yet.
X
-
We've just fixed the issue with serialization of Hibernate proxies and the fix will be in tomorrow's build.
As far as the new exception, it looks like Spring thinks it should be involved in the transaction, and it should not. Seems like you should look for a way to just turn it off.
Leave a comment:
-
Hi,
after Adding
Code:dropExtraFields="true"
Somehow, this issue seems similar to this one here:
http://forums.smartclient.com/showthread.php?p=93992#post93992
Anyway, now I get a No Hibernate Session bound to thread Exception:
Code:2012-10-19 15:03:51,902 [quartzScheduler_Worker-10] INFO jobs.SendPendingCommandMessagesJob - <<<<< Trying to send 0 pending command messages... Currently 0 devices connected. === 2012-10-19 15:04:02,048 [ec-6] DEBUG IDACall - Header Name:Value pair: host:localhost:8080 === 2012-10-19 15:04:02,049 [ec-6] DEBUG IDACall - Header Name:Value pair: user-agent:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0 === 2012-10-19 15:04:02,049 [ec-6] DEBUG IDACall - Header Name:Value pair: accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 === 2012-10-19 15:04:02,049 [ec-6] DEBUG IDACall - Header Name:Value pair: accept-language:en-US;q=0.8 === 2012-10-19 15:04:02,049 [ec-6] DEBUG IDACall - Header Name:Value pair: accept-encoding:gzip, deflate === 2012-10-19 15:04:02,049 [ec-6] DEBUG IDACall - Header Name:Value pair: dnt:1 === 2012-10-19 15:04:02,049 [ec-6] DEBUG IDACall - Header Name:Value pair: connection:keep-alive === 2012-10-19 15:04:02,049 [ec-6] DEBUG IDACall - Header Name:Value pair: content-type:application/x-www-form-urlencoded; charset=UTF-8 === 2012-10-19 15:04:02,049 [ec-6] DEBUG IDACall - Header Name:Value pair: referer:http://localhost:8080/aCompany/myApp?gwt.codesvr=127.0.0.1:9997 === 2012-10-19 15:04:02,049 [ec-6] DEBUG IDACall - Header Name:Value pair: content-length:904 === 2012-10-19 15:04:02,049 [ec-6] DEBUG IDACall - Header Name:Value pair: cookie:JSESSIONID=774CCA2AFFDD44B90DF682FC79B954D2; view_state=nc1; GLog=%7B%0D%20%20%20%20left%3A0%2C%20%0D%20%20%20%20top%3A0%2C%20%0D%20%20%20%20width%3A1386%2C%20%0D%20%20%20%20height%3A713%2C%20%0D%20%20%20%20priorityDefaults%3A%7B%0D%20%20%20%20%20%20%20%20Log%3A4%0D%20%20%20%20%7D%2C%20%0D%20%20%20%20defaultPriority%3A3%2C%20%0D%20%20%20%20trackRPC%3Atrue%0D%7D === 2012-10-19 15:04:02,049 [ec-6] DEBUG IDACall - Header Name:Value pair: pragma:no-cache === 2012-10-19 15:04:02,049 [ec-6] DEBUG IDACall - Header Name:Value pair: cache-control:no-cache === 2012-10-19 15:04:02,050 [ec-6] DEBUG IDACall - session exists: 774CCA2AFFDD44B90DF682FC79B954D2 === 2012-10-19 15:04:02,050 [ec-6] DEBUG IDACall - remote user: 74 === 2012-10-19 15:04:02,053 [ec-6] INFO RequestContext - URL: '/aCompany/sc/IDACall', User-Agent: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0': Moz (Gecko) with Accept-Encoding header === 2012-10-19 15:04:02,064 [ec-6] DEBUG XML - Parsed XML from (in memory stream): 3ms === 2012-10-19 15:04:02,071 [ec-6] DEBUG XML - Parsed XML from D:\workspaces\aCompany\web-app\sc\system\schema\List.ds.xml: 4ms === 2012-10-19 15:04:02,075 [ec-6] DEBUG RPCManager - Processing 1 requests. === 2012-10-19 15:04:02,085 [ec-6] WARN BasicDataSource - Can not load related data source 'org.springframework.validation.Errors' for field 'errors'. Treating as simple field. === 2012-10-19 15:04:02,086 [ec-6] WARN BasicDataSource - Can not load related data source 'java.util.Map' for field 'properties'. Treating as simple field. === 2012-10-19 15:04:02,087 [ec-6] DEBUG DataSourceAnnotations - Generating data source 'Task' for class com.aCompany.Task === 2012-10-19 15:04:02,088 [ec-6] DEBUG RPCManager - Request #1 (DSRequest) payload: { values:{ someName:"whatever" }, operationConfig:{ dataSource:"task", operationType:"add" }, componentId:"isc_SmartListGrid_0", appID:"builtinApplication", operation:"task_add", oldValues:{ someName:"whatever" }, criteria:{ } } === 2012-10-19 15:04:02,092 [ec-6] INFO IDACall - Performing 1 operation(s) === 2012-10-19 15:04:02,092 [ec-6] DEBUG DeclarativeSecurity - Processing security checks for DataSource null, field null === 2012-10-19 15:04:02,092 [ec-6] DEBUG DeclarativeSecurity - DataSource task is not in the pre-checked list, processing... === 2012-10-19 15:04:02,104 [ec-6] DEBUG AppBase - [builtinApplication.task_add] No userTypes defined, allowing anyone access to all operations for this application === 2012-10-19 15:04:02,105 [ec-6] DEBUG AppBase - [builtinApplication.task_add] No public zero-argument method named '_task_add' found, performing generic datasource operation === 2012-10-19 15:04:02,107 [ec-6] INFO HibernateDataSource - [builtinApplication.task_add] Performing add operation with criteria: {someName:"whatever"} values: {someName:"whatever"} === 2012-10-19 15:04:02,110 [ec-6] DEBUG HibernateTransaction - [builtinApplication.task_add] Started new transaction "311113960" === 2012-10-19 15:04:02,115 [ec-6] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8 === 2012-10-19 15:04:02,116 [ec-6] INFO HibernateTransaction - Attempting to commit 1 database update(s) === 2012-10-19 15:04:02,116 [ec-6] DEBUG HibernateTransaction - Committing transaction "311113960" 2012-10-19 15:04:02,144 [http-bio-8080-exec-6] ERROR events.PatchedDefaultFlushEventListener - Could not synchronize database state with session org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here at org.grails.datastore.mapping.engine.event.AbstractPersistenceEventListener.onApplicationEvent(AbstractPersistenceEventListener.java:46) at com.isomorphic.hibernate.HibernateTransaction.commitTransaction(HibernateTransaction.java:242) at com.isomorphic.hibernate.HibernateTransaction.commitTransaction(HibernateTransaction.java:203) at com.isomorphic.hibernate.HibernateDataSource.onSuccess(HibernateDataSource.java:5544) at com.isomorphic.rpc.RPCManager.onSuccess(RPCManager.java:1577) at com.isomorphic.rpc.RPCManager.completeResponse(RPCManager.java:1126) at com.isomorphic.rpc.RPCManager.send(RPCManager.java:586) at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:173) at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:138) at com.isomorphic.servlet.IDACall.doPost(IDACall.java:74) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:380) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.apache.shiro.grails.SavedRequestFilter.doFilter(SavedRequestFilter.java:55) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722)
I've encountered this one quite a number of times when using hibernate and usually got around this by either using transactions or a hibernate session management mechanism, but have no idea how this could be done using a SGWT server side DS.
Any pointers here?
Thanks
fatzopilot
Leave a comment:
-
There's nothing wrong with the configuration you've shown us.
Again, if you look at the stack you can see that in your particular Hibernate/Spring setup, the Java Reflection API has been fundamentally broken. There's no kind of configuration you could possibly apply to SmartGWT to fix this - it's a Spring or Hibernate problem.
Leave a comment:
-
> That said, if you can't solve it, SQLDataSource is another way to proceed, and it's going to make available more of the feature of Power Edition (like SQL Templating and automatic generation of SQL for AdvancedCriteria)
That’s not an option as we use a lot of hibernate features like formulas and filters and it would be a lot of boilerplate to replicate this in plain SQL for the web tier.
Can you confirm that above configuration is the/one configuration that is supposed to work with plain spring + hibernate?
Thanks
fatzopilot
Leave a comment:
-
This doesn't look like a conflict of Spring versions, rather just some kind of bug in Spring that is manifesting in your application. We're not directly calling Spring APIs in this stack, we're calling the core Java API Method.invoke() and Spring appears to have broken this API for your bean.
That said, if you can't solve it, SQLDataSource is another way to proceed, and it's going to make available more of the feature of Power Edition (like SQL Templating and automatic generation of SQL for AdvancedCriteria).
Leave a comment:
-
Hi,
thanks, the current nightlies indeed get around this.
Im am now able to successfully (i.e. the correct field definitions are derived on the client side and the server side generates appropriate fetch requests if the filter editor is used) create a datasource that is available on the client, using e.g.
Code:<DataSource ID="task" serverType="hibernate" autoDeriveSchema="true" schemaBean="com.aCompany.Task" > <fields> <field name="id" hidden="true"/> <field name="version" hidden="true"/> <field name="attached" hidden="true"/> <field name="errors" hidden="true"/> <field name="properties" hidden="true"/> </fields> </DataSource>
Code:hibernate.config.lookupStyle: spring hibernate.config.bean: sessionFactory
On loading data, a hibernate fetch query is generated on the server which initially does not return any values (as the table is empty).
Now, if data is involved (i.e. either a record is generated on the client or an existing row should be passed to the client), there is trouble with this style of exceptions:
Code:Setting value to the error string and continuing === 2012-10-13 13:32:34,455 [ec-1] DEBUG DataTools - Bean inspection: invocation of org.springframework.beans.GenericTypeAwarePropertyDescriptor.getReadMethod() while trying to obtain property 'readMethod' threw an exception: java.lang.IllegalAccessException: Class com.isomorphic.util.DataTools can not access a member of class org.springframework.beans.GenericTypeAwarePropertyDescriptor with modifiers "public" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:95) at com.springsource.loaded.jvm.JVM.ensureMemberAccess(JVM.java:90) at com.springsource.loaded.ri.ReflectiveInterceptor.asAccessibleMethod(ReflectiveInterceptor.java:511) at com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1230) at com.isomorphic.util.DataTools.getProperties(DataTools.java:2670) at com.isomorphic.util.DataTools.getProperties(DataTools.java:2617) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:701) at com.isomorphic.js.JSTranslater.convertIterator(JSTranslater.java:1215) at com.isomorphic.js.JSTranslater.convertCollection(JSTranslater.java:1166) at com.isomorphic.js.JSTranslater.convertArray(JSTranslater.java:1128) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:665) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:661) at com.isomorphic.js.JSTranslater.convertIterator(JSTranslater.java:1215) at com.isomorphic.js.JSTranslater.convertCollection(JSTranslater.java:1166) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:663) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.toJS(JSTranslater.java:561) at com.isomorphic.rpc.RPCManager.completeResponse(RPCManager.java:1316) at com.isomorphic.rpc.RPCManager.send(RPCManager.java:586) at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:173) at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:138) at com.isomorphic.servlet.IDACall.doPost(IDACall.java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.processFilterChain(UrlMappingsFilter.java:364) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:231) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:200) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:151) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:69) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:65) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.plugins.gwt.GwtCacheControlFilter.doFilter(GwtCacheControlFilter.java:50) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:380) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.grails.SavedRequestFilter.doFilter(SavedRequestFilter.java:55) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Setting value to the error string and continuing === 2012-10-13 13:32:34,456 [ec-1] DEBUG DataTools - Bean inspection: invocation of org.springframework.beans.GenericTypeAwarePropertyDescriptor.getWriteMethod() while trying to obtain property 'writeMethod' threw an exception: java.lang.IllegalAccessException: Class com.isomorphic.util.DataTools can not access a member of class org.springframework.beans.GenericTypeAwarePropertyDescriptor with modifiers "public" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:95) at com.springsource.loaded.jvm.JVM.ensureMemberAccess(JVM.java:90) at com.springsource.loaded.ri.ReflectiveInterceptor.asAccessibleMethod(ReflectiveInterceptor.java:511) at com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1230) at com.isomorphic.util.DataTools.getProperties(DataTools.java:2670) at com.isomorphic.util.DataTools.getProperties(DataTools.java:2617) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:701) at com.isomorphic.js.JSTranslater.convertIterator(JSTranslater.java:1215) at com.isomorphic.js.JSTranslater.convertCollection(JSTranslater.java:1166) at com.isomorphic.js.JSTranslater.convertArray(JSTranslater.java:1128) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:665) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:661) at com.isomorphic.js.JSTranslater.convertIterator(JSTranslater.java:1215) at com.isomorphic.js.JSTranslater.convertCollection(JSTranslater.java:1166) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:663) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.toJS(JSTranslater.java:561) at com.isomorphic.rpc.RPCManager.completeResponse(RPCManager.java:1316) at com.isomorphic.rpc.RPCManager.send(RPCManager.java:586) at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:173) at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:138) at com.isomorphic.servlet.IDACall.doPost(IDACall.java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.processFilterChain(UrlMappingsFilter.java:364) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:231) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:200) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:151) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:69) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:65) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.plugins.gwt.GwtCacheControlFilter.doFilter(GwtCacheControlFilter.java:50) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:380) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.grails.SavedRequestFilter.doFilter(SavedRequestFilter.java:55) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Setting value to the error string and continuing === 2012-10-13 13:32:34,457 [ec-1] DEBUG DataTools - Bean inspection: invocation of org.springframework.beans.GenericTypeAwarePropertyDescriptor.getWriteMethodForActualAccess() while trying to obtain property 'writeMethodForActualAccess' threw an exception: java.lang.IllegalAccessException: Class com.isomorphic.util.DataTools can not access a member of class org.springframework.beans.GenericTypeAwarePropertyDescriptor with modifiers "public" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:95) at com.springsource.loaded.jvm.JVM.ensureMemberAccess(JVM.java:90) at com.springsource.loaded.ri.ReflectiveInterceptor.asAccessibleMethod(ReflectiveInterceptor.java:511) at com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1230) at com.isomorphic.util.DataTools.getProperties(DataTools.java:2670) at com.isomorphic.util.DataTools.getProperties(DataTools.java:2617) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:701) at com.isomorphic.js.JSTranslater.convertIterator(JSTranslater.java:1215) at com.isomorphic.js.JSTranslater.convertCollection(JSTranslater.java:1166) at com.isomorphic.js.JSTranslater.convertArray(JSTranslater.java:1128) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:665) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:661) at com.isomorphic.js.JSTranslater.convertIterator(JSTranslater.java:1215) at com.isomorphic.js.JSTranslater.convertCollection(JSTranslater.java:1166) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:663) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.toJS(JSTranslater.java:561) at com.isomorphic.rpc.RPCManager.completeResponse(RPCManager.java:1316) at com.isomorphic.rpc.RPCManager.send(RPCManager.java:586) at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:173) at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:138) at com.isomorphic.servlet.IDACall.doPost(IDACall.java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.processFilterChain(UrlMappingsFilter.java:364) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:231) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:200) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:151) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:69) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:65) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.plugins.gwt.GwtCacheControlFilter.doFilter(GwtCacheControlFilter.java:50) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:380) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.grails.SavedRequestFilter.doFilter(SavedRequestFilter.java:55) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Setting value to the error string and continuing === 2012-10-13 13:32:34,460 [ec-1] DEBUG DataTools - Bean inspection: invocation of org.springframework.beans.GenericTypeAwarePropertyDescriptor.getWriteMethodParameter() while trying to obtain property 'writeMethodParameter' threw an exception: java.lang.IllegalAccessException: Class com.isomorphic.util.DataTools can not access a member of class org.springframework.beans.GenericTypeAwarePropertyDescriptor with modifiers "public synchronized" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:95) at com.springsource.loaded.jvm.JVM.ensureMemberAccess(JVM.java:90) at com.springsource.loaded.ri.ReflectiveInterceptor.asAccessibleMethod(ReflectiveInterceptor.java:511) at com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1230) at com.isomorphic.util.DataTools.getProperties(DataTools.java:2670) at com.isomorphic.util.DataTools.getProperties(DataTools.java:2617) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:701) at com.isomorphic.js.JSTranslater.convertIterator(JSTranslater.java:1215) at com.isomorphic.js.JSTranslater.convertCollection(JSTranslater.java:1166) at com.isomorphic.js.JSTranslater.convertArray(JSTranslater.java:1128) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:665) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:661) at com.isomorphic.js.JSTranslater.convertIterator(JSTranslater.java:1215) at com.isomorphic.js.JSTranslater.convertCollection(JSTranslater.java:1166) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:663) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.toJS(JSTranslater.java:561) at com.isomorphic.rpc.RPCManager.completeResponse(RPCManager.java:1316) at com.isomorphic.rpc.RPCManager.send(RPCManager.java:586) at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:173) at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:138) at com.isomorphic.servlet.IDACall.doPost(IDACall.java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.processFilterChain(UrlMappingsFilter.java:364) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:231) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:200) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:151) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:69) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:65) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.plugins.gwt.GwtCacheControlFilter.doFilter(GwtCacheControlFilter.java:50) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:380) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.grails.SavedRequestFilter.doFilter(SavedRequestFilter.java:55) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Setting value to the error string and continuing === 2012-10-13 13:32:34,461 [ec-1] DEBUG DataTools - Bean inspection: invocation of org.springframework.beans.GenericTypeAwarePropertyDescriptor.getBeanClass() while trying to obtain property 'beanClass' threw an exception: java.lang.IllegalAccessException: Class com.isomorphic.util.DataTools can not access a member of class org.springframework.beans.GenericTypeAwarePropertyDescriptor with modifiers "public" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:95) at com.springsource.loaded.jvm.JVM.ensureMemberAccess(JVM.java:90) at com.springsource.loaded.ri.ReflectiveInterceptor.asAccessibleMethod(ReflectiveInterceptor.java:511) at com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1230) at com.isomorphic.util.DataTools.getProperties(DataTools.java:2670) at com.isomorphic.util.DataTools.getProperties(DataTools.java:2617) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:701) at com.isomorphic.js.JSTranslater.convertIterator(JSTranslater.java:1215) at com.isomorphic.js.JSTranslater.convertCollection(JSTranslater.java:1166) at com.isomorphic.js.JSTranslater.convertArray(JSTranslater.java:1128) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:665) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:661) at com.isomorphic.js.JSTranslater.convertIterator(JSTranslater.java:1215) at com.isomorphic.js.JSTranslater.convertCollection(JSTranslater.java:1166) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:663) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.toJS(JSTranslater.java:561) at com.isomorphic.rpc.RPCManager.completeResponse(RPCManager.java:1316) at com.isomorphic.rpc.RPCManager.send(RPCManager.java:586) at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:173) at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:138) at com.isomorphic.servlet.IDACall.doPost(IDACall.java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.processFilterChain(UrlMappingsFilter.java:364) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:231) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:200) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:151) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:69) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:65) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.plugins.gwt.GwtCacheControlFilter.doFilter(GwtCacheControlFilter.java:50) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:380) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.grails.SavedRequestFilter.doFilter(SavedRequestFilter.java:55) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Setting value to the error string and continuing === 2012-10-13 13:32:34,462 [ec-1] DEBUG DataTools - Bean inspection: invocation of org.springframework.beans.GenericTypeAwarePropertyDescriptor.getPropertyEditorClass() while trying to obtain property 'propertyEditorClass' threw an exception: java.lang.IllegalAccessException: Class com.isomorphic.util.DataTools can not access a member of class org.springframework.beans.GenericTypeAwarePropertyDescriptor with modifiers "public" at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:95) at com.springsource.loaded.jvm.JVM.ensureMemberAccess(JVM.java:90) at com.springsource.loaded.ri.ReflectiveInterceptor.asAccessibleMethod(ReflectiveInterceptor.java:511) at com.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1230) at com.isomorphic.util.DataTools.getProperties(DataTools.java:2670) at com.isomorphic.util.DataTools.getProperties(DataTools.java:2617) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:701) at com.isomorphic.js.JSTranslater.convertIterator(JSTranslater.java:1215) at com.isomorphic.js.JSTranslater.convertCollection(JSTranslater.java:1166) at com.isomorphic.js.JSTranslater.convertArray(JSTranslater.java:1128) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:665) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:711) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:590) at com.isomorphic.js.JSTranslater.convertMap(JSTranslater.java:1053) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:661) at com.isomorphic.js.JSTranslater.convertIterator(JSTranslater.java:1215) at com.isomorphic.js.JSTranslater.convertCollection(JSTranslater.java:1166) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:663) at com.isomorphic.js.JSTranslater.convert(JSTranslater.java:599) at com.isomorphic.js.JSTranslater.toJS(JSTranslater.java:561) at com.isomorphic.rpc.RPCManager.completeResponse(RPCManager.java:1316) at com.isomorphic.rpc.RPCManager.send(RPCManager.java:586) at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:173) at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:138) at com.isomorphic.servlet.IDACall.doPost(IDACall.java:74) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.processFilterChain(UrlMappingsFilter.java:364) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:231) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:200) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:151) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:69) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:65) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.plugins.gwt.GwtCacheControlFilter.doFilter(GwtCacheControlFilter.java:50) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:380) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.grails.SavedRequestFilter.doFilter(SavedRequestFilter.java:55) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722)
In fact, GenericTypeAwarePropertyDescriptor was introduced with Spring 2.5.2 (http://javasourcecode.org/html/open-source/spring/spring-3.0.5/org/springframework/beans/GenericTypeAwarePropertyDescriptor.java.html) and before, it might be that http://javasourcecode.org/html/open-source/jdk/jdk-6u23/java/beans/PropertyDescriptor.java.html was used directly.
The difference between the two that is causing trouble is the "public" access modifier that is missing in the GenericTypeAwarePropertyDescriptor case.
I tried to fix this error by providing a spring source plugin 3.1.2 for Grails that has the access modifier set to public. This seems to be successful but now a similar issue happens with org.codehaus.groovy.grails.plugins.CodecsGrailsPlugin and I don’t know how far making all classes public will take me here.
So I supposed this is the wrong way to integrate SGWT Power with Grails.
Is there another way (except SQLDs, hibernate managed beans required) or is SGWT-Grails integration using the features of the power edition simply not feasible?
Thanks
fatzopilot
Leave a comment:
-
Hi,
Its been changed some days ago already.
Please get the latest build.
Regards,
Alius
Leave a comment:
-
I digged a bit deeper and compared the environment to that of the SGWTEE-Showcase.
A stacktrace if the bean cannot be found looked like this there:
Code:java.lang.ClassNotFoundException: com.smartgwt.sample.showcase.server.SupplyItemHB at java.lang.ClassLoader.findClass(ClassLoader.java:522) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:352) at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at com.isomorphic.base.Reflection.classForName(Reflection.java:140) at com.isomorphic.hibernate.HibernateDataSource.getConfigFromMappedClass(HibernateDataSource.java:5048) at com.isomorphic.hibernate.HibernateDataSource.fromMappedClass(HibernateDataSource.java:5023) at com.isomorphic.hibernate.HibernateDataSource.init(HibernateDataSource.java:217) at com.isomorphic.datasource.DataSource.initialize(DataSource.java:400) at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:163) at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:385) at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110) at com.isomorphic.datasource.DataSource.forName(DataSource.java:204) at com.isomorphic.datasource.DataSource.forName(DataSource.java:195) at com.isomorphic.datasource.DataSource.forName(DataSource.java:184) at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:119) at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:127) at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:94) at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:89) at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:83) at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:126) at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1097) at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Code:com.isomorphic.hibernate.HibernateDataSource.getDataSourceConfigFromJavaClass(HibernateDataSource.java:4897)
Code:com.isomorphic.hibernate.HibernateDataSource.getConfigFromMappedClass(HibernateDataSource.java:5048)
Anyway, both traces finally arrive at
Code:java.lang.Class.forName(Class.java:186/196 depending on the Java version).
Code:Thread.currentThread().contextClassLoader ClassLoader.getCallerClassLoader()
Unfortunately, I was unable to debug-inject the Thread.currentThread().contextClassLoader to try it out (no sources, static context, and no intermediate variables for the class or the classloader).
So I wonder whether it is possible for Isomorphic to change invocations of
Code:java.lang.Class.forName(String className)
Code:java.lang.Class.forName(String className, true, Thread.currentThread().contextClassLoader).
and com.isomorphic.base.Reflection)
Don’t know whether this is appropriate in general, but this will - in all cases (even with Grails) - get the Thread's contextClassLoader as described by Isomorphic above.
Thanks
fatzopilot
Leave a comment:
-
Code:public static Class<?> forName(String className) throws ClassNotFoundException { return forName0(className, true, ClassLoader.getCallerClassLoader()); }
So, I do not see that the contextClassLoader is called in this situation but instead the callerClassLoader.
The classloader that is returned by ClassLoader.getCallerClassLoader() is a org.codehaus.groovy.grails.cli.support.GrailsRootLoader, the one that would be returned by Thread.currentThread().contextClassLoader here is a org.grails.plugins.tomcat.ParentDelegatingClassLoader
These are obviously not the same. Am I missing something?
Just confirmed that the same happens on Java 6 as well.Last edited by fatzopilot; 6 Oct 2012, 01:10. Reason: Adding missing information about java versions
Leave a comment:
-
We already use the Thread's contextClassLoader, so most likely the problem is that the class really isn't on the classpath.
Leave a comment:
-
Adding SGWT Power support to Grails
I am trying to add SGWT datasources to my existing Grails domain classes (~beans).
Since the SGWT-Grails plugin is broken at the moment, I reverted to the hibernate DS integration strategy as this seems to be able to leverage the existing bean definition. This is the DS description file for one of the domain classes:
Code:<DataSource ID="task" serverType="hibernate" autoDeriveSchema="true" schemaBean="com.aCompany.Task" > <fields> <field name="id" hidden="true"/> </fields> </DataSource>
Code:class Task { String name }
Code:ERROR DataSourceLoader - Exception while attempting to load a DataSource java.lang.ClassNotFoundException: com.aCompany.Task at org.codehaus.groovy.tools.RootLoader.findClass(RootLoader.java:156) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at org.codehaus.groovy.tools.RootLoader.loadClass(RootLoader.java:128) at org.codehaus.groovy.grails.cli.support.GrailsRootLoader.loadClass(GrailsRootLoader.java:48) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at com.isomorphic.hibernate.HibernateDataSource.getDataSourceConfigFromJavaClass(HibernateDataSource.java:4897) at com.isomorphic.hibernate.HibernateDataSource.init(HibernateDataSource.java:241) at com.isomorphic.datasource.DataSource.initialize(DataSource.java:400) at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:163) at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:385) at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110) at com.isomorphic.datasource.DataSource.forName(DataSource.java:204) at com.isomorphic.datasource.DataSource.forName(DataSource.java:195) at com.isomorphic.datasource.DataSource.forName(DataSource.java:184) at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:119) at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:127) at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:94) at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:89) at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:83) at com.isomorphic.servlet.DataSourceLoader.processRequest(DataSourceLoader.java:126) at com.isomorphic.servlet.DataSourceLoader.doGet(DataSourceLoader.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.processFilterChain(UrlMappingsFilter.java:364) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:231) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:200) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:151) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:69) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:69) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.codehaus.groovy.grails.plugins.gwt.GwtCacheControlFilter.doFilter(GwtCacheControlFilter.java:50) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:380) at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.shiro.grails.SavedRequestFilter.doFilter(SavedRequestFilter.java:55) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722)
This post might describe the problem and suggests a fix:
http://binarybuffer.com/2012/03/grails-class-forname-classnotfoundexception
So is there a way to influence, how the Beans are loaded from the SGWT (server-) side?
Or is there an even better strategy to add SGWT Power features to an existing Grails application using existing domain classes as a base (SQL datasource is no option due to existing business logic)
Thanks
fazopilot
Grails 2.11, SGWT Power 3.1 SNAPSHOT_v8.3d_2012-09-21/PowerEdition Deployment (built 2012-09-21), GWT 2.4, Java build 1.7.0-b147Tags: None
Leave a comment: