BlazeDS不同方式......
来源:互联网 发布:mac重命名命令 编辑:程序博客网 时间:2024/05/08 09:19
If you work with LCDS or BlazeDS and are about to configure a second web application inside the same EAR, then you might see an error like this when the application starts up:
javax.servlet.UnavailableException: MessageBroker already defined from MessageBrokerServlet with init parameter messageBrokerId = '__default__'
<servlet>
<servlet-name>MessageBrokerServlet</servlet-name>
<display-name>MessageBrokerServlet</display-name>
<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
<init-param>
<param-name>services.configuration.file</param-name>
<param-value>/WEB-INF/flex/services-config.xml</param-value>
</init-param>
<init-param>
<param-name>flex.write.path</param-name>
<param-value>/WEB-INF/flex</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
The above declaration is the default, and when both servlets are initialized, both are given a default identifier of '__default__'.
<init-param>
<param-name>messageBrokerId</param-name>
<param-value>55</param-value>
</init-param>
2)<flex:message-broker services-config-path="classpath*:services-config.xml">
3)<bean id="_messageBroker" class="org.springframework.flex.core.MessageBrokerFactoryBean" >
<property name="servicesConfigPath" value="classpath*:services-config.xml" />
</bean>
<flex:message-broker>
<flex:mapping pattern="/messagebroker/*" />
<flex:config-processor ref="myConfigProcessor" />
<flex:exception-translator ref="myExceptionTranslator"/>
<flex:message-interceptor ref="myMessageInterceptor"/>
flex:remoting-service default-adapter-id="hibernate-object" default-channels="my-amf, my-secure-amf"/>
</flex:message-broker>
<flex:remoting-destination />
</bean>
2)<bean id="product" class="org.springframework.flex.remoting.RemotingDestinationExporter">
<property name="messageBroker" ref="_messageBroker"/>
<property name="service" ref="productService"/>
<property name="destinationId" value="productService"/>
<property name="includeMethods" value="read, update"/>
<property name="excludeMethods" value="create, delete"/>
<property name="channels" value="my-amf, my-secure-amf"/>
</bean>
package com.example;
import org.springframework.flex.config.MessageBrokerConfigProcessor;
import flex.messaging.MessageBroker;
import flex.messaging.services.RemotingService;
public class MyDestinationCountingConfigProcessor implements MessageBrokerConfigProcessor {
public MessageBroker processAfterStartup(MessageBroker broker) {
RemotingService remotingService =
(RemotingService) broker.getServiceByType(RemotingService.class.getName());
if (remotingService.isStarted()) {
System.out.println("The Remoting Service has been started with "
+remotingService.getDestinations().size()+" Destinations.");
}
return broker;
}
public MessageBroker processBeforeStartup(MessageBroker broker) {
return broker;
}
}
javax.servlet.UnavailableException: MessageBroker already defined from MessageBrokerServlet with init parameter messageBrokerId = '__default__'
<servlet>
<servlet-name>MessageBrokerServlet</servlet-name>
<display-name>MessageBrokerServlet</display-name>
<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
<init-param>
<param-name>services.configuration.file</param-name>
<param-value>/WEB-INF/flex/services-config.xml</param-value>
</init-param>
<init-param>
<param-name>flex.write.path</param-name>
<param-value>/WEB-INF/flex</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
The above declaration is the default, and when both servlets are initialized, both are given a default identifier of '__default__'.
<init-param>
<param-name>messageBrokerId</param-name>
<param-value>55</param-value>
</init-param>
message-broker:
2)<flex:message-broker services-config-path="classpath*:services-config.xml">
3)<bean id="_messageBroker" class="org.springframework.flex.core.MessageBrokerFactoryBean" >
<property name="servicesConfigPath" value="classpath*:services-config.xml" />
</bean>
<flex:message-broker>
<flex:mapping pattern="/messagebroker/*" />
<flex:config-processor ref="myConfigProcessor" />
<flex:exception-translator ref="myExceptionTranslator"/>
<flex:message-interceptor ref="myMessageInterceptor"/>
flex:remoting-service default-adapter-id="hibernate-object" default-channels="my-amf, my-secure-amf"/>
</flex:message-broker>
DestinationExporter:
<flex:remoting-destination />
</bean>
2)<bean id="product" class="org.springframework.flex.remoting.RemotingDestinationExporter">
<property name="messageBroker" ref="_messageBroker"/>
<property name="service" ref="productService"/>
<property name="destinationId" value="productService"/>
<property name="includeMethods" value="read, update"/>
<property name="excludeMethods" value="create, delete"/>
<property name="channels" value="my-amf, my-secure-amf"/>
</bean>
package com.example;
import org.springframework.flex.config.MessageBrokerConfigProcessor;
import flex.messaging.MessageBroker;
import flex.messaging.services.RemotingService;
public class MyDestinationCountingConfigProcessor implements MessageBrokerConfigProcessor {
public MessageBroker processAfterStartup(MessageBroker broker) {
RemotingService remotingService =
(RemotingService) broker.getServiceByType(RemotingService.class.getName());
if (remotingService.isStarted()) {
System.out.println("The Remoting Service has been started with "
+remotingService.getDestinations().size()+" Destinations.");
}
return broker;
}
public MessageBroker processBeforeStartup(MessageBroker broker) {
return broker;
}
}
- BlazeDS不同方式......
- BlazeDS+Spring+SpringMVC 注解方式
- blazeDS
- BlazeDS
- BlazeDS
- BlazeDS
- BlazeDS
- Flex与Java通信 BlazeDS方式 查询
- flex基本通信方式比较及BlazeDS和LCDS比较
- 实现Flex与Java的通信的Demo(BlazeDS方式)
- Flex与Java通信 BlazeDS方式 最详尽的解析
- Flex与Java通信 BlazeDS方式 解析xml
- flex基本通信方式比较 及blazeDS、 LCDS比较
- Flex 与 Java 数据交互一种方式(Blazeds)
- SCTP编程不同方式
- 整数不同分割方式
- 字符串分割 不同方式
- 反转字符串 不同方式
- Extjs 甘特图教程之自定义任务树
- word2003 针对正文默认行距设置
- 从疯狂痴迷数据库存储过程到彻底放弃他
- 高并发库存控制
- LabView 与 .Net 协同开发要点
- BlazeDS不同方式......
- android中打包含有Activity以及资源文件的jar包在工程中调用
- Android Framework Startup
- 失恋后男孩与女孩的区别
- android之抽屉布局应用
- 如何查看office事件的DISPID
- 矢量绘图解决方案
- CSV文件格式小结
- 使用expect工具ssh登录远程服务器并执行命令操作