Issue upgrading from Red5 1.0.8-M13 to 1.0.9-RELEASE

42 views
Skip to first unread message

swengin...@gmail.com

unread,
Feb 21, 2018, 4:14:49 PM2/21/18
to red5
I have upgraded to Red5 1.0.9 and now my application can not run due to a linkage error related to org.slf4j. I am using Windows.
Red5 lib folder has now jcl-over-slf4j-1.7.25, jul-to-slf4j-1.7.25, log4j-over-slf4j-1.7.25, and slf4j-api-1.7.25

I have excluded some jars but still have the error. Any assistance with this issue is appreciated.

   <plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
     <packagingExcludes>WEB-INF/lib/slf4j-api-1.7.25.jar,
      WEB-INF/lib/spring-beans*.jar,
      WEB-INF/lib/spring-context*.jar,
      WEB-INF/lib/spring-core*.jar,
      WEB-INF/lib/spring-expression*.jar,
      WEB-INF/lib/spring-web*.jar,
      WEB-INF/lib/mina*.jar,
      WEB-INF/lib/red5*.jar,
      WEB-INF/lib/servlet-api*.jar,
      WEB-INF/lib/javaee-api*.jar,
      WEB-INF/lib/log4j*.jar
     </packagingExcludes>
    </configuration>
   </plugin>

The error is:
java.lang.LinkageError: loader constraint violation: when resolving method "org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;" the class loader (instance of org/apache/catalina/loader/ParallelWebappClassLoader) of the current class, org/slf4j/LoggerFactory, and the class loader (instance of java/net/URLClassLoader) for the method's defining class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type org/slf4j/ILoggerFactory used in the signature
 at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:418)
 at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357)
 at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
 at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)
 at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645)
 at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.<init>(AbstractAutoProxyCreator.java:111)
 at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.<init>(AbstractAdvisorAutoProxyCreator.java:48)
 at org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator.<init>(AspectJAwareAdvisorAutoProxyCreator.java:47)
 at org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator.<init>(AnnotationAwareAspectJAutoProxyCreator.java:49)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
 at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)
 at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1147)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1099)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
 at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:223)
 at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:702)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:527)
 at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
 at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
 at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
 at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
 at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
 at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:138)
 at javax.servlet.GenericServlet.init(GenericServlet.java:158)
 at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1183)
 at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1099)
 at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:989)
 at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4931)
 at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5241)
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
 at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
 at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 at java.lang.Thread.run(Thread.java:748)

Mondain

unread,
Feb 21, 2018, 4:21:40 PM2/21/18
to red5in...@googlegroups.com
I'd suggest using the jars in the released zip / tarball file. Otherwise you may have a dependency issue in your app build.

Regards,
Paul

--

---
You received this message because you are subscribed to the Google Groups "red5" group.
To unsubscribe from this group and stop receiving emails from it, send an email to red5interest...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

swengin...@gmail.com

unread,
Feb 22, 2018, 2:34:29 PM2/22/18
to red5
Thanks very much Paul. I decided to upgrade to 1.0.9 because is the latest release. Are the pre releases 1.0.10  work in progress like Beta versions or are they stable versions that can be used as well for production deployments?
Thanks again.

Sonia

Mondain

unread,
Feb 22, 2018, 3:14:33 PM2/22/18
to red5in...@googlegroups.com
Milestones for us could be considered beta; but the latest milestone has been used with Red5 Pro for quite some time now and its really stable. I've just been a little busy/lazy or it'd be released by now.

swengin...@gmail.com

unread,
Feb 22, 2018, 3:59:33 PM2/22/18
to red5
Ok. Thanks very much Paul for the clarification.
Reply all
Reply to author
Forward
0 new messages