Did you mark UserDAOHibernate with the @Repository annotation?

2009/6/16 Bruce McGuire <br...@coastware.com>:
> Hi Vasu.
>
> Thanks for the info. Now I get it, and have successfully wired my demo app
> so that it does the job.
>
> Although I did notice that along with the context:component-scan I did need
> to define the beans that I was going to autowire. How did you get around
> this?
>
>   <context:component-scan base-package="com.coastware" />
>   <bean id="userDAO"
> class="com.coastware.vProbe.model.dao.hibernate.UserDAOHibernate" />
>
> Other than that, this is a very much reduced context file.
>
> Now I need to duplicate this in my real application.
>
> Thanks for everyone's help.
>
> Bruce McGuire.
>
> Vasu Srinivasan wrote:
>>
>> Using annotations, I have only one line in the spring's
>> applicationContext.xml --
>>
>> <context:component-scan base-package="packagename" />
>>
>> Services are tagged with @Service, Daos are tagged with
>> @Component("xxxDaoImpl"), Wicket web pages have @SpringBean
>> (name="<serviceName>")
>>
>> Within the ServiceImpl, the Daos are tagged with @Autowired.
>>
>> No other xml config, setter, getter for daos etc.
>>
>> Works like a charm.
>>
>> 2009/6/16 James Carman <jcar...@carmanconsulting.com>
>>
>>
>>>
>>> You are correct.  You should only use @SpringBean in your wicket-related
>>> code (components/pages).  Let Spring wire the rest together, however you
>>> want to configure it to do that (with annotations or xml).  You can use
>>> @Autowired to inject your DAOs into your Services.  You just have to make
>>> sure you set up your Spring context so that it takes care of that.
>>>
>>> On Tue, Jun 16, 2009 at 4:36 PM, Bruce McGuire <br...@coastware.com>
>>> wrote:
>>>
>>>
>>>>
>>>> Hello James.
>>>>
>>>> So I have completely missed the point of the Repository, Service and
>>>> SpringBean annotations?  I was under the impression that the idea was to
>>>> avoid using a lot of xml in my context files.
>>>>
>>>> If I am understanding correctly, what you and Martijn are saying is the
>>>> following:
>>>> Tag the dao and service classes with Repository and Service, and in
>>>>
>>>
>>> wicket
>>>
>>>>
>>>> code, tag any use of them with SpringBean. However, in the service
>>>>
>>>
>>> classes,
>>>
>>>>
>>>> use the normal xml injection method and get/set to get the dao into the
>>>> service class.
>>>>
>>>> Is this a correct interpretation?
>>>>
>>>> Thanks,
>>>>
>>>> Bruce.
>>>>
>>>> James Carman wrote:
>>>>
>>>>
>>>>>
>>>>> You shouldn't use @SpringBean in your spring-managed beans, only in
>>>>> your Wicket code.  You don't want view-specific code in your "domain"
>>>>> code.
>>>>>
>>>>> On Tue, Jun 16, 2009 at 4:17 PM, Bruce McGuire <br...@coastware.com>
>>>>> wrote:
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> Hi Martijn.
>>>>>>
>>>>>> Thanks for the quick response.
>>>>>>
>>>>>> Are you saying that the dao and the service should have the
>>>>>> InjectorHolder code, rather than the @Repository and @Service tags?
>>>>>>
>>>>>> Bruce.
>>>>>>
>>>>>> Martijn Dashorst wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> @SpringBean only works with Components. For all other uses you should
>>>>>>> either call InjectorHolder.getInjector().inject(this) in your
>>>>>>> constructor or use Salve.
>>>>>>>
>>>>>>> Martijn
>>>>>>>
>>>>>>> On Tue, Jun 16, 2009 at 9:26 PM, Bruce McGuire<br...@coastware.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> Hello.
>>>>>>>>
>>>>>>>> I have created a new small project to try to figure out how to use
>>>>>>>>
>>>
>>> the
>>>
>>>>>>>>
>>>>>>>> SpringBean, Service, and Repository annotations with Wicket, Spring,
>>>>>>>> Hibernate, Maven and Eclipse.
>>>>>>>>
>>>>>>>> However, I am getting an error with a user DAO that I have created.
>>>>>>>>
>>>>>>>> I have a service that is using the dao tagged as @Service, I have
>>>>>>>> the
>>>>>>>> DAO in
>>>>>>>> the service tagged with @SpringBean, and the DAO code itself is
>>>>>>>>
>>>
>>> tagged
>>>
>>>>>>>>
>>>>>>>> with
>>>>>>>> @Repository.  The service that is using the DAO is getting found
>>>>>>>> correctly.
>>>>>>>>
>>>>>>>> When I have the InjectorHolder code in the dao constructor, I get an
>>>>>>>> error
>>>>>>>> that says 'InjectorHolder has not been assigned an injector'
>>>>>>>>
>>>>>>>> When I comment out the InjectorHolder line in the dao constructor,
>>>>>>>>
>>>
>>> the
>>>
>>>>>>>>
>>>>>>>> DAO
>>>>>>>> is null, and getUserDAO throws an exception.
>>>>>>>>
>>>>>>>> Since I am not certain that I can attach files, I will insert the
>>>>>>>> relevant
>>>>>>>> code and exceptions into this email.
>>>>>>>>
>>>>>>>> Any pointers you can give would be greatly appreciated.
>>>>>>>>
>>>>>>>> Thanks very very much,
>>>>>>>>
>>>>>>>> Bruce.
>>>>>>>>
>>>>>>>> UserServiceImpl
>>>>>>>> ====================> @Service("UserService")
>>>>>>>> public class UserServiceImpl implements UserService
>>>>>>>> {
>>>>>>>> �...@springbean
>>>>>>>>  UserDAO userDAO ;
>>>>>>>>
>>>>>>>>  private UserDAO getUserDAO()
>>>>>>>>  {
>>>>>>>>    if (null =erDAO)
>>>>>>>>    {
>>>>>>>>        throw new RuntimeException("userDAO is null") ;
>>>>>>>>    }
>>>>>>>>
>>>>>>>>    return(userDAO) ;
>>>>>>>>  }
>>>>>>>>
>>>>>>>> �...@override
>>>>>>>>  public List<User> getUsers()
>>>>>>>>  {
>>>>>>>>    return (getUserDAO().findAll());
>>>>>>>>  }
>>>>>>>> ====================>
>>>>>>>> UserDAOHibernate
>>>>>>>> ====================> @Repository("UserDAO")
>>>>>>>> public class UserDAOHibernate extends GenericDAOHibernate<User,
>>>>>>>>
>>>
>>> String>
>>>
>>>>>>>>
>>>>>>>> implements UserDAO
>>>>>>>> {
>>>>>>>>  private static Log log =Factory.getLog("UserDAOHibernate");
>>>>>>>>
>>>>>>>>  public UserDAOHibernate()
>>>>>>>>  {
>>>>>>>>    InjectorHolder.getInjector().inject(this);
>>>>>>>>  }
>>>>>>>>
>>>>>>>> ...
>>>>>>>> ====================>
>>>>>>>> HomePage
>>>>>>>> ====================> public class HomePage extends WebPage
>>>>>>>> {
>>>>>>>> �...@springbean
>>>>>>>>  private UserService userService ;
>>>>>>>>
>>>>>>>>  public HomePage(final PageParameters parameters)
>>>>>>>>  {
>>>>>>>>    super (parameters) ;
>>>>>>>>
>>>>>>>>    List<User> userList =rService.getUsers() ;
>>>>>>>>
>>>>>>>>    RepeatingView rv = RepeatingView("Users") ;
>>>>>>>>    for(User user: userList)
>>>>>>>>    {
>>>>>>>>        Label userName = Label("username", user.getUsername()) ;
>>>>>>>>        rv.add(userName) ;
>>>>>>>>    }
>>>>>>>>
>>>>>>>>    this.add(rv) ;
>>>>>>>>  }
>>>>>>>> }
>>>>>>>> ====================>
>>>>>>>> CoastwareApplication
>>>>>>>> ====================> public class CoastwareApplication extends
>>>>>>>> WebApplication
>>>>>>>> {
>>>>>>>>  private ApplicationContext ctx;
>>>>>>>>
>>>>>>>> �...@springbean
>>>>>>>>  private UserService userService ;
>>>>>>>>
>>>>>>>>  protected static Log log
>>>>>>>> =Factory.getLog(CoastwareApplication.class)
>>>>>>>>
>>>
>>> ;
>>>
>>>>>>>>
>>>>>>>>  private static ISpringContextLocator CTX_LOCATOR =
>>>>>>>> ISpringContextLocator()
>>>>>>>>  {
>>>>>>>>    public ApplicationContext getSpringContext()
>>>>>>>>    {
>>>>>>>>        return(CoastwareApplication.get().ctx) ;
>>>>>>>>    }
>>>>>>>>  } ;
>>>>>>>>
>>>>>>>>  public CoastwareApplication()
>>>>>>>>  {
>>>>>>>>  }
>>>>>>>>
>>>>>>>>  public void init()
>>>>>>>>  {
>>>>>>>>    ctx = ClassPathXmlApplicationContext("appContext.xml") ;
>>>>>>>>
>>>>>>>>    addComponentInstantiationListener(new
>>>>>>>> SpringComponentInjector(this));
>>>>>>>>
>>>>>>>>    super.init() ;
>>>>>>>>  }
>>>>>>>>
>>>>>>>> �...@override
>>>>>>>>  public Session newSession(Request request, Response response)
>>>>>>>>  {
>>>>>>>>    return (new WebSession(request)) ;
>>>>>>>>  }
>>>>>>>>
>>>>>>>>  public static CoastwareApplication get()
>>>>>>>>  {
>>>>>>>>    return ((CoastwareApplication) Application.get()) ;
>>>>>>>>  }
>>>>>>>>
>>>>>>>>  private <T> T createProxy(Class<T> clazz)
>>>>>>>>  {
>>>>>>>>    return ((T) LazyInitProxyFactory.createProxy(clazz, new
>>>>>>>> SpringBeanLocator(clazz, CTX_LOCATOR))) ;
>>>>>>>>  }
>>>>>>>>
>>>>>>>>  public Class<HomePage> getHomePage()
>>>>>>>>  {
>>>>>>>>    return HomePage.class;
>>>>>>>>  }
>>>>>>>>
>>>>>>>>  public UserService getUserService()
>>>>>>>>  {
>>>>>>>>    if (null =erService)
>>>>>>>>    {
>>>>>>>>        userService =ateProxy(UserService.class) ;
>>>>>>>>
>>>>>>>>    }
>>>>>>>>    return userService;
>>>>>>>>  }
>>>>>>>> }
>>>>>>>> ====================>
>>>>>>>>
>>>>>>>> Web.xml
>>>>>>>> ====================>   <display-name>vProbe</display-name>
>>>>>>>>
>>>>>>>>  <context-param>
>>>>>>>>    <param-name>contextConfigLocation</param-name>
>>>>>>>>    <param-value>classpath:appContext.xml</param-value>
>>>>>>>>  </context-param>
>>>>>>>>
>>>>>>>>  <context-param>
>>>>>>>>    <param-name>configuration</param-name>
>>>>>>>>    <param-value>development</param-value>
>>>>>>>>  </context-param>
>>>>>>>>
>>>>>>>>  <listener>
>>>>>>>>    <listener-class>
>>>>>>>>        org.springframework.web.context.ContextLoaderListener
>>>>>>>>    </listener-class>
>>>>>>>>  </listener>
>>>>>>>>
>>>>>>>>  <filter>
>>>>>>>>    <filter-name>wicketFilter</filter-name>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>>  <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
>>>
>>>>>>>>
>>>>>>>>    <init-param>
>>>>>>>>        <param-name>applicationClassName</param-name>
>>>>>>>>
>>>>>>>> <param-value>com.coastware.vProbe.CoastwareApplication</param-value>
>>>>>>>>     </init-param>
>>>>>>>>  </filter>
>>>>>>>>
>>>>>>>>  <filter>
>>>>>>>>    <filter-name>opensessioninview</filter-name>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
>>>
>>>>>>>>
>>>>>>>>  </filter>
>>>>>>>>
>>>>>>>>  <filter-mapping>
>>>>>>>>    <filter-name>wicketFilter</filter-name>
>>>>>>>>    <url-pattern>/*</url-pattern>
>>>>>>>>  </filter-mapping>
>>>>>>>>
>>>>>>>>  <filter-mapping>
>>>>>>>>    <filter-name>opensessioninview</filter-name>
>>>>>>>>    <url-pattern>/*</url-pattern>
>>>>>>>>  </filter-mapping>
>>>>>>>> ====================>
>>>>>>>> appContext.xml
>>>>>>>> ====================> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>> <beans
>>>>>>>>  default-autowire=odetect"
>>>>>>>>  xmlns=p://www.springframework.org/schema/beans"
>>>>>>>>  xmlns:xsi=p://www.w3.org/2001/XMLSchema-instance"
>>>>>>>>  xmlns:aop=p://www.springframework.org/schema/aop"
>>>>>>>>  xmlns:tx=p://www.springframework.org/schema/tx"
>>>>>>>>  xmlns:context=p://www.springframework.org/schema/context"
>>>>>>>>  xsi:schemaLocation>>>
>>>>>>>> http://www.springframework.org/schema/beans
>>>>>>>>    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
>>>>>>>>    http://www.springframework.org/schema/aop
>>>>>>>>    http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
>>>>>>>>    http://www.springframework.org/schema/tx
>>>>>>>>    http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
>>>>>>>>    http://www.springframework.org/schema/context
>>>>>>>>
>>>>>>>> http://www.springframework.org/schema/context/spring-context-2.5.xsd
>>>>>>>>
>>>
>>> ">
>>>
>>>>>>>>
>>>>>>>>  <bean id=aSource"
>>>>>>>> class=.springframework.jdbc.datasource.DriverManagerDataSource">
>>>>>>>>    <property name=" value="jdbc:mysql://192.168.15.128/vprobe"/>
>>>>>>>>    <property name=verClassName" value="com.mysql.jdbc.Driver"/>
>>>>>>>>    <property name=rname" value="vProbe"/>
>>>>>>>>    <property name=sword" value="vProbe"/>
>>>>>>>>  </bean>
>>>>>>>>
>>>>>>>>  <bean id=sionFactory"
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> class=.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
>>>
>>>>>>>>
>>>>>>>>    <property name=aSource" ref="dataSource"/>
>>>>>>>>
>>>>>>>>    <property nameŹkagesToScan">
>>>>>>>>        <list>
>>>>>>>>            <value>com.coastware.vProbe.model</value>
>>>>>>>>        </list>
>>>>>>>>    </property>
>>>>>>>>
>>>>>>>>    <property name=ernateProperties">
>>>>>>>>        <props>
>>>>>>>>            <prop
>>>>>>>> key=ernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
>>>>>>>>            <prop key=ernate.show_sql">true</prop>
>>>>>>>>            <prop key=ernate.format_sql">true</prop>
>>>>>>>>            <prop key=ernate.use_sql_comments">true</prop>
>>>>>>>>        </props>
>>>>>>>>    </property>
>>>>>>>>  </bean>
>>>>>>>>
>>>>>>>>  <context:component-scan base-package=.coastware" />
>>>>>>>>
>>>>>>>>  <bean id=nSessionInViewInterceptor"
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> class=.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
>>>
>>>>>>>>
>>>>>>>>    <property name=sionFactory">
>>>>>>>>        <ref bean=sionFactory"/>
>>>>>>>>    </property>
>>>>>>>>  </bean>
>>>>>>>>
>>>>>>>>  <bean id=nsactionManager"
>>>>>>>> class=.springframework.orm.hibernate3.HibernateTransactionManager">
>>>>>>>>    <property name=sionFactory">
>>>>>>>>        <ref bean=sionFactory"/>
>>>>>>>>    </property>
>>>>>>>>  </bean>
>>>>>>>>
>>>>>>>>  <bean id=ernateTemplate"
>>>>>>>> class=.springframework.orm.hibernate3.HibernateTemplate">
>>>>>>>>    <property name=sionFactory">
>>>>>>>>        <ref bean=sionFactory"/>
>>>>>>>>    </property>
>>>>>>>>  </bean>
>>>>>>>>
>>>>>>>>  <tx:annotation-driven transaction-manager=nsactionManager"/>
>>>>>>>>
>>>>>>>>  <bean
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> class=.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"/>
>>>
>>>>>>>>
>>>>>>>>  <bean
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> class=.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">
>>>
>>>>>>>>
>>>>>>>>    <property name=nsactionInterceptor" ref="txInterceptor"/>
>>>>>>>>  </bean>
>>>>>>>>
>>>>>>>>  <bean id=nterceptor"
>>>>>>>>
>>>>>>>>
>>>
>>> class=.springframework.transaction.interceptor.TransactionInterceptor">
>>>
>>>>>>>>
>>>>>>>>    <property name=nsactionManager" ref="transactionManager"/>
>>>>>>>>    <property name=nsactionAttributeSource">
>>>>>>>>        <bean
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> class=.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/>
>>>
>>>>>>>>
>>>>>>>>    </property>
>>>>>>>>  </bean>
>>>>>>>> </beans>
>>>>>>>> ====================>
>>>>>>>>
>>>>>>>> Error with InjectorHolder line
>>>>>>>> ====================> SEVERE: Exception sending context initialized
>>>>>>>> event to listener instance of
>>>>>>>> class org.springframework.web.context.ContextLoaderListener
>>>>>>>> org.springframework.beans.factory.BeanCreationException: Error
>>>>>>>>
>>>
>>> creating
>>>
>>>>>>>>
>>>>>>>> bean
>>>>>>>> with name 'UserDAO' defined in file [C:\Program Files\Apache
>>>>>>>> Software
>>>>>>>> Foundation\Tomcat
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> 6.0\webapps\vProbe\WEB-INF\classes\com\coastware\vProbe\model\dao\hibernate\UserDAOHibernate.class]:
>>>
>>>>>>>>
>>>>>>>> Instantiation of bean failed; nested exception is
>>>>>>>> org.springframework.beans.BeanInstantiationException: Could not
>>>>>>>> instantiate
>>>>>>>> bean class
>>>>>>>>
>>>
>>> [com.coastware.vProbe.model.dao.hibernate.UserDAOHibernate]:
>>>
>>>>>>>>
>>>>>>>> Constructor threw exception; nested exception is
>>>>>>>> java.lang.IllegalStateException: InjectorHolder has not been
>>>>>>>> assigned
>>>>>>>> an
>>>>>>>> injector. Use InjectorHolder.setInjector() to assign an injector. In
>>>>>>>> most
>>>>>>>> cases this should be done once inside SpringWebApplication
>>>>>>>> subclass's
>>>>>>>> init()
>>>>>>>> method.
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:883)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:839)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
>>>
>>>>>>>>
>>>>>>>>  at java.security.AccessController.doPrivileged(Native Method)
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
>>>
>>>>>>>>
>>>>>>>>  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.deployWAR(HostConfig.java:830)
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>
>>> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:719)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>
>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>
>>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
>>>>>>>>  at
>>>>>>>>
>>>
>>> org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>
>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>> org.apache.catalina.core.StandardService.start(StandardService.java:516)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>
>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>>>
>>>>>>>>
>>>>>>>>  at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>>>>>>>>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>>>>>>  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>>>>>>  at java.lang.reflect.Method.invoke(Unknown Source)
>>>>>>>>  at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>>>>>>>>  at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
>>>>>>>> Caused by: org.springframework.beans.BeanInstantiationException:
>>>>>>>>
>>>
>>> Could
>>>
>>>>>>>>
>>>>>>>> not
>>>>>>>> instantiate bean class
>>>>>>>> [com.coastware.vProbe.model.dao.hibernate.UserDAOHibernate]:
>>>>>>>> Constructor
>>>>>>>> threw exception; nested exception is
>>>>>>>> java.lang.IllegalStateException:
>>>>>>>> InjectorHolder has not been assigned an injector. Use
>>>>>>>> InjectorHolder.setInjector() to assign an injector. In most cases
>>>>>>>>
>>>
>>> this
>>>
>>>>>>>>
>>>>>>>> should be done once inside SpringWebApplication subclass's init()
>>>>>>>> method.
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>> org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:115)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:877)
>>>
>>>>>>>>
>>>>>>>>  ... 40 more
>>>>>>>> Caused by: java.lang.IllegalStateException: InjectorHolder has not
>>>>>>>>
>>>
>>> been
>>>
>>>>>>>>
>>>>>>>> assigned an injector. Use InjectorHolder.setInjector() to assign an
>>>>>>>> injector. In most cases this should be done once inside
>>>>>>>> SpringWebApplication
>>>>>>>> subclass's init() method.
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.injection.web.InjectorHolder.getInjector(InjectorHolder.java:64)
>>>
>>>>>>>>
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> com.coastware.vProbe.model.dao.hibernate.UserDAOHibernate.<init>(UserDAOHibernate.java:26)
>>>
>>>>>>>>
>>>>>>>>  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>>>>> Method)
>>>>>>>>  at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
>>>>>>>> Source)
>>>>>>>>  at
>>>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
>>>>>>>> Source)
>>>>>>>>  at java.lang.reflect.Constructor.newInstance(Unknown Source)
>>>>>>>>  at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>> org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
>>>
>>>>>>>>
>>>>>>>>  ... 42 more
>>>>>>>> ====================>
>>>>>>>> Error when InjectorHolder line is commented out.
>>>>>>>> ====================>
>>>>>>>> java.lang.RuntimeException: userDAO is null at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> com.coastware.vProbe.service.UserServiceImpl.getUserDAO(UserServiceImpl.java:90)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> com.coastware.vProbe.service.UserServiceImpl.getUsers(UserServiceImpl.java:68)
>>>
>>>>>>>>
>>>>>>>> at java.lang.reflect.Method.invoke(Unknown Source) at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
>>>
>>>>>>>>
>>>>>>>> at $Proxy15.getUsers(Unknown Source) at
>>>>>>>> java.lang.reflect.Method.invoke(Unknown Source) at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.proxy.LazyInitProxyFactory$JdkHandler.invoke(LazyInitProxyFactory.java:416)
>>>
>>>>>>>>
>>>>>>>> at org.apache.wicket.proxy.$Proxy16.getUsers(Unknown Source) at
>>>>>>>> com.coastware.vProbe.HomePage.<init>(HomePage.java:27) at
>>>>>>>> java.lang.reflect.Constructor.newInstance(Unknown Source) at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:147)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:66)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:272)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:293)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:210)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1220)
>>>
>>>>>>>>
>>>>>>>> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1297) at
>>>>>>>> org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399) at
>>>>>>>> org.apache.wicket.RequestCycle.request(RequestCycle.java:529) at
>>>>>>>>
>>>>>>>>
>>>
>>> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:201)
>>>
>>>>>>>>
>>>>>>>> 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:191)
>>>
>>>>>>>>
>>>>>>>> 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:286)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>
>>> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
>>>
>>>>>>>>
>>>>>>>> at java.lang.Thread.run(Unknown Source)
>>>>>>>>
>>>>>>>> Complete stack:
>>>>>>>>
>>>>>>>> org.apache.wicket.WicketRuntimeException: Can't instantiate page
>>>>>>>>
>>>
>>> using
>>>
>>>>>>>>
>>>>>>>> constructor public
>>>>>>>> com.coastware.vProbe.HomePage(org.apache.wicket.PageParameters) and
>>>>>>>> argument
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:168)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:66)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:272)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:293)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:210)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1220)
>>>
>>>>>>>>
>>>>>>>> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1297) at
>>>>>>>> org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399) at
>>>>>>>> org.apache.wicket.RequestCycle.request(RequestCycle.java:529) at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356)
>>>
>>>>>>>>
>>>>>>>> java.lang.reflect.InvocationTargetException at
>>>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>>>>> Method)
>>>>>>>> at
>>>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
>>>>>>>> Source)
>>>>>>>> at
>>>>>>>> java.lang.reflect.Constructor.newInstance(Unknown Source) at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:147)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:66)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:272)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:293)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:210)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
>>>
>>>>>>>>
>>>>>>>> at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>>
>>> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1220)
>>>
>>>>>>>>
>>>>>>>> at org.apache.wicket.RequestCycle.step(RequestCycle.java:1297) at
>>>>>>>> org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399) at
>>>>>>>> org.apache.wicket.RequestCycle.request(RequestCycle.java:529) at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>
>>> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356)
>>>
>>>>>>>>
>>>>>>>> ====================>
>>>>>>>>
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>
>>
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to