Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Связь spring, dwr и hibernate, Обнуляется свойство 
:(
    Опции темы
Enterprise
Дата 22.8.2008, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 20.6.2006

Репутация: нет
Всего: 1



Привет всем!
Ситуация следующая: пытаюсь связать spring, dwr и hibernate. Для этого описал создание сесионных dwr бинов spring-ом. При первом обращении к процедуре в бине из ява скрипта все проходит отлично (данные выбираются из БД), но при следующем обращении получаю java.lang.NullPointerException. Происходит это при обращении к полю, описанному так: <property name="baseDao" ref="baseDao"/>. В нем и находятся методы обращения к БД.

Эксепшен вываливается тут:
Код

public Item getItem(String id) {
        return (Item) baseDao.getItem(Long.parseLong(id));

    }


А вот тот который вызывался ранее:
Код

@SuppressWarnings("unchecked")
    public Collection<Item> getAllItems() {
        return baseDao.getAllItems();
        
    }


Нормально отработавший метод в baseDao:
Код

public Collection<Item> getAllItems() {
        return getHibernateTemplate().loadAll(Item.class);

    }

После первого обращения поле baseDao обнуляется, подозреваю что виноват dwr, а мож и мои руки smile

applicationContext.xml:
Код

<?xml version="1.0"?>
<beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
  xmlns:aop="http://www.springframework.org/schema/aop"      
  xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
    http://www.directwebremoting.org/schema/spring-dwr
    http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">

       <bean id="dataSource"
           class="org.apache.commons.dbcp.BasicDataSource"
           destroy-method="close">
           <property name="driverClassName" value="com.mysql.jdbc.Driver" />
           <property name="url" value="jdbc:mysql://localhost:3306/test" />
           <property name="username" value="" />
           <property name="password" value="" />
        </bean>

         <bean id="sessionFactory"
           class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
           <property name="dataSource" ref="dataSource" />
             <property name="annotatedClasses">
                     <list>
                         <value>com.shop.persistence.pojo.Item</value>
                         <value>com.shop.persistence.pojo.Cart</value>
                         <value>com.shop.persistence.pojo.Bill</value>
                         <value>com.shop.persistence.pojo.Customer</value>
                         <value>com.shop.persistence.pojo.Category</value>
                     </list>
                 </property>

           <property name="hibernateProperties">
               <props>
                 <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                   <prop key="show_sql">true</prop>
                   <prop key="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</prop>
                   <prop key="hibernate.hbm2ddl.auto">update</prop>
               </props>
           </property>
         </bean>

        
    <bean id="catalogueBean" class="com.shop.persistence.dao.ItemDAO" scope="session">
        <dwr:remote javascript="Catalogue">
            <dwr:include method="getItem"/>
            <dwr:include method="findItems"/>
        </dwr:remote>
        <aop:scoped-proxy proxy-target-class="false" />
        <property name="baseDao" ref="baseDao"/>
    </bean>

    <bean id="cartBean" class="com.shop.persistence.dao.CartDAO" scope="session">
        <dwr:remote javascript="Cart">
            <dwr:include method="addItemToCart"/>
            <dwr:include method="addItemToCartForName"/>
            <dwr:include method="removeItemFromCart"/>
            <dwr:include method="getFormattedTotalPrice"/>
            <dwr:include method="getCart"/>
            <dwr:include method="saveCart"/>
            <dwr:include method="getInclude"/>
            <dwr:include method="getLogin"/>
        </dwr:remote>
        <aop:scoped-proxy proxy-target-class="false" />
        <property name="baseDao" ref="baseDao"/>
    </bean>
    
    <dwr:configuration>
        <dwr:convert type="bean" class="com.shop.persistence.pojo.Item" >
            <dwr:include method="id"/>
            <dwr:include method="name"/>
            <dwr:include method="description"/>
            <dwr:include method="formattedPrice"/>
        </dwr:convert>
        <dwr:convert type="bean" class="com.shop.persistence.dao.CartDAO">
            <dwr:include method="simpleContents"/>
            <dwr:include method="formattedTotalPrice"/>
        </dwr:convert>
    </dwr:configuration>


    <bean id="baseDao" class="com.shop.persistence.dao.BaseDAO">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    <bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
          abstract="true">
        <property name="transactionManager">
            <ref bean="transactionManager"/>
        </property>
        <property name="transactionAttributeSource">
            <bean class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/>
        </property>
    </bean>

    <bean id="applicationService" parent="baseTransactionProxy">
        <property name="target">
            <list>
                <ref bean="cartBean"/>
                <ref bean="catalogueBean"/>
            </list>
        </property>
    </bean>
</beans>


Мож подскажете в каком направлении двигаться и что делаю не так.
Спасибо за помощь!
PM MAIL   Вверх
Kangaroo
Дата 26.8.2008, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 14
Всего: 104



Код

public Item getItem(String id) {
        return (Item) baseDao.getItem(Long.parseLong(id));
    }

Может тут id  нулевой, а не baseDao? 


--------------------
Lost....
PM MAIL MSN   Вверх
v2v
Дата 26.8.2008, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



а какой текст иксєпшна?

Это сообщение отредактировал(а) v2v - 26.8.2008, 13:47


--------------------
PM   Вверх
Enterprise
Дата 26.8.2008, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 20.6.2006

Репутация: нет
Всего: 1



Сорри, с этой проблемой разобрался, там у меня в baseDao проблемы были smile дальше интересней - если быстро клацать по кнопкам в браузере (серия кликов по добавки одного товара в корзину и сразу серия по добавке другого и так несколько раз) DWR умирает
вот пример лога:
Код

2008-08-26 18:56:32,628 INFO [org.directwebremoting.impl.DefaultRemoter] - Exec: Cart.addItemToCart()
Hibernate: 
    /* load com.shop.persistence.pojo.Item */ select
        item0_.id as id0_1_,
        item0_.name as name0_1_,
        item0_.description as descript3_0_1_,
        item0_.price as price0_1_,
        item0_.category_id as category5_0_1_,
        category1_.id as id4_0_,
        category1_.name as name4_0_ 
    from
        item item0_ 
    left outer join
        category category1_ 
            on item0_.category_id=category1_.id 
    where
        item0_.id=?
2008-08-26 18:56:32,800 INFO [org.directwebremoting.impl.DefaultRemoter] - Exec: Cart.addItemToCart()
Hibernate: 
    /* load com.shop.persistence.pojo.Item */ select
        item0_.id as id0_1_,
        item0_.name as name0_1_,
        item0_.description as descript3_0_1_,
        item0_.price as price0_1_,
        item0_.category_id as category5_0_1_,
        category1_.id as id4_0_,
        category1_.name as name4_0_ 
    from
        item item0_ 
    left outer join
        category category1_ 
            on item0_.category_id=category1_.id 
    where
        item0_.id=?
2008-08-26 18:56:33,112 INFO [org.directwebremoting.impl.DefaultRemoter] - Exec: Cart.addItemToCart()
2008-08-26 18:56:33,300 INFO [org.directwebremoting.impl.DefaultRemoter] - Exec: Cart.addItemToCart()

Судя по логеру на двух последних записях до хибернейта дело уже не дошло. И вот после этого приложение перестает реагировать на пользовательские действия и просто замирает.
Когда останавливаю томката из идеи сыпятся эксепшены:
Код

cmd /c D:\Development\Servers\Web\apache-tomcat-5.5.17\bin\catalina.bat stop
Using CATALINA_BASE:   C:\Documents and Settings\dmitry\.IntelliJIdea70\system\tomcat_Unnamed_Shop352dd8f5
Using CATALINA_HOME:   D:\Development\Servers\Web\apache-tomcat-5.5.17
Using CATALINA_TMPDIR: D:\Development\Servers\Web\apache-tomcat-5.5.17\temp
Using JRE_HOME:        D:\Development\JDK\jdk1.5.0_08
26.08.2008 19:01:03 org.apache.coyote.http11.Http11BaseProtocol pause
INFO: Pausing Coyote HTTP/1.1 on http-8081
26.08.2008 19:01:04 org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
2008-08-26 19:01:04,093 INFO [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/]] - Closing Spring root WebApplicationContext
2008-08-26 19:01:04,093 INFO [org.springframework.web.context.support.XmlWebApplicationContext] - Closing org.springframework.web.context.support.XmlWebApplicationContext@b02928: display name [Root WebApplicationContext]; startup date [Tue Aug 26 18:56:05 EEST 2008]; root of context hierarchy
2008-08-26 19:01:04,093 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@5f2db0: defining beans [dataSource,sessionFactory,__dwrConfiguration,__Catalogue,catalogueBean,__Cart,cartBean,dwrController,itemDao,cartDao,transactionManager,cartManagerProxy,catalogueManagerProxy]; root of factory hierarchy
2008-08-26 19:01:04,093 INFO [org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean] - Closing Hibernate SessionFactory
2008-08-26 19:01:04,093 INFO [org.hibernate.impl.SessionFactoryImpl] - closing
26.08.2008 19:01:04 org.apache.catalina.core.StandardWrapper unload
INFO: Waiting for 2 instance(s) to be deallocated
Hibernate: 
    /* load com.shop.persistence.pojo.Item */ select
        item0_.id as id0_1_,
        item0_.name as name0_1_,
        item0_.description as descript3_0_1_,
        item0_.price as price0_1_,
        item0_.category_id as category5_0_1_,
        category1_.id as id4_0_,
        category1_.name as name4_0_ 
    from
        item item0_ 
    left outer join
        category category1_ 
            on item0_.category_id=category1_.id 
    where
        item0_.id=?
