Мы пытаемся перейти с Spring 1.2.8 на Spring 3.0
Однако когда мы пытаемся настроить txManager для Websphere, я всегда получаю исключение приведения класса.
Мы попытались на основе примера, предоставленного IBM, который не работает.
Я использую WAS 7.0 и Spring.3.0.5 и hibernate.3.6.jars ...
Вот конфигурация Spring:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="ewpDataSource" />
<property name="mappingResources">
<list>
<value>com/fme/example/model/Person.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">false</prop>
<prop key="hibernate.default_schema">ORIG</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">false</prop>
<prop key="hibernate.use_sql_comments">true</prop>
<prop key="hibernate.transaction.factory_class">
org.hibernate.transaction.JTATransactionFactory
</prop>
<prop key="hibernate.transaction.manager_lookup_class">
org.hibernate.transaction.WebSphereExtendedJTATransactionLookup
</prop>
</props>
</property>
</bean>
<!-- Our Data source --->
<bean id="ewpDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/TOI_ORIG" />
</bean>
<!--- Get the Web sphere Specific TX manager -->
<bean id="transactionManager"
class="org.springframework.transaction.jta.WebSphereUowTransactionManager"/>
</beans>
Я прочитал эту статью и попытался в точности, как указано.
http://www.ibm.com/developerworks/websphere/techjournal/0609_alcott/0609_alcott.html
А также попробовал
http://robertmaldon.blogspot.com/2006/09/using-websphere-transaction-manager.html
Но мы получаем это исключение.
Caused by: java.lang.IllegalStateException: Cannot convert value of type [org.springframework.transaction.jta.WebSphereUowTransactionManager] to required type [javax.transaction.TransactionManager] for property 'transactionManager': no matching editors or conversion strategy found
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:231)
at org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:447)
Я вижу, что класс
org.springframework.transaction.jta.WebSphereUowTransactionManager
Предоставленный для Websphere не реализует javax.transaction.TransactionManager где-либо в иерархии.
Есть идеи?