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]

Reply via email to