On 10/16/06, Jeff Genender <[EMAIL PROTECTED]> 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

Reply via email to