[jira] [Commented] (COCOON3-85) cocoon-spring-configurator doesn't work with Spring 3.1

2011-12-26 Thread Commented

[ 
https://issues.apache.org/jira/browse/COCOON3-85?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13175984#comment-13175984
 ] 

Francesco Chicchiriccò commented on COCOON3-85:
---

I have committed today some version updates in C3 sources (including Spring 
3.1).

I have forked your GitHub project at 
git://github.com/ilgrosso/cocoon-springification.git

You can test my fork by:

# git clone  git://github.com/ilgrosso/cocoon-springification.git
# cd cocoon-springification
# mvn clean install
# cd webapp

At this point you can choose which JEE container to run with:

#  mvn -P cargo.jetty6x
or
# mvn -P cargo.tomcat7x
or
# mvn -P cargo.jetty7x
or
# mvn -P cargo.jetty8x

Without applying your patch, Jetty 6 and Tomcat 7 run fine, Jetty 7 and Jetty 8 
fail with stacktrace you reported above, so I think this is more a Jetty (7 and 
8) issue than C3's.

 cocoon-spring-configurator doesn't work with Spring 3.1
 ---

 Key: COCOON3-85
 URL: https://issues.apache.org/jira/browse/COCOON3-85
 Project: Cocoon 3
  Issue Type: Bug
  Components: cocoon-servlet
Affects Versions: 3.0.0-beta-1
Reporter: Igor Malinin
Priority: Critical
 Attachments: java.patch


 There are several issues that prevent Cocoon 3 to work with Spring 3.1
 One issue I reported already in mailing list when Jetty7 + recent AspectJ was 
 failing, not the same issue is deeper and ServletContextFactoryBean doesn't 
 work at all with Spring 3.1.
 Note that ServletContext is already in the Spring web-app context, although 
 with another name ('servletContext'). This is available starting from Spring 
 3.0. Making an alias 'javax.servlet.ServletContext' - 'servletContext' 
 solves problem partially, but still fails on XMLSitemapServlet initialization 
 (as it uses static field in ServletContextFactoryBean).
 I will attach a patch (a little bit dirty, but not more than the current 
 implementation). But it assumes at least Spring 3.0.
 As Cocoon 3 project is moved to Java 1.6, it is probably also worth to have 
 as a dependency at leas 3.0 version of Spring Framework (for Java5 generics 
 etc.)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (COCOON3-85) cocoon-spring-configurator doesn't work with Spring 3.1

2011-12-26 Thread Igor Malinin (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/COCOON3-85?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13176054#comment-13176054
 ] 

Igor Malinin commented on COCOON3-85:
-

