【发布时间】:2015-04-15 20:58:44
【问题描述】:
我编写了一个基于 Spring Boot 的 Web 应用程序,预计将在 WildFly 服务器中运行。应用程序运行良好,但问题在于测试。
我有由服务器处理的数据库连接、缓存和事务管理。现在,我需要能够测试它们。虽然我能够通过模拟 JNDI 连接和事务管理解决数据库连接问题,但我不确定如何处理缓存测试。
一种解决方案是使用 Arquillian 项目。但是,要么这个项目无法识别 Spring Boot/我做错了什么,这让我很难测试应用程序。
有人可以建议解决这个问题吗?以下是我的休眠特定属性
spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect
spring.jpa.properties.hibernate.cache.region.factory_class=org.jboss.as.jpa.hibernate4.infinispan.InfinispanRegionFactory
spring.jpa.properties.hibernate.cache.infinispan.cachemanager=java:jboss/infinispan/container/hibernate
spring.jpa.properties.hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JBossTransactionManagerLookup
spring.jpa.properties.hibernate.cache.use_second_level_cache=true
spring.jpa.properties.hibernate.show_sql=false
spring.jpa.properties.hibernate.cache.use_query_cache=false
spring.jpa.properties.hibernate.hbm2ddl.auto=none
spring.jpa.properties.hibernate.generate_statistics=true
spring.jpa.properties.hibernate.cache.infinispan.statistics=true
spring.jpa.properties.hibernate.search.default.directory_provider=infinispan
spring.jpa.properties.hibernate.search.infinispan.cachemanager_jndiname=java:jboss/infinispan/container/hibernate
【问题讨论】:
-
您看到了什么错误?基于docs,InfinispanRegionProvider 应该不需要 JNDI,但 Hibernate Search 的目录提供程序可能确实需要它。
-
错误是绕过事务管理器查找类。“引起:org.infinispan.commons.CacheException:这是事务缓存,但找不到事务管理器。配置事务管理器查找正确。”
标签: spring junit spring-boot jboss-arquillian infinispan