2 Replies Latest reply on Mar 28, 2007 2:13 PM by Alex Savitsky

    Bug: no such setter method: org.jboss.seam.core.Init.userTra

    Alex Savitsky Novice

      The following components.xml declaration results in exception:

      <core:init user-transaction-name="java:comp/env/UserTransaction" />


      java.lang.RuntimeException: Could not create Component: org.jboss.seam.core.init
       at org.jboss.seam.init.Initialization.addComponent(Initialization.java:833)
       at org.jboss.seam.init.Initialization.addComponents(Initialization.java:676)
       at org.jboss.seam.init.Initialization.init(Initialization.java:478)
       at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:33)
       at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3763)
       at org.apache.catalina.core.StandardContext.start(StandardContext.java:4211)
       at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
       at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
       at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
       at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
       at org.apache.catalina.core.StandardService.start(StandardService.java:450)
       at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
       at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
       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:585)
       at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
       at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
      Caused by: java.lang.IllegalArgumentException: no such setter method: org.jboss.seam.core.Init.userTransactionName
       at org.jboss.seam.util.Reflections.getSetterMethod(Reflections.java:217)
       at org.jboss.seam.Component.initInitializers(Component.java:369)
       at org.jboss.seam.Component.<init>(Component.java:260)
       at org.jboss.seam.Component.<init>(Component.java:200)
       at org.jboss.seam.init.Initialization.addComponent(Initialization.java:823)
       ... 18 more


      The XSD for the core tags (core-1.2.xsd) clearly allows the user-transaction-name as an attribute to the init tag, yet the corresponding method in Init class is protected. Was it supposed to be public? Does this one looks like a bug?

      Thanks,

      Alex