I explained some time ago the roots of the problem on cocoon-dev mailing list 
(http://old.nabble.com/Jetty-7---%22can't-determine-modifiers-of-missing-type-org.eclipse.jetty.webapp.WebAppContext$Context%22-error-td32314839.html),
 and those are in no way Jetty problem, but the Cocoon!

Jetty is OSGi container and it isolates class loaders. This is perfectly legal 
and is not in any violation of Servlet specs. C3 defines a BeanFactory for 
ServletContext and then tries to apply AspectJ pointcuts over it, but AspectJ 
optimizer fails because it cannot see the Jetty's implementation of 
ServletContext. Before Spring 3.1 it was possible to workaround it by using old 
AspectJ versions (they are without optimizer), but with Spring 3.1 - it doesn't 
help. As more and more containers are switching to OSGi (or other similar 
component isolation models) you can expect Cocoon to fail on more and more 
containers...

Jetty 6 is so ancient already that pointing to it for new developments is just 
irrelevant... It works there only by accident. You can claim that AspectJ is 
the problem, but they declared it clearly that they will not fix it, at leas 
soon, as this requires serious redesign of its optimizer.

 cocoon-spring-configurator doesn't work with Spring 3.1
 ---

 Key: COCOON3-85
 URL: https://issues.apache.org/jira/browse/COCOON3-85
 Project: Cocoon 3
  Issue Type: Bug
  Components: cocoon-servlet
Affects Versions: 3.0.0-beta-1
Reporter: Igor Malinin
Priority: Critical
 Attachments: java.patch


 There are several issues that prevent Cocoon 3 to work with Spring 3.1
 One issue I reported already in mailing list when Jetty7 + recent AspectJ was 
 failing, not the same issue is deeper and ServletContextFactoryBean doesn't 
 work at all with Spring 3.1.
 Note that ServletContext is already in the Spring web-app context, although 
 with another name ('servletContext'). This is available starting from Spring 
 3.0. Making an alias 'javax.servlet.ServletContext' - 'servletContext' 
 solves problem partially, but still fails on XMLSitemapServlet initialization 
 (as it uses static field in ServletContextFactoryBean).
 I will attach a patch (a little bit dirty, but not more than the current 
 implementation). But it assumes at least Spring 3.0.
 As Cocoon 3 project is moved to Java 1.6, it is probably also worth to have 
 as a dependency at leas 3.0 version of Spring Framework (for Java5 generics 
 etc.)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (COCOON3-85) cocoon-spring-configurator doesn't work with Spring 3.1

2011-12-24 Thread Commented

[ 
https://issues.apache.org/jira/browse/COCOON3-85?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13175746#comment-13175746
 ] 

Francesco Chicchiriccò commented on COCOON3-85:
---

What is your use case? I've just tried to replace 
spring.version3.0.7.RELEASE/spring.version
with
spring.version3.1.0.RELEASE/spring.version

in parent/pom.xml, then launched it.sh and all went fine.

 cocoon-spring-configurator doesn't work with Spring 3.1
 ---

 Key: COCOON3-85
 URL: https://issues.apache.org/jira/browse/COCOON3-85
 Project: Cocoon 3
  Issue Type: Bug
  Components: cocoon-servlet
Affects Versions: 3.0.0-beta-1
Reporter: Igor Malinin
Priority: Critical
 Attachments: java.patch


 There are several issues that prevent Cocoon 3 to work with Spring 3.1
 One issue I reported already in mailing list when Jetty7 + recent AspectJ was 
 failing, not the same issue is deeper and ServletContextFactoryBean doesn't 
 work at all with Spring 3.1.
 Note that ServletContext is already in the Spring web-app context, although 
 with another name ('servletContext'). This is available starting from Spring 
 3.0. Making an alias 'javax.servlet.ServletContext' - 'servletContext' 
 solves problem partially, but still fails on XMLSitemapServlet initialization 
 (as it uses static field in ServletContextFactoryBean).
 I will attach a patch (a little bit dirty, but not more than the current 
 implementation). But it assumes at least Spring 3.0.
 As Cocoon 3 project is moved to Java 1.6, it is probably also worth to have 
 as a dependency at leas 3.0 version of Spring Framework (for Java5 generics 
 etc.)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (COCOON3-85) cocoon-spring-configurator doesn't work with Spring 3.1

2011-12-24 Thread Igor Malinin (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/COCOON3-85?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13175747#comment-13175747
 ] 

Igor Malinin commented on COCOON3-85:
-

Hmm... Probably this is because I am using AspectJ 1.6.6 (newer versions break 
Cocoon on Jetty7+ because of ServletContextFactoryBean is not synthetic).

I'll try to get a stack trace for this and update my sample app so that you can 
reproduce it.

 cocoon-spring-configurator doesn't work with Spring 3.1
 ---

 Key: COCOON3-85
 URL: https://issues.apache.org/jira/browse/COCOON3-85
 Project: Cocoon 3
  Issue Type: Bug
  Components: cocoon-servlet
Affects Versions: 3.0.0-beta-1
Reporter: Igor Malinin
Priority: Critical
 Attachments: java.patch


 There are several issues that prevent Cocoon 3 to work with Spring 3.1
 One issue I reported already in mailing list when Jetty7 + recent AspectJ was 
 failing, not the same issue is deeper and ServletContextFactoryBean doesn't 
 work at all with Spring 3.1.
 Note that ServletContext is already in the Spring web-app context, although 
 with another name ('servletContext'). This is available starting from Spring 
 3.0. Making an alias 'javax.servlet.ServletContext' - 'servletContext' 
 solves problem partially, but still fails on XMLSitemapServlet initialization 
 (as it uses static field in ServletContextFactoryBean).
 I will attach a patch (a little bit dirty, but not more than the current 
 implementation). But it assumes at least Spring 3.0.
 As Cocoon 3 project is moved to Java 1.6, it is probably also worth to have 
 as a dependency at leas 3.0 version of Spring Framework (for Java5 generics 
 etc.)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (COCOON3-85) cocoon-spring-configurator doesn't work with Spring 3.1

2011-12-24 Thread Igor Malinin (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/COCOON3-85?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13175749#comment-13175749
 ] 

Igor Malinin commented on COCOON3-85:
-

To reproduce:

# git clone git://github.com/igorzep/cocoon-springification.git
# cd cocoon-springification
# mvn clean install
# cd webapp
# mvn jetty:run-web

Long exception trace...
Switch Spring version back to 3.0.7 in top-level pom - everything works as 
expected.

The trace is:


2011-12-24 19:36:37.337:WARN::Failed startup of context 
JettyWebAppContext@56c492c8@56c492c8/,file:/W:/workspaces/agentler/clone/cocoon-springification/webapp/target/tmp/webapp/,W:\workspaces\agentler\clone\cocoon-springification\webapp\target\cocoon-springification-webapp-0.1-SNAPSHOT.war
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.apache.cocoon.blockdeployment.BlockResourcesHolder' defined in 
URL 
[jar:file:/W:/workspaces/agentler/clone/cocoon-springification/webapp/target/tmp/webapp/WEB-INF/lib/cocoon-block-deployment-1.1.0.jar!/META-INF/cocoon/spring/cocoon-blockdeployment-resourcesholder.xml]:
 Cannot resolve reference to bean 'javax.servlet.ServletContext' while setting 
bean property 'servletContext'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'javax.servlet.ServletContext': Post-processing of the FactoryBean's 
object failed; nested exception is java.lang.IllegalArgumentException: warning 
no match for this type name: org.apache.cocoon.sitemap.node.SerializeNode 
[Xlint:invalidAbsoluteTypeName]
at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)
at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)
at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
at 
org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:384)
at 
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)
at 
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
at 
org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:643)
at 
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:189)
at 
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:913)
at 
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:584)
at 
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:341)
at 
org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:102)
at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
at 
org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:164)
at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:161)
at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
at 
org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:164)
at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
at