2008-08-26 19:01:04,109 WARN [org.directwebremoting.servlet.ExceptionHandler] - Unhandled Exception
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
    at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:121)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:733)
    at org.directwebremoting.spring.SpringContainer.getBean(SpringContainer.java:85)
    at org.directwebremoting.impl.DefaultServerContext.getScriptSessionManager(DefaultServerContext.java:104)
    at org.directwebremoting.impl.DefaultWebContext.getScriptSession(DefaultWebContext.java:81)
    at org.directwebremoting.dwrp.BaseCallMarshaller.marshallOutbound(BaseCallMarshaller.java:305)
    at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:53)
    at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
    at org.directwebremoting.spring.DwrSpringServlet.doPost(DwrSpringServlet.java:158)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)
2008-08-26 19:01:04,109 WARN [org.directwebremoting.impl.DefaultRemoter] - Method execution failed: 
java.lang.NullPointerException
    at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:788)
    at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:95)
    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
    at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)
    at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:417)
    at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
    at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
    at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1560)
    at org.hibernate.loader.Loader.doQuery(Loader.java:661)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
    at org.hibernate.loader.Loader.loadEntity(Loader.java:1784)
    at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
    at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42)
    at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2977)
    at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:393)
    at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:374)
    at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:137)
    at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:96)
    at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
    at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:836)
    at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:66)
    at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
    at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:172)
    at com.shop.persistence.pojo.Item$$EnhancerByCGLIB$$f51a4787.getPrice(<generated>)
    at com.shop.service.impl.CartServiceImpl.addItemToCart(CartServiceImpl.java:52)
    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.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)
    at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
    at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)
    at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)
    at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)
    at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
    at org.directwebremoting.spring.DwrSpringServlet.doPost(DwrSpringServlet.java:158)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)
