jpa 2.1 spring boot with web sphere 8.5.5.8(完整版) jdk 7
Posted
技术标签:
【中文标题】jpa 2.1 spring boot with web sphere 8.5.5.8(完整版) jdk 7【英文标题】:jpa 2.1 spring boot with web sphere 8.5.5.8(full version) jdk 7 【发布时间】:2016-07-11 11:52:34 【问题描述】:我遵循了 jeff 建议的方法 https://gist.github.com/jeffsheets/aec3e94870ef903ce7efe33e00563d3c
我能够克服 jpa 2.1 java.lang.ClassCastException:com.ibm.websphere.persistence.PersistenceProviderImpl 与 javax.persistence.spi.PersistenceProvider 不兼容。
但我收到以下错误 名为 com.x...JerseyConfig 的 servlet 无法动态添加,因为已存在同名的 servlet 配置。我正在使用带有 JDK 1.7 spring boot 1.4.0.M3 的 WebSphere 8.5.5.8 完整版。
在我的 JerseyConfig.java 中
@Component
@PropertySources(value =
@PropertySource("classpath:application.properties"),
@PropertySource("classpath:ValidationMessages.properties"))
@DependsOn("hibernatePersistenceProviderResolver")
public class JerseyConfig extends ResourceConfig
public JerseyConfig()
packages("com.x.package");
感谢任何提示或指点。
【问题讨论】:
【参考方案1】:我做了以下工作来使它工作(除了前面提到的@DependsOn)。
1) 先加载本地类加载器,最后加载父类。
2) 将 WebSphere Appserver com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine 的 JVM 属性添加为 true,以便仅使用应用程序附带的 JAX RS。 (它修复了 servlet 名称已经存在)。 3)当我运行我的 REST 端点成功部署后,我在运行时收到以下错误。
UOWManager 事务处理失败;嵌套异常是 com.ibm.wsspi.uow.UOWException: java.lang.VerifyError: com/ibm/websphere/uow/UOWSynchronizationRegistry.registerInterposedSynchronizat ion(Ljavax/transaction/Synchronization)V
要解决此问题,请添加 spring.jta.enabled=false 以使用 WebShpere JTA。 (理想情况下更喜欢覆盖web sphere JTA并使用spring JTA,需要想办法)。
【讨论】:
以上是关于jpa 2.1 spring boot with web sphere 8.5.5.8(完整版) jdk 7的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot with Spring-Data-JPA学习案例
Spring Boot with JOOQ 和 Spring Data JPA 之间的技术差异
当加载 spring-boot 和 spring-data-jpa 时,Hibernate 无法加载 JPA 2.1 Converter
Spring Boot 2.1 缺少多个 org.hibernate.jpa.event 类