Tips

Red5 フリーソフトのFlashストリーミングサーバ ~開発クライアントの構築 その3~

(3)red5-web.xmlの編集

「red5-web.xml」は、Red5 アプリケーションを構成しているファイルとなります。
スクリプト実装または Java アプリケーションは、Spring bean 要素で構成されます。
ここでは、javascript・Python・JRuby・Groovyとふぅすうのアプリケーションを実装しています。
詳しくは、次回掲載内容で触れていきます。
変更する箇所は、25行目・77行目となります。

  • 変更前
  • <?xml version="1.0" encoding="UTF-8" ?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:lang="http://www.springframework.org/schema/lang"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.0.xsd">
    
    	<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    	    <property name="location" value="/WEB-INF/red5-web.properties" />
    	</bean>
    
    	<bean id="web.context" class="org.red5.server.Context"
    		autowire="byType" />
    
    	<bean id="web.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="web.context" />
    		<property name="handler" ref="web.handler" />
    		<property name="contextPath" value="${webapp.contextPath}" />
    		<property name="virtualHosts" value="${webapp.virtualHosts}" />
    	</bean>
    
    	<bean id="web.handler" class="org.red5.demos.oflaDemo.Application" />
    <!--
    	<bean id="web.handler" class="org.red5.server.script.rhino.RhinoScriptFactory">
    		<constructor-arg index="0" value="classpath:applications/main.js"/>
    		<constructor-arg index="1">
    			<list>
         			<value>org.red5.server.api.IScopeHandler</value>
         			<value>org.red5.server.adapter.IApplication</value>
      			</list>
    		</constructor-arg>
    		<constructor-arg index="2">
       			<value>org.red5.server.adapter.ApplicationAdapter</value>
    		</constructor-arg>
    	</bean>
    
    	<bean id="web.handler" class="org.springframework.scripting.jruby.JRubyScriptFactory">
    		<constructor-arg index="0" value="classpath:applications/main.rb"/>
    		<constructor-arg index="1">
    			<list>
    				<value>org.red5.server.api.IScopeHandler</value>
    				<value>org.red5.server.adapter.IApplication</value>
    			</list>
    		</constructor-arg>
    	</bean>
    
    	<bean id="web.handler" class="org.red5.server.script.groovy.GroovyScriptFactory">
    		<constructor-arg index="0" value="classpath:applications/main.groovy"/>
    		<constructor-arg index="1">
    			<list>
    				<value>org.red5.server.api.IScopeHandler</value>
    				<value>org.red5.server.adapter.IApplication</value>
    			</list>
    		</constructor-arg>
    	</bean>
    
    	<bean id="web.handler" class="org.red5.server.script.jython.JythonScriptFactory">
    		<constructor-arg index="0" value="classpath:applications/main.py"/>
    		<constructor-arg index="1">
    			<list>
         			<value>org.red5.server.api.IScopeHandler</value>
         			<value>org.red5.server.adapter.IApplication</value>
      			</list>
    		</constructor-arg>
            <constructor-arg index="2">
                <list>
                    <value>One</value>
                    <value>2</value>
                    <value>III</value>
                </list>
            </constructor-arg>
    	</bean>
    -->
        <bean id="demoService.service" class="org.red5.demos.oflaDemo.DemoService" />
    <!--
    	<bean id="demoService.service" class="org.red5.server.script.rhino.RhinoScriptFactory">
    		<constructor-arg index="0" value="classpath:applications/demoservice.js"/>
    		<constructor-arg index="1">
    			<list>
         			<value>org.red5.demos.oflaDemo.IDemoService</value>
      			</list>
    		</constructor-arg>
    		<constructor-arg index="2">
       			<value>org.red5.demos.oflaDemo.DemoServiceImpl</value>
    		</constructor-arg>
    	</bean>
    
    	<bean id="demoService.service" class="org.springframework.scripting.jruby.JRubyScriptFactory">
    		<constructor-arg index="0" value="classpath:applications/demoservice.rb"/>
    		<constructor-arg index="1">
    			<list>
         			<value>org.red5.demos.oflaDemo.IDemoService</value>
      			</list>
    		</constructor-arg>
    	</bean>
    
    	<bean id="demoService.service" class="org.red5.server.script.jython.JythonScriptFactory">
    		<constructor-arg index="0" value="classpath:applications/demoservice.py"/>
    		<constructor-arg index="1">
    			<list>
    				<value>org.red5.demos.oflaDemo.IDemoService</value>
    			</list>
    		</constructor-arg>
    		<constructor-arg index="2" ref="web.handler"/>
    	</bean>
    -->
    
    <!-- Uncomment this if you are using scripting
    
    	<bean class="org.springframework.scripting.support.ScriptFactoryPostProcessor"/>
    -->
    
    </beans>
    
  • 変更後
  • 		<property name="virtualHosts" value="${webapp.virtualHosts}" />
    	</bean>
    
    	<bean id="web.handler" class="org.red5.demos.oflaDemo2.Application" />
    <!--
    	<bean id="web.handler" class="org.red5.server.script.rhino.RhinoScriptFactory">
    		<constructor-arg index="0" value="classpath:applications/main.js"/>
    		<constructor-arg index="1">
    
            </constructor-arg>
    	</bean>
    -->
        <bean id="demoService.service" class="org.red5.demos.oflaDemo2.DemoService" />
    <!--
    	<bean id="demoService.service" class="org.red5.server.script.rhino.RhinoScriptFactory">
    		<constructor-arg index="0" value="classpath:applications/demoservice.js"/>
    		<constructor-arg index="1">
    

次に、「red5-web.properties」について見ていきます。

(4)「red5-web.properties」の編集

「red5-web.properties」はRed5 アプリケーションのパスやホスト名、あるいはIPアドレスを構成しているファイルとなります。
変更する箇所は、1行目となります。

  • 変更前
  • webapp.contextPath=/oflaDemo
    webapp.virtualHosts=*, localhost, localhost:8088, 127.0.0.1:8088
    
  • 変更後
  • webapp.contextPath=/oflaDemo2
    webapp.virtualHosts=*, localhost, localhost:8088, 127.0.0.1:8088
    

ここまでが③に関するファイルの変更箇所と簡単な説明となります。

次回は①に関するファイルの変更箇所と簡単な説明となります。
次は「Red5 フリーソフトのFlashストリーミングサーバ ~開発クライアントの構築 その4~」について紹介していきます。

Linux認定資格 LPICを取るなら・・

Linux資格 「LPIC Lv1」徹底解説 連載目次

Recent News

Recent Tips

Tag Search