osdir.com
mailing list archive

Subject: Spring 2 - DWR 2 RC5a Config Issue - msg#00409

List: java.dwr.user

Date: Prev Next Index Thread: Prev Next Index

Hi all,

 

I am new to DWR and trying to integrate it into my Spring based application using the namespaces feature and not the dwr.xml. I am using Spring 2.0.4 and DWR RC5a.  I got a façade bean which I want to add DWR support defined in my main context like:

 

<bean id="lookupManagerAjaxFacade" class="webdev.common.manager.LookupManagerAjaxFacade">

      <dwr:remote _javascript_="LookUpManagerAjax">

            <dwr:include method="getCallShopsByCustomer"/>

      </dwr:remote>          

      <property name="lookupManager" ref="lookupManager"/>       

</bean>

 

Basically I wanted to define my object conversions in a central place and placed a dwr:configuration element.

 

<dwr:configuration>

      <dwr:convert type="bean" class="webdev.common.LabelValue">

            <dwr:include method="label, value"/>

      </dwr:convert>

</dwr:configuration>

 

One note here, I fired up my application before adding the dwr:configuration and navigating to http://myapp/dwr/ I could see the bean (but without object conversion on methods of course). Then I added the dwr:configuration part on a separate xml and I couldn’t see the bean at http://myapp/dwr/  (none beans listed).
So I supposed I had to define a creator in the configuration and I added in configuration:

 

 <dwr:create _javascript_="LookUpManagerAjax" type="spring" class="webdev.common.manager.LookupManagerAjaxFacade"/>

 

This causes the following exception:

 

org.springframework.beans.InvalidPropertyException: Invalid property 'beanClass' of bean class [org.directwebremoting.spring.SpringCreator]: No property 'beanClass' found

      at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:376)

      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1079)

      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)

      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)

      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:215)

      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:127)

      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1073)

      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)

      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)

      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)

      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)

      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)

      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)

      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)

      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)

      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java:314)

      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:139)

      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1073)

      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)

      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)

      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)

      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)

      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)

      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)

      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)

      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)

      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:281)

      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:131)

      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1073)

      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)

      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)

      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)

      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)

      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)

      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)

      at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:279)

      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:360)

      at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:329)

      at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:265)

      at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:235)

      at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:126)

      at javax.servlet.GenericServlet.init(GenericServlet.java:211)

      at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)

      at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)

      at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3951)

      at org.apache.catalina.core.StandardContext.start(StandardContext.java:4225)

      at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)

      at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)

      at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)

      at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608)

      at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)

      at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)

      at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)

      at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)

      at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)

      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)

      at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)

      at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)

      at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)

      at org.apache.catalina.core.StandardService.start(StandardService.java:450)

      at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)

      at org.apache.catalina.startup.Catalina.start(Catalina.java:551)

      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:585)

      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)

      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)

 

Tried with type new, that worked ok but of course DWR made it’s own instance of the façade.

 

Then I moved the configuration part in the same xml as the bean definition, removed the dwr:create and everything works ok. I can see 2 issues here

or I did something wrong in the configuration J Could someone shed some light into this ? Mentioning again I am new to DWR, and the Spring

namespace integration feature seems a bit undocumented to me if I may say.

 

Thank you,

 

Nikos Tzavaras

Was this page helpful?
Yes No
Thread at a glance:

Previous Message by Date: click to view message preview

RE: Logging in 2.x

