Thanks for trying all this out! This issue is that you are probably
loading too many classes into the JVM and the perm size is being filled
up and causing the JVM to blow chunks. This happens to me as well when I
forget to setup the excludes correctly.
Unfortunately I have a specific use case for 100% zero configuration,
but you probably don't so I could easily add another configuration
parameter to sets the root packages to scan rather than using excludes.
Something like you suggested should work:
struts.convention.scan.packages=com.example.*
-bp
Piero Sartini wrote:
Hello Brian,
thanks for your great work!
After playing around with the plugin I found an issue in combination with
toplink-essentials. Not sure, but it seems related to the classpath scanning.
Trying
struts.convention.exclude.packages=oracle.toplink.essentials.transaction
the error remains, but with different class:
org.apache.struts2.views.velocity.components.SetDirective
So I think there is some class loading going on in toplink that conflicts with
yours? If I remove the toplink dependency (2.0-36), everything works fine.
If I remove the convention plugin, it works fine as well..
Piero
Stacktrace:
12.01.2008 17:21:39 org.apache.catalina.core.StandardContext filterStart
SCHWERWIEGEND: Exception starting filter action2
java.lang.IllegalArgumentException: Could not load class
[oracle.toplink.essentials.transaction.JTASynchronizationListener]
at
org.apache.struts2.convention.ClassClassLoaderResolver.prepare(ClassClassLoaderResolver.java:198)
at
org.apache.struts2.convention.ClassClassLoaderResolver.prepare(ClassClassLoaderResolver.java:51)
at
org.apache.struts2.convention.AbstractClassLoaderResolver.addIfMatching(AbstractClassLoaderResolver.java:447)
at
org.apache.struts2.convention.AbstractClassLoaderResolver.loadResourcesInJar(AbstractClassLoaderResolver.java:401)
at
org.apache.struts2.convention.AbstractClassLoaderResolver.findInDirectory(AbstractClassLoaderResolver.java:276)
at
org.apache.struts2.convention.AbstractClassLoaderResolver.find(AbstractClassLoaderResolver.java:154)
at
org.apache.struts2.convention.AbstractClassLoaderResolver.findByLocators(AbstractClassLoaderResolver.java:243)
at
org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActionsUsingPackageLocators(PackageBasedActionConfigBuilder.java:185)
at
org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:165)
at
org.apache.struts2.convention.ClasspathConfigurationProvider.loadPackages(ClasspathConfigurationProvider.java:74)
at
com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:190)
at
com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
at
org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:370)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:423)
at
org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:211)
at
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3696)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4343)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:511)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1220)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at
org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1458)
at
org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:820)
at
org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:348)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:196)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NoClassDefFoundError: javax/transaction/Synchronization
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1817)
at
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1325)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at
org.apache.struts2.convention.ClassClassLoaderResolver.prepare(ClassClassLoaderResolver.java:194)
... 53 more
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]