Eclipse에서 제대로 실행되는 Red5 응용 프로그램이 있습니다. 그러나 앱을 빌드하고 Windows 서비스로 실행하려고하면 오류가 발생합니다.Windows 서비스로 실행했을 때 Red5 응용 프로그램이 BeanCreationException을 얻고 있습니다.
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);
어떤 아이디어가 나는 다음과 같은 오류/스택 추적을 얻을 Red5의 서버를 시작하려고 응용 프로그램 시작 후
, 무엇이 오류를 일으키고 어떻게 해결할 수 있습니까?
편집 : 아래 그림과는 제가 위에서 가지고 있던 NullPointerException이 제거했기 때문에
은 내가 Red5의 루트 디렉토리로 설정 시스템 프로퍼티라는 red5.root을 추가했다.String red5Root = serverHome + "/red5-server-1.0.6-RELEASE";
System.setProperty("red5.root", red5Root);
그러나 여전히 red5 서버에 연결하는 데 문제가 있습니다. 나는 다음과 같은 URL을 내 웹 응용 프로그램에 액세스로 이동하려고 할 때 :
로컬 호스트 : 8080/스트리밍/streaming.html
나는이 예외에 500 오류가 점점 오전 :
java.lang.NullPointerException이 org.red5.logging.LoggerContextFilter.doFilter (LoggerContextFilter.java:64)
하는 CA가 될 수 무엇 이 NullPointerExeption을 사용하고 있습니까?