2008-08-26 19:01:04,124 WARN [org.directwebremoting.servlet.ExceptionHandler] - Unhandled Exception
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
    at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:121)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:733)
    at org.directwebremoting.spring.SpringContainer.getBean(SpringContainer.java:85)
    at org.directwebremoting.impl.DefaultServerContext.getScriptSessionManager(DefaultServerContext.java:104)
    at org.directwebremoting.impl.DefaultWebContext.getScriptSession(DefaultWebContext.java:81)
    at org.directwebremoting.dwrp.BaseCallMarshaller.marshallOutbound(BaseCallMarshaller.java:305)
    at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:53)
    at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
    at org.directwebremoting.spring.DwrSpringServlet.doPost(DwrSpringServlet.java:158)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)
26.08.2008 19:01:04 org.apache.coyote.http11.Http11BaseProtocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-8081
Disconnected from server



Самое интересное что есть лог от хиберенейта, который судя по всему, пытался выполнить запрошенное действие на котором завис.
Извиняюсь за сумбурность smile Есть идеи?

Добавлено через 12 минут и 2 секунды
И applicationContext.xml изменился:
Код

<?xml version="1.0"?>
<beans
        xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
    http://www.directwebremoting.org/schema/spring-dwr
    http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">

    <bean id="dataSource"
          class="org.apache.commons.dbcp.BasicDataSource"
          destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/test"/>
        <property name="username" value=""/>
        <property name="password" value=""/>
    </bean>

    <bean id="sessionFactory"
          class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="annotatedClasses">
            <list>
                <value>com.shop.persistence.pojo.Item</value>
                <value>com.shop.persistence.pojo.Cart</value>
                <value>com.shop.persistence.pojo.Bill</value>
                <value>com.shop.persistence.pojo.Customer</value>
                <value>com.shop.persistence.pojo.Category</value>
            </list>
        </property>

        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.use_sql_comments">true</prop>
                <prop key="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="current_session_context_class">thread</prop>
                <prop key="connection.pool_size">5</prop>
            </props>
        </property>
    </bean>


    <bean id="catalogueBean" class="com.shop.service.impl.ItemServiceImpl">
        <dwr:remote javascript="Catalogue">
            <dwr:include method="getItem"/>
            <dwr:include method="findItems"/>
        </dwr:remote>
        <property name="itemDao" ref="itemDao"/>
        <property name="cartDao" ref="cartDao"/>
    </bean>

    <bean id="cartBean" class="com.shop.service.impl.CartServiceImpl" scope="session">  
        <dwr:remote javascript="Cart">
            <dwr:include method="addItemToCart"/>
            <dwr:include method="addItemToCartForName"/>
            <dwr:include method="removeItemFromCart"/>
            <dwr:include method="getFormattedTotalPrice"/>
            <dwr:include method="getCart"/>
            <dwr:include method="saveCart"/>
            <dwr:include method="getInclude"/>
            <dwr:include method="getLogin"/>
        </dwr:remote>
        <aop:scoped-proxy proxy-target-class="false" />
        <property name="itemDao" ref="itemDao"/>
        <property name="cartDao" ref="cartDao"/>
    </bean>

    <dwr:configuration>
        <dwr:convert type="bean" class="com.shop.persistence.pojo.Item">
            <dwr:include method="id"/>
            <dwr:include method="name"/>
            <dwr:include method="description"/>
            <dwr:include method="formattedPrice"/>
        </dwr:convert>
        <dwr:convert type="bean" class="com.shop.service.impl.CartServiceImpl">
            <dwr:include method="simpleContents"/>
            <dwr:include method="formattedTotalPrice"/>
        </dwr:convert>
    </dwr:configuration>

    <dwr:controller id="dwrController" debug="true" />

    <bean id="itemDao" class="com.shop.persistence.dao.ItemDAO">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    <bean id="cartDao" class="com.shop.persistence.dao.CartDAO">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    <bean id="cartManagerProxy"
          class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <property name="transactionManager" ref="transactionManager"/>
        <property name="target" ref="cartBean"/>
        <!--<property name="proxyTargetClass" value="true"/>-->
        <property name="transactionAttributeSource">
            <bean class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/>
        </property>
        
    </bean>

    <bean id="catalogueManagerProxy"
          class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <property name="transactionManager" ref="transactionManager"/>
        <property name="target" ref="catalogueBean"/>
        <property name="proxyTargetClass" value="true"/>
        <property name="transactionAttributeSource">
            <bean class="org.springframework.transaction.annotation.AnnotationTransactionAttributeSource"/>
        </property>
        
    </bean>
</beans>


Есть идеи?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0787 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.