`
LiYunpeng
  • 浏览: 957324 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

使用Spring BlazeDS出现Error creating bean with name '_messageBroker': Invocation***

阅读更多
我这里的情况其实是在写Junit的时候出现的这个错误,但是应该还会有很多类似的其他情况出现这种问题,废话不多,错误如下
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '_messageBroker': Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanInitializationException: MessageBroker initialization failed; nested exception is java.lang.NullPointerException

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '_messageBrokerDefaultHandlerMapping': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '_messageBroker': Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanInitializationException: MessageBroker initialization failed; nested exception is java.lang.NullPointerException

在Spring的官网上有类似这样回答的
http://forum.springsource.org/showthread.php?71492-Issue-upgrading-to-RC1-Init-method-failed

说在spring-flex的配置文件里把
<flex:message-broker />
改成
<bean id="_messageBroker" class="org.springframework.flex.core.MessageBrokerFactoryBean" />
但是不管用,并且即便管用,也不会解决根本问题,不过看大概的意思,明白了

报这个错误的根本原因就是,在没有使用web.xml当作Web项目进行初始化的时候,若加载Spring-BlazeDS的配置文件,就会加载相关的BlazeDS相应的监听和初始化,从而引发空指针错误


解决办法其实有很多
目的就是避免加载Spring-BlazeDS的配置文件,从而不初始化BlazeDS。

在JUnit中
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "/applicationContext-Dao.xml" ,"/applicationContext-Service.xml"})

通过这种方法分开来写装载的配置文件,而取代通配符

再或者,使用通配符的时候,把名字和其他配置文件排除在外,使之执行不加载相应的配置文件。
-------------------------
若想使用通配符配置相应文件,则,可以在web.xml中分开进行注册
	<servlet>
		<servlet-name>Spring flex Dispatcher Servlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath*:flexContext.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>Spring flex Dispatcher Servlet</servlet-name>
		<url-pattern>/messagebroker/*</url-pattern>
	</servlet-mapping>

也可分开配置
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath*:conf/spring/applicationContext-Dao.xml,
			classpath*:conf/spring/applicationContext-Service.xml,
			classpath*:conf/spring/applicationContext-XXX.xml,
		</param-value>
	</context-param>


其他配置文件可以按相同方式配置,也可以如下
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath*:applicationContext*.xml
		</param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

只要这里面加载的文件和servlet配置的文件不发生冲突,不重复,就不会报错误,否则会报错
分享到:
评论

相关推荐

    spring-flex-reference

    1. **定义Message Broker**:使用Spring的Bean定义来创建Message Broker实例。 2. **注册目的地**:为不同的服务定义目的地(Destination),这些目的地会与Flex客户端建立连接。 3. **自定义Message Broker**:根据...

    Spring BlazeDS Integration 1.0.0

    2. **Spring与BlazeDS集成**:Spring BlazeDS Integration是Spring框架的一部分,它提供了一套完整的工具集,包括Spring配置、Spring MVC适配器和数据传输对象(DTO),以简化BlazeDS与Spring应用的集成。...

    Spring BlazeDS Integration Spring集成BlazeDS

    2. **配置Spring**:在Spring的配置文件中定义远程对象 bean,映射到BlazeDS服务端的Java类和方法。 3. **创建Flex客户端**:在Flex项目中,使用RemoteObject组件创建与服务器端的连接,并声明要调用的远程方法。 ...

    Spring BlazeDS + flex

    3. **Spring容器处理请求**:BlazeDS将解析后的数据以Java对象的形式传递给Spring容器。 4. **业务逻辑处理**:Spring容器调用业务逻辑层处理请求。 5. **响应处理**:业务逻辑处理完成后,Spring容器将结果返回给...

    Blazeds_Flex_Java.rar_flex

    3. **Flex与Java的集成**:Blazeds使得Flex前端可以轻松调用Java后端的服务,例如EJBs、Spring Beans等。开发者可以通过定义RemoteObject或HTTPService来访问Java服务,实现CRUD操作。此外,Blazeds还支持数据源绑定...

    Flex、Spring整合:Spring BlazeDS Integration

    3. **配置MessageBroker**:在Spring配置中,配置`&lt;flex:message-broker&gt;`元素,它定义了Spring与BlazeDS之间的连接。在此元素内,可以指定Remoting destinations和频道配置。 4. **暴露Spring Bean**:通过`&lt;flex:...

    WEB项目-集成Flex3_BlazeDS3[1].2_Spring2.5.6_iBatis2.3.4_Struts2.1.8

    2. **Spring的使用**:Spring作为整个应用的依赖注入容器,管理Bean的生命周期,并可能通过AOP处理事务和其他关注点。 3. **iBatis与Spring的集成**:通过Spring的JDBC模板和iBatis的SQL映射,实现数据库操作的简便...

    spring blazeds 整合实例(源码)

    1. **配置Spring**:需要在Spring配置文件中定义`MessageBroker` bean,以启用BlazeDS服务。 2. **定义服务代理**:在Flex客户端,创建服务代理类来调用后台的Java服务。 3. **消息传递**:利用BlazeDS的AMF通道,...

    Spring整合flex-Spring BlazeDS Integration-带项目demo

    - **WEB-INF**:Web应用的标准目录,可能包含`web.xml`部署描述符,配置Spring和BlazeDS的入口。 - **flex_src**:Flex源代码目录,包含了Flex项目的MXML和ActionScript文件。 - **java_src**:Java源代码目录,...

    RED5 BLAZEDS

    - **Red5_BlazeDS_Flex**:这个文件可能包含了一个完整的示例项目,演示了如何在Flex 4环境中配置和使用RED5及BlazeDS。可能包括Flex源代码、配置文件、示例数据等。 - **Red5_BlazeDS_Java**:此文件可能包含了与...

    Flex-Spring-JAVA-BLAZEDS.rar_Flex spring_flex_flex java

    3. BlazeDS的使用:配置BlazeDS服务,设置数据通道,理解Remoting Destination和MessageBroker。 4. Flex与Spring的集成:通过BlazeDS的AMF通信,Spring服务的Flex客户端调用,数据模型的双向绑定。 5. 示例代码和...

    使用myeclipse6[1].5和flex_builder3插件建立spring_blazeds_inegration项目rehtegot_kcuf_su

    根据给定的文件信息,我们将深入探讨如何使用MyEclipse 6.5和Flex Builder 3插件来创建一个Spring BlazeDS Integration项目。这不仅涵盖了技术步骤,还涉及了相关软件配置与设置的关键细节。 ### 技术背景 **...

    Maven构建全栈式Flex、BlazeDS和Spring集成解决方案–第一部分_创建Maven_Flex模块

    - **开发业务逻辑**: 使用Spring开发业务逻辑层,实现任务的增删改查等操作。 - **前端界面开发**: 使用Flex开发前端用户界面,实现任务的展示和交互功能。 **3. 实现步骤** - **第一步**: 创建Maven项目并配置...

    blazeds 服务器war包

    2. **定义数据服务**:在服务配置文件中,定义Java服务端点,如Spring Bean或EJB。 3. **编写客户端代码**:在Flex中,使用RemoteObject或 BlazeDS的其他服务组件来调用后端服务,实现数据交互。 4. **测试和调试**...

    flex-spring blazeds integration基本框架搭建记录

    2. 配置MessageBroker:在Spring上下文中,通过&lt;flex:message-broker&gt;标签配置BlazeDS的MessageBroker,使Spring Bean可以通过AMF与Flex客户端通信。 五、Flex客户端开发 1. 创建Flex项目:使用Flex Builder或...

    spring-flex官方文档

    - **Flex Client**:使用Adobe Flex开发的客户端应用,与BlazeDS服务器端通信。 - **Java EE Container**:部署Spring应用的容器,例如Tomcat或JBoss。 ##### 1.3 获取支持 对于Spring BlazeDS Integration的相关...

    spring flex BlazeDS 集成官方文档(英文)

    **介绍**:本节主要介绍如何在Spring环境中配置并使用BlazeDS消息代理。 **配置Spring DispatcherServlet**: - 在Web应用中,首先需要配置Spring的`DispatcherServlet`。这通常是在`web.xml`文件中完成。 - 示例...

    Flex Spring JAVA BLAZEDS整合

    2. **配置Spring Bean导出**: 通常,JAVA与FLEX通过BlazeDS的整合需要在`remote-config.xml`中为每个RemoteObject配置destination。但通过`SpringRemotingDestinationBootstrapService`,我们可以自动导出带有@...

Global site tag (gtag.js) - Google Analytics