PDA

View Full Version : Any plans to implement a spring managed RDS server? (BlazeDS 4)



Dr.Drane
Jul 1st, 2009, 07:20 AM
Aloha!

I was wondering if there are any plans to implement the RDS server from BlazeDS 4 into Spring BlazeDS integration?


Because at this moment I've got 2 versions of my Spring/BlazeDS server. One with just a Spring DispatcherServlet handling everything via your excellent Spring BlazeDS integration package. :)

And another Server with an RDS Servlet and a MessageBrokerServlet without the Spring BlazeDS Integration, just to use the Data/Services stuff inside Flash Builder 4. (to generate forms etc from services)

Thanks and keep up the good work! :)

Jochen

ps: Just FYI, when I tried to upgrade the BlazeDS files from 3.2 to 4 (in my project that is based on Spring BlazeDS integration) I got a "org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name '_messageBroker': Invocation of init method failed; nested exception is java.lang.NullPointerException".

jeremyg484
Jul 1st, 2009, 11:21 AM
Yes, we definitely intend to support the new version of BlazeDS as well as LCDS 3. The current plan is to closely coincide with Adobe's GA release.

virgo_ct
Aug 22nd, 2009, 06:43 AM
I look forward to it! Playing with Flash Builder 4 currently is pointless without support from Spring-BlazeDS-integration for the BlazeDS 4 RDS server. I've been scouring your repository with hope for a beta :-) I guess you mean Adobe's GA releases of BlazeDS and LCDS 3, which will probably happen only after the Flex 4 GA release :-(

At the moment I'm getting the same NullPointerException that Jochen is:


org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name '_messageBrokerDefaultHandlerMapping': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name '_messageBroker': Invocation of init method failed; nested exception is java.lang.NullPointerException


I have set up the config files to use Spring/Flex integration, and I'm using BlazeDS 4 beta. Flash Builder 4 can't connect to the RDS server either. If I use only BlazeDS 4 and Spring, I can get Flash Builder 4 to connect to the RDS server and find the declared service (lookupService), but then the service is not used as a Spring-managed bean and has no dependencies injected (BlazeDS seems to be instantiating it directly), in spite of the fact that the Spring DispatcherServlet routes the request to BlazeDS!

web.xml


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

<display-name>BookingSystem</display-name>
<description>Booking System</description>

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:com/mysystem/service_context.xml,classpath:com/mysystem/dao_context.xml
</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListe ner</listener-class>
</listener>

<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/my-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>myservlet</servlet-name>
<url-pattern>/spring/*</url-pattern>
</servlet-mapping>

<!-- Http Flex Session attribute and binding listener support -->
<listener>
<listener-class>flex.messaging.HttpFlexSession</listener-class>
</listener>

<servlet>
<servlet-name>RDSDispatchServlet</servlet-name>
<display-name>RDSDispatchServlet</display-name>
<servlet-class>flex.rds.server.servlet.FrontEndServlet</servlet-class>
<init-param>
<param-name>useAppserverSecurity</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>10</load-on-startup>
</servlet>

<servlet-mapping id="RDS_DISPATCH_MAPPING">
<servlet-name>RDSDispatchServlet</servlet-name>
<url-pattern>/CFIDE/main/ide.cfm</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>

</web-app>


my-config.xml


<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:flex="http://www.springframework.org/schema/flex"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/flex
http://www.springframework.org/schema/flex/spring-flex-1.0.xsd">

<flex:message-broker />

<!-- Maps request paths at /* to the BlazeDS MessageBroker -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlH andlerMapping">
<property name="mappings">
<value>
/*=_messageBroker
</value>
</property>
</bean>

<!-- Dispatches requests mapped to a MessageBroker -->
<bean class="org.springframework.flex.servlet.MessageBrokerHand lerAdapter"/>

<flex:remoting-destination ref="lookupService" />

</beans>