Openfireプラグインとプラグイン間呼び出し(データ転送)簡単なテスト
新しい2つのプラグイン(1)、(2):
(1)、pluginInvokeFirstPlugin、主なソースコードは以下の通りである.
(2)、pluginInvokeSecondPlugin、主なソースコードは以下の通りである.
まずソースコードをコンパイルする(2)
コンパイルに成功しました.
そしてソースコードをコンパイル(1)
2つのエラーが発生しました.
分析討論:openfire機能欠陥?安全要因?それとも...
Openfireプラグインの間で値を伝えて、呼び出して、高い人の解答を求めます!
(1)、pluginInvokeFirstPlugin、主なソースコードは以下の通りである.
package org.jivesoftware.openfire.plugin;
import java.io.File;
import org.jivesoftware.openfire.XMPPServer;
import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager;
public class PluginInvokeFirstPlugin implements Plugin {
private PluginInvokeSecondPlugin pluginInvokeSecondPlugin;
private static PluginManager pluginManager;
public PluginInvokeFirstPlugin() {
}
public void initializePlugin(PluginManager manager, File pluginDirectory) {
pluginManager = manager;
pluginInvokeSecondPlugin=(PluginInvokeSecondPlugin) XMPPServer.getInstance().getPluginManager().getPlugin("pluginInvokeSecondPlugin");
System.out.println(" , :");
pluginInvokeSecondPlugin.sayHello();
System.out.println(" , 。");
}
public void destroyPlugin() {
pluginInvokeSecondPlugin.destroyPlugin();
}
private static PluginManager getPluginManager() {
return pluginManager;
}
}
(2)、pluginInvokeSecondPlugin、主なソースコードは以下の通りである.
package org.jivesoftware.openfire.plugin;
import java.io.File;
import org.jivesoftware.openfire.container.Plugin;
import org.jivesoftware.openfire.container.PluginManager;
public class PluginInvokeSecondPlugin implements Plugin {
private static PluginManager pluginManager;
public PluginInvokeSecondPlugin() {
}
public void initializePlugin(PluginManager manager, File pluginDirectory) {
pluginManager = manager;
}
public void sayHello() {
System.out.println(" !");
System.out.println(" ===========");
}
public void destroyPlugin() {
System.out.println(".......");
}
private static PluginManager getPluginManager() {
return pluginManager;
}
}
まずソースコードをコンパイルする(2)
Buildfile: D:\eclipse\Myeclipse\openfire_src\build\build.xml
plugin:
[delete] Deleting directory D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin
[delete] Deleting: D:\eclipse\Myeclipse\openfire_src\work\plugins\pluginInvokeSecondPlugin.jar
[mkdir] Created dir: D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin
[mkdir] Created dir: D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\target
[mkdir] Created dir: D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\target\classes
[javac] Compiling 1 source file to D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\target\classes
[mkdir] Created dir: D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\target\lib
[mkdir] Created dir: D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\work\lib\source
[mkdir] Created dir: D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\work\lib\classes
[jar] Building jar: D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\target\lib\plugin-pluginInvokeSecondPlugin.jar
[delete] Deleting directory D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\work\lib\classes
[delete] Deleting directory D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\work\lib\source
[mkdir] Created dir: D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\jar
[copy] Copying 1 file to D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\jar
[pack200] Building: D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\target\lib\plugin-pluginInvokeSecondPlugin.jar.pack
[pack200] Packing with Pack200
[pack200] Source File :D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\target\lib\plugin-pluginInvokeSecondPlugin.jar
[pack200] Dest. File :D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\target\lib\plugin-pluginInvokeSecondPlugin.jar.pack
[copy] Copying 1 file to D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\jar
[jar] Building jar: D:\eclipse\Myeclipse\openfire_src\work\plugins\pluginInvokeSecondPlugin.jar
[delete] Deleting directory D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeSecondPlugin\jar
openfireHome:
adminPlugin:
spank:
[copy] Warning: pluginInvokeSecondPlugin.jar modified in the future.
[copy] Copying 1 file to D:\eclipse\Myeclipse\openfire_src\target\openfire\plugins
BUILD SUCCESSFUL
Total time: 1 second
コンパイルに成功しました.
そしてソースコードをコンパイル(1)
Buildfile: D:\eclipse\Myeclipse\openfire_src\build\build.xml
plugin:
[delete] Deleting directory D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeFirstPlugin
[mkdir] Created dir: D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeFirstPlugin
[mkdir] Created dir: D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeFirstPlugin\target
[mkdir] Created dir: D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeFirstPlugin\target\classes
[javac] Compiling 1 source file to D:\eclipse\Myeclipse\openfire_src\work\plugins-dev\pluginInvokeFirstPlugin\target\classes
[javac] D:\eclipse\Myeclipse\openfire_src\src\plugins\pluginInvokeFirstPlugin\src\java\org\jivesoftware\openfire\plugin\PluginInvokeFirstPlugin.java:12:
[javac] : PluginInvokeSecondPlugin
[javac] : org.jivesoftware.openfire.plugin.PluginInvokeFirstPlugin
[javac] private PluginInvokeSecondPlugin pluginInvokeSecondPlugin;
[javac] ^
[javac] D:\eclipse\Myeclipse\openfire_src\src\plugins\pluginInvokeFirstPlugin\src\java\org\jivesoftware\openfire\plugin\PluginInvokeFirstPlugin.java:21:
[javac] : PluginInvokeSecondPlugin
[javac] : org.jivesoftware.openfire.plugin.PluginInvokeFirstPlugin
[javac] pluginInvokeSecondPlugin=(PluginInvokeSecondPlugin) XMPPServer.getInstance().getPluginManager().getPlugin("pluginInvokeSecondPlugin");
[javac] ^
[javac] 2
[trycatch] Caught exception: Compile failed; see the compiler error output for details.
[echo] Error building plugin: pluginInvokeFirstPlugin. Exception:
[echo] D:\eclipse\Myeclipse\openfire_src\build\build.xml:1310: Compile failed; see the compiler error output for details.
openfireHome:
adminPlugin:
spank:
BUILD SUCCESSFUL
Total time: 1 second
2つのエラーが発生しました.
分析討論:openfire機能欠陥?安全要因?それとも...
Openfireプラグインの間で値を伝えて、呼び出して、高い人の解答を求めます!