1. 配置多个webscope
将每一个应用配置到相应的XXX-web.xml 文件中,如下应用red5serv,增加red5serv-web.xml配置文件
内容如下:
<bean id="web.context.red5serv" class="org.red5.server.Context">
<property name="scopeResolver" ref="red5.scopeResolver" />
<property name="clientRegistry" ref="global.clientRegistry" />
<property name="serviceInvoker" ref="global.serviceInvoker" />
<property name="mappingStrategy" ref="global.mappingStrategy" />
</bean>
<bean id="web.scope.red5serv" class="org.red5.server.WebScope" init-method="register">
<property name="server" ref="red5.server" />
<property name="parent" ref="global.scope" />
<property name="context" ref="web.context.red5serv" />
<property name="handler" ref="web.handler.red5serv" />
<property name="contextPath" value="/red5serv" />
<property name="virtualHosts" value="*,localhost, localhost:8888, 127.0.0.1:8888" />
</bean>
<bean id="web.handler.red5serv" class="red5.handler.MainHandler"></bean>
2.利用default scope共享数据
defaultContext.xml 配置文件中的Handler部分改成下面
<bean id="global.handler" class="red5.handler.DefaultHandler"/>
public class DefaultHandler extends CoreHandler {
@Override
public boolean start(IScope arg0) {
if(firststart==0){
arg0.getContext().getGlobalScope().setAttribute("default.scope", "defaultscope");
log.info("init global");
}
firststart++;
log.info(" DefaultHandler start " + arg0.getName() );
arg0.setAttribute("currentscope", arg0.getName() + " ok");
return super.start(arg0);
}
}
每个应用启动前会先调用start方法.
3.在相同的scope 中 shareObject
java application handler
public void updateSO( Object[] value)
{
so.beginUpdate();
so.setAttribute( "test", value );
so.endUpdate();
}
@Override
public boolean roomStart(IScope room) {
log.info("roomStart ");
if (!super.roomStart(room))
return false;
createSharedObject( room, "test", true );
so = getSharedObject( room, "test" );
so.addSharedObjectListener(new SampleSharedObjectListener());
so.registerServiceHandler(new MySharedObjectHandler());
log.info("roomStart test so");
return true;
}
flex
public function onConnection():void{
Logger.info("连接服务器成功,开始测试服务器方法");
so = SharedObject.getRemote( "test", _nc.uri, true );
so.client = this;
so.connect( _nc );
so.addEventListener( SyncEvent.SYNC, alertSO );
}
public function alertSO( e:SyncEvent = null ):void
{
Alert.show( so.data.test.toString() );
}
public function sendSO( ):void
{
_nc.call( "updateSO", null, ti.text );
}
<mx:TextInput id="ti" />
<mx:Button label="send" click="sendSO()" x = "250"/>
<mx:Button label="Aler Shared Object" click="alertSO()" x="500"/>
4.在jsp中直接访问red5服务器中的方法
<%
String url = "http://localhost:8888/red5serv/gateway";
RemotingClient client = new RemotingClient(url);
Object[] args = new Object[]{"Hello world!"};
client.invokeMethod(".getServerM", args, new IRemotingCallback(){
public void errorReceived(RemotingClient client, String method,
Object[] params, Throwable error) {
error.printStackTrace();
}
public void resultReceived(RemotingClient client, String method,
Object[] params, Object result) {
System.out.print(result.toString());
}
});
%>
分享到:
相关推荐
12.7 解决问题的一些技巧 233 12.8 小结 233 第13章 网络文件系统 235 13.1 NFS安装 235 13.2 启动和停止NFS守护程序 236 13.3 NFS状态 236 13.4 配置NFS服务器和客户 236 13.4.1 建立/etc/exports文件 237 13.4.2 ...
主要介绍了Python字典基本操作,包括字典的基本定义、运算与常用函数相关使用技巧,代码注释中备有详尽说明,便于理解,需要的朋友可以参考下
主要介绍了Python列表基本操作,结合实例形式总结分析了Python针对列表的基本定义、判断、运算及各种常用函数与相关使用技巧,需要的朋友可以参考下
主要介绍了php常用字符串输出方法,结合实例形式分析了echo、print、printf及sprintf输出字符串的具体用法与相关使用技巧,需要的朋友可以参考下
不过目前大多数较新的Linux发行版本(包括红旗 Linux、中软Linux、Mandrake Linux等)都可以自动挂装文件系统,但Red Hat Linux除外。 umount 1.作用 umount命令的作用是卸载一个文件系统,它的使用权限是超级...
第一节 常用批处理内部命令简介 1、REM 和 :: 2、ECHO 和 @ 3、PAUSE 4、ERRORLEVEL 5、TITLE 6、COLOR 7、mode 配置系统设备 8、GOTO 和 : 9、FIND 10、START 11、assoc 和 ftype 12、pushd 和 popd 13、CALL 14、...
主要介绍了PHP字符串中插入子字符串方法,对比分析了字符串遍历,substr方法截取与组合,以及直接使用substr_replace函数进行子字符串的插入三种不同的实现方法,涉及php字符串操作的常用技巧,需要的朋友可以参考下
8.3.6 常用实例及技巧分析 8.3.7 使用日志监控iptables 8.4 NAT(网络地址转换) 8.4.1 iptables实现NAT 8.4.2 配置SNAT 8.4.3 配置DNAT 8.4.4 MASQUERADE 8.4.5 连接跟踪 8.5 企业实战与应用 8.5.1 企业环境及...
附录B列出Linux操作系统中常用的一些软件的情况,这将使你能够把Linux作为你最基本的桌面操作系统。这本书的第一稿是使用StarOffice 5.0 for Linux软件编写的,这个软件最初是由德国的StarDivision公司发售的。Sun ...
指针的使用具有很强的技巧性和灵活性,但同时也带来了很大的危险性。在XXX的代码中有如下一端对指针的灵活使用: ... ... _UC *puc_card_config_tab; ... ... Get_Config_Table( AMP_CPM_CARD_CONFIG_TABLE, ...
21. 编辑时一些常用的快捷键 一、公共快捷键(对所有编辑工具有效): 在编辑未完成时按快捷键E切换到选择的环境中去 Z 放大 X 缩小 C 漫游 V显示节点 Ctrl+Z 撤销Ctrl+Y 重做 SpaceBar 暂停捕捉 二、编辑工具: ...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...