Spring Boot Weblogi c Развертывание - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь развернуть приложение весенней загрузки (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 секунд. Транскрипция терпит неудачу практически сразу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...