Results 1 to 8 of 8

Thread: Hibernate + Spring in Rich Client App

  1. #1
    Join Date
    Nov 2006
    Posts
    6

    Default Hibernate + Spring in Rich Client App

    I tried to use hibernate + spring in Rich Client App.

    I used beans definitions exactly like in my Web App
    Code:
     	<bean id="dataSource"
    		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    		<property name="driverClassName">
    			<value>org.postgresql.Driver</value>
    		</property>
    		<property name="url">
    			<value>jdbc:postgresql://127.0.0.1/catalog_db</value>
    		</property>
    		<property name="username">
    			<value>postgres</value>
    		</property>
    		<property name="password">
    			<value>postgres</value>
    		</property>
    	</bean>
     	
    	<!-- Hibernate SessionFactory -->
    	<bean id="sessionFactory"
    		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    		<property name="dataSource">
    			<ref local="dataSource" />
    		</property>
    		<property name="mappingResources">
    			<list>
    				<!--
    				<value>hibernate/Schedule.hbm.xml</value>
    				-->
    
    			</list>
    		</property>
    		<property name="hibernateProperties">
    			<props>				
    				<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
    				<prop key="hibernate.show_sql">true</prop>
    				<prop key="hibernate.default_schema">CATALOG</prop>
    				<prop key="hibernate.hbm2ddl.auto">update</prop>
    			</props>
    		</property>
    	</bean>
    
    
    	<bean id="transactionManager"
    		class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    		<property name="sessionFactory">
    			<ref local="sessionFactory" />
    		</property>
    	</bean>
    but Application Context initialization throws exception :

    Code:
    org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [dataSource,sessionFactory]; root of BeanFactory hierarchy}
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [hibernate/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
    Caused by: java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
    	at java.lang.Class.getDeclaredMethods0(Native Method)
    	at java.lang.Class.privateGetDeclaredMethods(Class.java:1784)
    	at java.lang.Class.getDeclaredMethods(Class.java:1244)
    	at java.beans.Introspector$1.run(Introspector.java:1154)
    	at java.security.AccessController.doPrivileged1(Native Method)
    	at java.security.AccessController.doPrivileged(AccessController.java:287)
    	at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1152)
    	at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1017)
    	at java.beans.Introspector.getBeanInfo(Introspector.java:398)
    	at java.beans.Introspector.getBeanInfo(Introspector.java:169)
    	at org.springframework.beans.CachedIntrospectionResults.<init>(CachedIntrospectionResults.java:142)
    	at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:83)
    	at org.springframework.beans.BeanWrapperImpl.setIntrospectionClass(BeanWrapperImpl.java:239)
    	at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:197)
    	at org.springframework.beans.BeanWrapperImpl.setWrappedInstance(BeanWrapperImpl.java:180)
    	at org.springframework.beans.BeanWrapperImpl.<init>(BeanWrapperImpl.java:133)
    Why my web solution doesn't work in rich client app?

    Please help!

  2. #2
    Join Date
    Mar 2007
    Posts
    515

    Default

    Take a look at this post:
    http://forum.springframework.org/arc...hp/t-9574.html
    and check jta.jar file existence.

  3. #3
    Join Date
    Nov 2006
    Posts
    6

    Default

    jta.jar was missing

    Thanx for the help

    lakomy_j

  4. #4

    Default

    Why do you need jta.jar? You only configure a local data source rather than getting one through JNDI - which is typically used in a J2EE context way to have JTA transaction manager. Meanwhile, you only have HibernateTransactionManager rather than JtaTransactionManager, so I don't know why you got exception trying to locate a JTA transaction manger. It doesn't make sense to me. Why?

  5. #5
    Join Date
    Sep 2006
    Location
    UK
    Posts
    8,424

    Default

    If you have a look at the Hibernate lib readme.txt.
    jta.jar (unknown)
    - Standard JTA API
    - runtime, required for standalone operation (outside application server)

  6. #6

    Default

    Although readme.txt specifies it, curiously where is code in HibernateTransactionManager to invoke JtaTransactionManager? Or how is JtaTransactionManager invoked in a standalone app (out of app server context)? From that exception info, I can't find stack trace to call JtaTransactionManager.

  7. #7
    Join Date
    Sep 2006
    Location
    UK
    Posts
    8,424

    Default

    As I said, this isn't a Spring dependency. This is in the Hibernate lib readme.txt.

  8. #8

    Default

    I found it under hibernate lib folder, but what I want to figure out is call hierarchy from HibernateTransactionManager to place where JtaTransactionManager is invoked in a standalone environment.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •