HOWTO-NewApplications-WAR_zh_CN.txt --------------------------------------- 如何配置Red5应用程序 WAR附录 --------------------------------------- :Author: Paul Gregoire :Contact: [email]mondain@gmail.com[/email] :Date: 2007-05-03 翻译:屹砾([url]www.OpenRed5.com#glseda)[/url] 联系:[email]glseda@qq.com[/email] 日期:2007-06-17 译者的话: Red5的资料有点乱,没有什么头绪。但是把这些资料翻译成中文多少会有一些帮助,即使有时翻译的内容也不是那会容易看懂。如果大家有时间,也希望能够选 择一些资料翻译出来,然后发布到OpenRed5中文社区[url]http://www.OpenRed5.com[/url],让我们大家共同进步。 序言 ========================== 这个文档描述了Red5应用在使用WAR实现时如何配置。在此版本的Red5,J2EE容器没有包含在Red5中,因此它的配置会有所不同。此文档假定应用程序WAR包已经展开。(译注:这里的J2EE容器是指提供J2EE运行环境的软件,如Tomcat,JBoss) 应用程序目录 ========================== 一个应用程序WAR包已经用WAR包的名称正常的展开到一个目录下。 例:red5.war展开到Tomcat服务器的tomcat/webapps/red5目录下。在一个标准的Red5安装中,所有的应用都被存储在webapps目录下它们自己的目录中。 配置 ========================== 此WAR版本保存所有的应用程序定义到以"-context.xml"为后缀的Spring配置文件中。如果你的应用名为ofla,那么它的配置文件就是"ofla-context.xml"。此上下文文件会在服务启动时自动加载。(译注:上下文亦可称作环境) 将被加载的主配置文件为"web.xml"。它包含下列参数: globalScope -------------------------- 全局作用域,它可以使用默认的设置 <context-param> <param-name>globalScope</param-name> <param-value>default</param-value> </context-param> contextConfigLocation -------------------------- 为此应用指定handler配置文件名。handler配置文件关联到类,用于告知应用程序关于连接/断开客户端,提供方法供客户端调用。 handler配置文件为这些类指定作用域层次。 路径名可以使用通配符来加载多个文件。 <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml, /WEB-INF/red5-common.xml, /WEB-INF/red5-core.xml, /WEB-INF/*-context.xml</param-value> </context-param> listener (start-up / shutdown) -------------------------- 参考此应用程序上下文监听器servlet,此技术获取Standalone.class的位置。(译注:这里原文亦不很明确,有一点难以理解了) <listener> <!-- 模拟 org.springframework.web.context.ContextLoaderListener --> <listener-class>org.red5.server.MainServlet</listener-class> </listener> parentContextKey -------------------------- 上级上下文的名称,通常为"default.context" <context-param> <param-name>parentContextKey</param-name> <param-value>default.context</param-value> </context-param> log4jConfigLocation -------------------------- 日志子系统的配置文件路径 <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param> Handler配置 ========================== 每个handler配置文件必需包含最少三个类 上下文 -------------------------- 默认上下文类使用保留名'web.context',通常用于映射路径到作用域,参考service和handler。默认的类为'org.red5.server.Context' 默认的设置为; <bean id="web.context" class="org.red5.server.Context" autowire="byType" /> 每个应用程序仅能拥有一个上下文,而且必需遵循此命名规范'<application name>.context',这样就不会引起冲突。应用程序上下文可以在所有的作用域内共享。(译注:这里的Application Scope与WEB应用中的Application Scope是同样的意思) 作用域 -------------------------- 每个应用都需要最少一个作用域,将handler链接到上下文和服务器中。作用域可以用于构建一个树,客户端可以在这个作用域范围内连接到每一个节点和共享对象(如作用域内的共享对象或实时流)。 默认的作用域名通常为'web.scope',而且必需遵循此命名规范'<application name>.scope',这样就不会引起冲突。 这个类有以下属性: 'server' 参考全局服务`red5.server`。 'parent' 参考上级作用域,通常为`global.scope`。 'context' 此作用域的服务上下文,使用刚才提到的`web.context`。 'handler' 此作用域的handler。 'contextPath' 连接到此作用域的路径。 'virtualHosts' 此作用域运行所在的主机名或IP地址列表(主机名或IP地址之间用逗号分隔)。此版本我们没有控制主机,它由服务器完成(处理)。 这是一个定义的例子: <bean id="ofla.scope" class="org.red5.server.WebScope" init-method="register"> <property name="server" ref="red5.server" /> <property name="parent" ref="global.scope" /> <property name="context" ref="ofla.context" /> <property name="handler" ref="ofla.handler" /> <property name="contextPath" value="/oflaDemo" /> <property name="virtualHosts" value="localhost, 127.0.0.1" /> </bean> 配置中指定'contextPath'可以看作是作用域的root路径。当需要连接到动态生成的扩展作用域时,你可以在配置路径后添加额外的元素。 这些扩展作用域都使用同样的handler,但是拥有它们自己的属性、共享对象和实时流。 Handlers -------------------------- 每一个上下文都需要一个handler,当一个客户端连接到作用域时实现被调用的方法,包含可以被客户端调用的额外的方法。这些handler需要实现指 定的接口'org.red5.server.api.IScopeHandler',当然,你也可以实现其它接口来控制和访问共享对象或者流。 一个实现的例子:可以使用一个基础类'org.red5.server.adapter.ApplicationAdapter'。详细内容请查阅API文档。 作用域handler类设置为: <bean id="ofla.handler" class="the.path.to.my.Application" singleton="true" /> `id`属性参考作用域定义 如果你无需特定的服务端逻辑,你可以使用Red5提供的默认应用程序handler <bean id="web.handler" class="org.red5.server.adapter.ApplicationAdapter" singleton="true" /> 附注:handler在win32程序中翻译为句柄,按我的理解应该是指对象的内存地址,或是对象的引用地址。
如何配置Red5应用程序WAR附录
最新推荐文章于 2024-09-06 00:29:50 发布