2017-03-14 14 views
0

Eclipseで正常に動作するRed5アプリケーションがあります。しかし、私は、アプリケーションを構築し、Windowsサービスとしてそれを実行しようとすると、私はエラーが発生しています。アプリが起動した後Windowsサービスとして実行したときにRed5アプリケーションがBeanCreationExceptionを取得しています

、それはRed5のサーバを起動しようとしたとき、私は次のエラー/スタックトレースを取得し、次のよう

Tue Mar 14 16:00:51 MDT 2017: debug: about to get baseLoader 
Tue Mar 14 16:00:51 MDT 2017: debug: about to get loader: [email protected] 
Tue Mar 14 16:00:51 MDT 2017: debug: about to set new loader:[email protected] 
Tue Mar 14 16:00:51 MDT 2017: debug: about to create boot object: [email protected] 
Tue Mar 14 16:00:51 MDT 2017: debug: about to get method 1: [email protected] 
Tue Mar 14 16:00:51 MDT 2017: debug: about to invoke method 1: public void org.red5.server.Launcher.launch() throws java.lang.Exception 
Tue Mar 14 16:01:01 MDT 2017: error: Errorjava.lang.reflect.InvocationTargetException 
Tue Mar 14 16:01:01 MDT 2017: error: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at ... 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.rzo.yajsw.app.WrapperJVMMain.executeMain(WrapperJVMMain.java:53) 
    at org.rzo.yajsw.app.WrapperJVMMain.main(WrapperJVMMain.java:36) 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'context.loader' defined in class path resource [red5.xml]: Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tomcat.server' defined in class path resource [jee-container.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) 
    at org.red5.server.Launcher.launch(Launcher.java:69) 
    ... 14 more 
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tomcat.server' defined in class path resource [jee-container.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:217) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:350) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:331) 
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:968) 
    at org.red5.server.ContextLoader.afterPropertiesSet(ContextLoader.java:113) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1633) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570) 
    ... 24 more 
Caused by: java.lang.NullPointerException 
    at java.util.Hashtable.put(Unknown Source) 
    at java.util.Properties.setProperty(Unknown Source) 
    at java.lang.System.setProperty(Unknown Source) 
    at org.red5.server.tomcat.TomcatLoader.start(TomcatLoader.java:252) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1702) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1641) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570) 
    ... 36 more 

私の関連するコードは次のとおりです。

// get current loader 
    logDebug(" about to get baseLoader"); 
    ClassLoader baseLoader = Thread.currentThread().getContextClassLoader(); 
    // build a ClassLoader 
    logDebug(" about to get loader: " + baseLoader); 
    ClassLoader loader = ClassLoaderBuilder.build(); 
    // set new loader as the loader for this thread 
    logDebug(" about to set new loader:" + loader); 
    Thread.currentThread().setContextClassLoader(loader); 
    // create a new instance of this class using new classloader 
    logDebug(" about to create boot object: " + loader); 
    Object boot = Class.forName("org.red5.server.Launcher", true, loader).newInstance(); 
    logDebug(" about to get method 1: " + boot); 
    Method m1 = boot.getClass().getMethod("launch", (Class[]) null); 
    logDebug(" about to invoke method 1: " + m1); 
    m1.invoke(boot, (Object[]) null); 
    // not that it matters, but set it back to the original loader 
    logDebug(" about to set original loader: " + m1); 
    Thread.currentThread().setContextClassLoader(baseLoader); 

任意のアイデア何が原因でエラーが発生し、どのように修正するのですか?

EDIT:

以下に示し、それは私が上で持っていたのNullPointerExceptionを処分したとして、私は、Red5のルートディレクトリにred5.rootセットと呼ばれるシステムプロパティを追加しました。

String red5Root = serverHome + "/red5-server-1.0.6-RELEASE"; 
System.setProperty("red5.root", red5Root); 

ただし、まだred5サーバーに接続する際に問題が発生しています。私は、次のURLで私のWebアプリケーションにアクセスするために移動しようとすると:

はlocalhost:8080 /ストリーミング/ streaming.html

私はこの例外と500エラーを取得しています:

java.lang.NullPointerExceptionが org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:64)CA何ができるか

このNullPointerExeptionを使用していますか?

答えて

0

最初の質問はすでに編集で回答されているので、私は2番目の質問に答えます。

NPEは、クラスパス内で競合するログ用のジャーが原因で発生していました。 webapps/myApp/WEB-INF/web.xmlファイルから次のものを削除して、この問題を解決できました。

<filter> 
    <filter-name>LoggerContextFilter</filter-name> 
    <filter-class>org.red5.logging.LoggerContextFilter</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>LoggerContextFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 
関連する問題