Я пытаюсь развернуть приложение весенней загрузки (2.2.5.RELEASE) в веб-журналах c 12.2.1.4.0. Приложение запускается правильно. Однако, когда я пытаюсь сохранить или обновить что-либо, ничего не происходит. После того, как я немного поигрался с разными конфигурациями, я оказался в такой ситуации, что всякий раз, когда я пытаюсь что-то зафиксировать, я получаю сообщение об ошибке:
org.springframework.transaction.UnexpectedRollbackException: JTA transaction unexpectedly rolled back (maybe due to a timeout); nested exception is weblogic.transaction.RollbackException: setRollbackOnly called on transaction
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1038)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:743)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711)
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:631)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:385)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:99)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
at gr.sigmasoft.gr.service.UserDataService$$EnhancerBySpringCGLIB$$e4b5f55d.save(<generated>)
at gr.sigmasoft.gr.web.rest.UserDataResource.createUserData(UserDataResource.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:879)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
Если я запускаю приложение со встроенным tomcat, все фиксируется и работает отлично.
Мои веб-логи c. xml
<?xml version="1.0" encoding="UTF-8"?><wls:weblogic-web-app
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web- app_2_5.xsdc-web-app" metadata-complete="true">
<wls:weblogic-version>12.2.1.4.0</wls:weblogic-version>
<wls:container-descriptor>
<wls:prefer-web-inf-classes>false</wls:prefer-web-inf-classes>
</wls:container-descriptor>
<wls:context-root>/context</wls:context-root>
<wls:container-descriptor>
<wls:prefer-application-packages>
<wls:package-name>org.springframework.*</wls:package-name>
<wls:package-name>org.slf4j.*</wls:package-name>
<wls:package-name>org.codehaus.stax2.*</wls:package-name>
<wls:package-name>com.google.common.*</wls:package-name>
<wls:package-name>org.bouncycastle.*</wls:package-name>
<wls:package-name>javax.persistence.*</wls:package-name>
<wls:package-name>javassist</wls:package-name>
<!--Add Application Provided Validation Library-->
<wls:package-name>javax.validation.*</wls:package-name>
<wls:package-name>javax.validation.BootstrapConfiguration</wls:package-name>
<wls:package-name>javax.validation.bootstrap.*</wls:package-name>
<wls:package-name>javax.validation.constraints.*</wls:package-name>
<wls:package-name>javax.validation.groups.*</wls:package-name>
<wls:package-name>javax.validation.metadata.*</wls:package-name>
<wls:package-name>javax.validation.spi.*</wls:package-name>
<!--Add Application Provided Hibernate Library-->
<wls:package-name>org.hibernate.*</wls:package-name>
<wls:package-name>org.hibernate.ejb.*</wls:package-name>
<wls:package-name>org.hibernate.jpa.*</wls:package-name>
<wls:package-name>org.hibernate.validator.*</wls:package-name>
<wls:package-name>org.hibernate.validator.internal.*</wls:package-name>
<wls:package-name>org.hibernate.validator.internal.engine.*</wls:package-name>
<wls:package-name>org.hibernate.validator.internal.engine.resolver.*</wls:package-name>
</wls:prefer-application-packages>
<wls:prefer-application-resources>
<wls:resource-name>org.springframework.*</wls:resource-name>
<wls:resource-name>javax.persistence.*</wls:resource-name>
<wls:resource-name>javax.validation.BootstrapConfiguration</wls:resource-name>
<wls:resource-name>org.hibernate.*</wls:resource-name>
<wls:resource-name>org.hibernate.jpa.*</wls:resource-name>
<wls:resource-name>META-INF/services/org.hibernate.jpa.HibernatePersistenceProvider</wls:resource-name>
<wls:resource-name>META-INF/services/javax.validation*</wls:resource-name>
</wls:prefer-application-resources>
</wls:container-descriptor>
и моя настойчивость. xml
<?xml version="1.0" encoding="UTF-8"?><persistence version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
<persistence-unit name="default" transaction-type="RESOURCE_LOCAL">
<description>
Default configuration for persistence in weblogic
</description>
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
<property name="hibernate.cache.region.factory_class" value="org.hibernate.cache.jcache.internal.JCacheRegionFactory"/>
<property name="hibernate.javax.cache.provider" value="org.ehcache.jsr107.EhcacheCachingProvider"/>
<property name="hibernate.ddl-auto" value="none" />
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.cache.use_second_level_cache" value="false"/>
<property name="hibernate.cache.use_query_cache" value="false"/>
<property name="hibernate.transaction.factory_class" value="org.hibernate.engine.transaction.internal.jta.CMTTransactionFactory"/>
<property name="hibernate.transaction.jta.platform" value="org.hibernate.engine.transaction.jta.platform.internal.WeblogicJtaPlatform"/>
<property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@//xxxxxx/xxx"/>
<property name="javax.persistence.jdbc.user" value="xxxx"/>
<property name="javax.persistence.jdbc.password" value="xxxxx"/>
</properties>
</persistence-unit>
Если вам нужна дополнительная информация о структуре проекта или конфигурациях, дайте мне знать, чтобы обновить вопрос. Я также проверил конфигурацию weblogi c, когда тайм-аут транзакций установлен на 600 секунд. Транскрипция терпит неудачу практически сразу.