別にPluginとして書かなくてもプログラムの一部に自作プログラムをいれることはできます。
普通にBeanを書いて、red5-home/conf/red5.xmlあたりに呼び出しを書き込んでおけばOKです。
今回はWebSocketをやりとりするあたらしいポート待ち受け等つくるわけで、機能拡張ではないので、このやり方の方がしっくりくるかなと思います。(red5のバージョンがあがるたびにxmlを書き換えないとだめなのが非常に面倒ですが・・・)
やり方
- 作成したjarファイルはred5-home/pluginsの中においておく。
- Manifestの中にBeanで使うことを明記しておく。
- red5.xmlかそこから派生しているxmlファイル内部でbeansの生成をするようにしておく。
この3点のみです。
もともとのred5の動作を邪魔しなければ、なんでもできるでしょう。
では今回まずはmanifest
Manifest-Version: 1.0
Name: WebSocketPlugin.class
Java-Bean: True
続いてクラス
package com.ttProject.red5.server.plugin.websocket;
public class WebSocketPlugin {
private String setting;
public WebSocketPlugin() {
System.out.println("constructor");
}
public void setSetting(String setting) {
this.setting = setting;
}
public void doStart() {
System.out.println("doStart" + setting);
}
}
red5.xmlに記述するとなると、こんな感じです。普通のbeansです。
<bean id="pluginLauncher" class="org.red5.server.plugin.PluginLauncher"/>
<!-- 以下追加 -->
<bean id="hogehoge" class="com.ttProject.red5.server.plugin.websocket.WebSocketPlugin" init-method="doStart">
<property name="setting" value="aiueo"/>
</bean>
<!-- ここまで追加 -->
とりあえずPluginLauncherのあとにいれました。
最終更新:2011年02月12日 17:47