geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul McMahan" <paulmcma...@gmail.com>
Subject Re: Geronimo Liferay Plugins
Date Mon, 16 Oct 2006 16:08:16 GMT
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