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