2016-01-12 2 views
1
**I am using Java 6/Spring Framework 4.1.4/Spring Boot v1.2.1.RELEASE and Hibernate 3.5. 

Поскольку я на Java6, я использую встроенный Tomcat 7.0.59 Почему пытается JTA (или как я могу подавить ComponentScan)? Что означает эта ошибка и как ее решить?
Я попытался использовать отдельные аннотации вместо SpringBootApplication и имею ту же ошибку. Я пытаюсь использовать загрузку Spring для создания службы, а затем использовать Импортировать ресурс для загрузки соединения HB и т.д. **весна - Вызванный: java.lang.IllegalStateException: Не удалось настроить платформу JTA,

моих application.properties:.

server.port=2003 
debug=true 
spring.datasource.url=jdbc:oracle:thin:@*** 
spring.datasource.username=*** 
spring.datasource.password=*** 
spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver 
spring.jpa.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect** 

Моего Gradle Фрагмент кода:

compile "org.springframework.security:spring-security-web:${springSecurityVersion}" 
compile "org.springframework.security:spring-security-config:${springSecurityVersion}" 
compile "org.springframework:spring-context:${springVersion}" 
compile "org.springframework:spring-web:${springVersion}" 
compile "org.springframework:spring-webmvc:${springVersion}" 
compile "org.springframework:spring-jms:${springVersion}" 
compile "org.springframework:spring-orm:${springVersion}" 
compile "org.springframework:spring-jdbc:${springVersion}" 
compile "org.springframework.boot:spring-boot-starter-web:${springBootVersion}" 
compile "org.springframework.boot:spring-boot-starter-actuator:${springBootVersion}" 

код:

package com.mine.apps.force; 
import com.mine.common.ErrorLog;  
@Controller 
@EnableAutoConfiguration 
@ComponentScan("com.mine") 
//@ImportResource("classpath:webserver/forceAppContext.xml") 
@RequestMapping(value="/force") 
public class forceMicroService 
{ 
    private static ErrorLog logger = new ErrorLog("forceMicroService"); 

     public forceMicroService() 
     { 
     } 


     @RequestMapping(value="/retry/{Id}", method=RequestMethod.POST) 
     @ResponseBody 
     String sendToforce(@PathVariable("Id") String Id) 
     { 
      String func = "sendToforce"; 

      logger.Info(func, "Entering"); 
      return Id; 
    } 

    public static void main(String[] args) 
    { 
      SpringApplication.run(forceMicroService.class, args); 
    } 
} 

стек трассировки

10:06:11,443 WARN [embedded.AnnotationConfigEmbeddedWebApplicationContext]: Exception 

столкнулся во время инициализации контекста - отмена попытки ReFRESH org.springframework.beans.factory.BeanCreationException: Ошибки создания боба с именем 'EntityManagerFactory', определенная в классе пути ресурс [орг/springframework/загрузки/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: Невозможно создать экземпляр Bean через заводской метод; вложенное исключение составляет org.springframework.beans.BeanInstantiationException: Не удалось создать экземпляр [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean]: метод Завод 'EntityManagerFactory' выбросил исключение; вложенная исключение java.lang.IllegalStateException: Не удалось настроить JTA платформу на org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod (ConstructorResolver.java:599) в org.springframework.beans.factory.support. AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod (AbstractAutowireCapableBeanFactory.java:1111) на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory.java:1006) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory. java: 504) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapa bleBeanFactory.java:476) at org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.java:303) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:230) на org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:299) на org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:194) в org.springframework .context.support.AbstractApplicationContext.getBean (AbstractApplicationContext.java:956) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:747) at org.springframework.context.support.Abst ractApplicationContext.refresh (AbstractApplicationContext.java:480) at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh (EmbeddedWebApplicationContext.Java: 118) на org.springframework.boot.SpringApplication.refresh (SpringApplication.java:691) на org.springframework.boot.SpringApplication.run (SpringApplication.java:321) на org.springframework.boot.SpringApplication. прогон (SpringApplication.java:961) на org.springframework.boot.SpringApplication.run (SpringApplication.java:950) на com.vzw.etm.apps.enforce.EnforceMicroService.main (EnforceMicroService.java:47) Вызванный по: org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean]: Заводской метод «entityManagerFactory» сделал исключение; вложенная исключение java.lang.IllegalStateException: Не удалось настроить JTA платформу на org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate (SimpleInstantiationStrategy.java:189) в org.springframework.beans.factory.support. ConstructorResolver.instantiateUsingFactoryMethod (ConstructorResolver.java:588) ... 17 более Вызванный: java.lang.IllegalStateException: не удалось настроить платформу JTA на org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.getNoJtaPlatformManager (HibernateJpaAutoConfiguration .java: 151) at org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.configureJtaPlatform (HibernateJpaAutoConfiguration.java:129) в org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration.customizeVendorProperties (HibernateJpaAutoConfiguration.java:99) на org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.entityManagerFactory (JpaBaseConfiguration.java:111) на org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration $$ EnhancerBySpringCGLIB $$ 6ecd1b06.CGLIB $ EntityManagerFactory $ 6() в org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration $$ EnhancerBySpringCGLIB $$ 6ecd1b06 $$ FastClassBySpringCGLIB $$ 797c76e5.invoke() в org.springframework.cglib.proxy.MethodProxy.invokeSuper (MethodProxy.java:228) в org.springframework.context.annotation.ConfigurationClassEnhancer $ BeanMethodInterceptor.intercept (ConfigurationClassEnhancer.java:309) в org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration $$ EnhancerBySpringCGLIB $$ 6ecd1b06.entityManagerFactory() в sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. java: 39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke (Method.java:597) at org.springframework.beans.factory.support. SimpleInstantiationStrategy.instantiate (SimpleInstantiationStrategy.java:162) ... 18 еще 10: 06: 11,465 INFO [concurrent.ThreadPoolTaskExecutor]: выключение метрик ExecutorServiceExecutor ' 12 января 2016 10:06:11 org.apache. catalina.core.Sta ndardService stopInternal INFO: Остановка службы Tomcat

+0

PLease дает некоторый контекст того, что вы пытаетесь сделать ... – fast

+0

Я пытаюсь создать службу с помощью Boot/Tomcat. Кажется, что Sprign делает автоматическое сканирование и пытается подключиться к JPA. Реальная логика находится в контексте xml, который у меня есть в коде (закомментирован). – Vatson

+0

в основном используют существующий код и преобразуют их в службу на основе загрузки. база кода представляет собой сочетание служб JDBC/Hibernate/SOAP и REST. Таким образом, намерение принять некоторые вызовы, не связанные с WS, и преобразовать их в службу. – Vatson

ответ

4

Spring загрузки не поддерживает Hibernate 3.5.
Минимальная требуемая версия - Hibernate 4.2.

Вы можете работать вокруг этого, полностью отключить автоматическую конфигурацию для Hibernate:

@EnableAutoConfiguration(exclude = {HibernateJpaAutoConfiguration.class}) 

Если вы развернуть службу в качестве исполняемого файла JAR со встроенной Tomcat, нет никаких причин, чтобы использовать такую ​​старую версию Hibernate , поэтому вы должны использовать тот, который определяет Spring Boot.

+0

Это сработало. Большое спасибо. Это открывает новый вопрос о том, где я должен использовать Spring Boot. – Vatson

Смежные вопросы