I would prefer to use log4j (or slf4j) directly but Spring (and probably some of the other libs we use) still requires commons-logging.We also need SLF4J because MINA ( http://mina.apache.org/) depends on it.  I saw that actually some newer Apache and Spring projects are using SL4J (see http://www.slf4j.org/). But yeah, the JCL legacy will for sure remain for a long time. I wonder if Ceki Gülcü is addicted to writing (and renaming) logging frameworks :-)log4j, ugli, logback, nlog4j, slf4j Maybe he is in search for the final, perfect and pure application - that only logs! :-)   Best regards Mike

Next Message by Date: click to view message preview

Re: Logging in 2.x

sl4j is NOT a good thing, last time I tried it, it was binary incompatible with log4j, so if you had both in your classpath, you ran into some serious issues. clogging (or straight log4j) is used by everyone, no point trying to get fancy. On Apr 26, 2007, at 4:04 AM, Mike Wilson wrote: We have chosen to go with slf4j in our in house framework. We wanted to have the flexibility that a logging facade provides and to avoid the potential class loader issues that you see some people are having with commons logging. Yeah, I also think SL4J looks promising, especially since the inventor of Log4J (Ceki Gulcu) has moved over to developing SL4J and Logback. Best regards Mike

Previous Message by Thread: click to view message preview

Reverse ajax problem

Hi,   I'm new to this ML so please bear with me if this topic has already been discussed.  I'm trying to execute reverse ajax on my project that also uses JSF and pushlets.  After tinkering with it for a while, I was finally able to get opened sessions detected by the server.  However, the simple alert message (which works on a plain JSP) does not even display and instead I get the following message from the jboss server.log:   2007-04-25 15:33:53,017 INFO  [STDOUT] (http-0.0.0.0-8080-2) ServerContext info: Apache Tomcat/5.5.9 |140|2007-04-25 15:33:53,017 INFO  [STDOUT] (http-0.0.0.0-8080-2) ServerContext sctx: org.directwebremoting.impl.DefaultServerContext@1a0d62f |140|2007-04-25 15:33:53,017 INFO  [STDOUT] (http-0.0.0.0-8080-2) sessions: 1 |140|2007-04-25 15:33:53,017 INFO  [STDOUT] (http-0.0.0.0-8080-2) Adding script [alert('hello');] to session 40384CFEA58F5BDE90798017978C4C2C713 |140|2007-04-25 15:33:53,027 DEBUG [org.directwebremoting.util.DebuggingPrintWriter] (http-0.0.0.0-8080-5) out(27518598): //#DWR-START#|43|2007-04-25 15:33:53,027 DEBUG [org.directwebremoting.util.DebuggingPrintWriter] (http-0.0.0.0-8080-5) out(27518598): alert('hello');|43|2007-04-25 15:33:53,027 DEBUG [org.directwebremoting.util.DebuggingPrintWriter] (http-0.0.0.0-8080-5) out(27518598): //#DWR-END#|43|2007-04-25 15:34:30,458 DEBUG [org.directwebremoting.util.DebuggingPrintWriter] (http-0.0.0.0-8080-5) out(27518598): //#DWR-START#|43|2007-04-25 15:34:30,458 DEBUG [org.directwebremoting.util.DebuggingPrintWriter] (http-0.0.0.0-8080-5) out(27518598): dwr.engine._remoteHandleCallback('0','0',0);|43|2007-04-25 15:34:30,458 DEBUG [org.directwebremoting.util.DebuggingPrintWriter] (http-0.0.0.0-8080-5) out(27518598): //#DWR-END#|43|2007-04-25 15:34:30,458 DEBUG [org.directwebremoting.dwrp.BaseScriptConduit] (http-0.0.0.0-8080-5) Error writing to HTTP response:ClientAbortException:  java.net.SocketException: Software caused connection abort: socket write error   Would appreciate receiving some guidance.  Thanks!   Rick 

Next Message by Thread: click to view message preview

Re: Spring 2 - DWR 2 RC5a Config Issue

Hi Nikos,I'm trying to put together some documentation regarding configuration of spring. Hopefully I'll have something reasonable done by the end of the week. Sorry I've been a little swamped recently. Anyway, can you confirm that the dwr:remote way of configuring your spring creator is working for you? I just tried it and it seems fine. However I will have to try the <dwr:create _javascript_="LookUpManagerAjax" type="spring" class="webdev.common.manager.LookupManagerAjaxFacade"/>  version when I'm at my pc at home.ThanksBrendanOn 4/26/07, Nikos Tzavaras <ntzav@xxxxxxxxxx> wrote: Hi all,   I am new to DWR and trying to integrate it into my Spring based application using the namespaces feature and not the dwr.xml. I am using Spring 2.0.4 and DWR RC5a.  I got a faÃade bean which I want to add DWR support defined in my main context like:   < bean id ="lookupManagerAjaxFacade" cl ass= "webdev.common.manager.LookupManagerAjaxFacade" >       <dwr:remote _javascript_= "LookUpManagerAjax">             <dwr:include method ="getCallShopsByCustomer" />       </dwr:remote >                 <property name= "lookupManager" ref ="lookupManager" />         </ bean>   Basically I wanted to define my object conversions in a central place and placed a dwr:configuration element.   < dwr:configuration>       <dwr:convert type= "bean" class ="webdev.common.LabelValue" >             <dwr:include method ="label, value" />       </dwr:convert > </ dwr:configuration>   One note here, I fired up my application before adding the dwr:configuration and navigating to http://myapp/dwr/ I could see the bean (but without object conversion on methods of course). Then I added the dwr:configuration part on a separate xml and I couldn't see the bean at http://myapp/dwr/  (none beans listed). So I supposed I had to define a creator in the configuration and I added in configuration:    <dwr:create _javascript_="LookUpManagerAjax" type="spring" class="webdev.common.manager.LookupManagerAjaxFacade"/>   This causes the following exception:   org.springframework.beans.InvalidPropertyException: Invalid property 'beanClass' of bean class [org.directwebremoting.spring.SpringCreator]: No property 'beanClass' found       at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:376)       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1079)       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java :835)       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)       at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:215)       at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:127)       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1073)       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)       at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)       at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)       at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)       at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)       at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java :261)       at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:109)       at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedMap(BeanDefinitionValueResolver.java :314)       at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:139)       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues (AbstractAutowireCapableBeanFactory.java:1073)       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:835)       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)       at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)       at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java :144)       at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)       at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)       at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:261)       at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java :109)       at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:281)       at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java :131)       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1073)       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java :835)       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)       at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)       at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)       at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)       at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)       at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:279)       at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:360)       at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:329)       at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:265)       at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:235)       at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:126)       at javax.servlet.GenericServlet.init(GenericServlet.java:211)       at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)       at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)       at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3951)       at org.apache.catalina.core.StandardContext.start(StandardContext.java:4225)       at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)       at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)       at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)       at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608)       at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535)       at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470)       at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)       at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)       at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)       at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)       at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)       at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)       at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)       at org.apache.catalina.core.StandardService.start(StandardService.java:450)       at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)       at org.apache.catalina.startup.Catalina.start(Catalina.java:551)       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:585)       at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)   Tried with type new, that worked ok but of course DWR made it's own instance of the faÃade.   Then I moved the configuration part in the same xml as the bean definition, removed the dwr:create and everything works ok. I can see 2 issues here or I did something wrong in the configuration J Could someone shed some light into this ? Mentioning again I am new to DWR, and the Spring namespace integration feature seems a bit undocumented to me if I may say.   Thank you,   Nikos Tzavaras -- Brendan Graingerwww.kuripai.com
Sign up for updates to this mailing list. email:
Loading Comments...
Home | News | Patents | Sitemap | FAQ | advertise

Advertising by