geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Genender <jgenen...@apache.org>
Subject Re: Geronimo Liferay Plugins
Date Mon, 16 Oct 2006 16:17:55 GMT
Paul,

I had the same problem in Tomcat too until I pulled the
org.springframework filter from the container level deployer.  That is
very likely the problem you are running into.  Remove the filter from
jetty-deployer and I suspect this will fix your problem.

Jeff

Paul McMahan wrote:
> On 10/16/06, Jeff Genender <jgenender@apache.org> wrote:
>>
>>
>> Paul McMahan wrote:
>> > Also, I worked on a Jetty version of the plugin but encountered some
>> > problems with classloading that I think may be due to the Jetty
>> > assembly pulling in Spring and/or cglib differently than the Tomcat
>> > assembly?  I saw a couple of emails go by last week about issues with
>> > Spring in the Jetty assembly, perhaps that could be related.  I
>> > haven't drilled down far enough to know the real culprit yet.
>>
>> I suspect a hidden-classes declaration in the Liferay environment will
>> fix this for you.
> 
> I suspected that at first and added this to geronimo-application.xml :
>         <hidden-classes>
>                        <filter>org.springframework</filter>
>         </hidden-classes>
> 
> But I still get the ST at the bottom of this note, the following
> portion looking especially suspect:
>  interface org.springframework.aop.framework.Advised is not visible
> from class loader
> 
> I've tried several other different variations of using
> <hidden-classes>, <non-overrideable-classes>, and <dependency> to work
> around this.   But without a thorough understanding of the underlying
> problem I'm starting to feel like I'm taking shots in the dark.
> Unless there's enough information in the ST below to trigger some
> suggestions I suppose I just need to bite the bullet and crawl through
> startup with a debugger :-)
> 
> BTW, the magic ingredient that worked for me in creating the 4.0.0
> Liferay plugin for Geronimo's 1.1 tomcat assembly was:
>         <hidden-classes>
>                        <filter>org.apache.commons.logging</filter>
>                        <filter>org.apache.velocity</filter>
>                        <filter>org.springframework</filter>
>                </hidden-classes>
>         <non-overridable-classes>
>                        <filter>net.sf.cglib</filter>
>                </non-overridable-classes>
> This forced Geronimo to use Spring from Liferay but cglib from
> Geronimo.  But now the tomcat liferay plugin doesn't need this and the
> same plan doesn't work for Jetty.
> 
> com.liferay.portal.SystemException:
> org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name
> 'com.liferay.lock.service.spring.LockServiceFactory' defined in class
> path resource [META-INF/lock-spring-enterprise.xml]: Cannot resolve
> reference to bean
> 'com.liferay.lock.service.spring.LockService.enterprise' while setting
> bean property 'service'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name
> 'com.liferay.lock.service.spring.LockService.enterprise' defined in
> class path resource [META-INF/lock-spring-enterprise.xml]:
> Initialization of bean failed; nested exception is
> java.lang.IllegalArgumentException: interface
> org.springframework.aop.framework.Advised is not visible from class
> loader
>        at
> com.liferay.lock.service.spring.LockServiceUtil.clear(LockServiceUtil.java:48)
> 
>        at
> com.liferay.portal.events.StartupAction.run(StartupAction.java:66)
>        at
> com.liferay.portal.events.EventsProcessor._process(EventsProcessor.java:144)
> 
>        at
> com.liferay.portal.events.EventsProcessor.process(EventsProcessor.java:73)
>        at com.liferay.portal.servlet.MainServlet.init(MainServlet.java:135)
>        at javax.servlet.GenericServlet.init(GenericServlet.java:168)
>        at
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:383)
>        at
> org.mortbay.jetty.servlet.ServletHolder.start(ServletHolder.java:243)
>        at
> org.apache.geronimo.jetty.JettyWebAppContext.registerServletHolder(JettyWebAppContext.java:588)
> 
>        at
> org.apache.geronimo.jetty.JettyWebAppContext$$FastClassByCGLIB$$99d6fb54.invoke(<generated>)
> 
>        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>        at
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> 
>        at
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)
> 
>        at
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
> 
>        at
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>        at
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
> 
>        at
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
> 
>        at
> org.apache.geronimo.management.geronimo.WebModule$$EnhancerByCGLIB$$7577bc9a.registerServletHolder(<generated>)
> 
>        at
> org.apache.geronimo.jetty.JettyServletHolder.<init>(JettyServletHolder.java:80)
> 
>        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>        at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> 
>        at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> 
>        at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
>        at
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:933)
> 
>        at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:267)
> 
>        at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
> 
>        at
> org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:526)
> 
>        at
> org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
> 
>        at
> org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
> 
>        at
> org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
> 
>        at
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:173)
> 
>        at
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:41)
> 
>        at
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:251)
> 
>        at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:292)
> 
>        at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
> 
>        at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
> 
>        at
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:540)
> 
>        at
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
> 
>        at
> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:374)
> 
>        at
> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:411)
> 
>        at
> org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
> 
>        at
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:527)
> 
>        at
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:508)
> 
>        at
> org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>)
> 
>        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
>        at
> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> 
>        at
> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)
> 
>        at
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:817)
> 
>        at
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>        at
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
> 
>        at
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
> 
>        at
> org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$cb32bcee.startConfiguration(<generated>)
> 
>        at
> org.apache.geronimo.deployment.plugin.local.StartCommand.run(StartCommand.java:67)
> 
>        at java.lang.Thread.run(Thread.java:534)
> Caused by: org.springframework.beans.factory.BeanCreationException:
> Error creating bean with name
> 'com.liferay.lock.service.spring.LockServiceFactory' defined in class
> path resource [META-INF/lock-spring-enterprise.xml]: Cannot resolve
> reference to bean
> 'com.liferay.lock.service.spring.LockService.enterprise' while setting
> bean
> property 'service'; nested exception is
> org.springframework.beans.factory.BeanCreationException: Error
> creating bean with name
> 'com.liferay.lock.service.spring.LockService.enterprise' defined in
> class path resource [META-INF/lock-spring-enterprise.xml]:
> Initialization of bean failed; nested exception is
> java.lang.IllegalArgumentException: interface
> org.springframework.aop.framework.Advised is not visible from class
> loader
>        at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:190)
> 
>        at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
> 
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1046)
> 
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:857)
> 
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:378)
> 
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:233)
> 
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
> 
>        at
> org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:537)
> 
>        at
> com.liferay.lock.service.spring.LockServiceFactory.getService(LockServiceFactory.java:42)
> 
>        at
> com.liferay.lock.service.spring.LockServiceUtil.clear(LockServiceUtil.java:42)
> 
>        ... 53 more
> Caused by: org.springframework.beans.factory.BeanCreationException:
> Error creating bean with name
> 'com.liferay.lock.service.spring.LockService.enterprise' defined in
> class path resource [META-INF/lock-spring-enterprise.xml]:
> Initialization of bean failed; nested exception is
> java.lang.IllegalArgumentException: interface
> org.springframework.aop.framework.Advised is not visible from class
> loader
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:403)
> 
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:233)
> 
>        at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
> 
>        at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:186)
> 
>        ... 62 more
> Caused by: java.lang.IllegalArgumentException: interface
> org.springframework.aop.framework.Advised is not visible from class
> loader
>        at java.lang.reflect.Proxy.getProxyClass(Proxy.java:331)
>        at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:552)
>        at
> org.springframework.aop.framework.JdkDynamicAopProxy.getProxy(JdkDynamicAopProxy.java:104)
> 
>        at
> org.springframework.aop.framework.JdkDynamicAopProxy.getProxy(JdkDynamicAopProxy.java:94)
> 
>        at
> org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:70)
> 
>        at
> org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:99)
> 
>        at
> org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean.afterPropertiesSet(SimpleRemoteStatelessSessionProxyFactoryBean.java:99)
> 
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1091)
> 
>        at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:396)
> 
>        ... 65 more

Mime
View raw message