Невозможно запустить приложение JavaEE после удара Java 8 -> 11 - PullRequest
0 голосов
/ 29 сентября 2019

Я пытаюсь обновить версию Java в приложении Java EE, которое работает на TomEE. Я увеличил версию TomEE до 8.0.0, а также добавил арглайны для надежной и отказоустойчивой работы следующим образом:

<argLine>${failsafeArgLine} -Xmx4g  --illegal-access=permit</argLine>

, а также добавил эти зависимости по мере необходимости и были исключены в v 11:

            <dependency>
                <groupId>javax.annotation</groupId>
                <artifactId>javax.annotation-api</artifactId>
                <version>1.3.2</version>
            </dependency>
            <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>2.4.0-b180725.0427</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jaxb</groupId>
                <artifactId>jaxb-runtime</artifactId>
                <version>2.4.0-b180725.0644</version>
            </dependency>

Когда я пытаюсь запустить приложение, я получаю серию исключений, начиная с:

29-Sep-2019 16:18:41.374 INFO [http-nio-8080-exec-8] org.apache.openejb.assembler.classic.Assembler.createApplication Assembling app: my-services
29-Sep-2019 16:18:41.860 INFO [http-nio-8080-exec-8] org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createDelegate PersistenceUnit(name=my-persistence, provider=org.eclipse.persistence.jpa.PersistenceProvider) - provider time 480ms
29-Sep-2019 16:18:41.860 INFO [http-nio-8080-exec-8] org.apache.openejb.assembler.classic.Assembler.destroyApplication Undeploying app: my-services
29-Sep-2019 16:18:41.865 SEVERE [http-nio-8080-exec-8] jdk.internal.reflect.NativeMethodAccessorImpl.invoke Error destroying child
    org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_destroy]) for component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/my-services]] in state [STARTING_PREP]
        at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:430)

, а затем более поздние исключения:

29-Sep-2019 16:18:41.880 INFO [http-nio-8080-exec-8] org.apache.openejb.assembler.classic.Assembler.doResourceDestruction Closing DataSource: my-services/my-services-DS
Sun Sep 29 16:18:41 CEST 2019 WARN: Caught while disconnecting...

EXCEPTION STACK TRACE:



** BEGIN NESTED EXCEPTION ** 

javax.net.ssl.SSLException
MESSAGE: closing inbound before receiving peer's close_notify

STACKTRACE:

javax.net.ssl.SSLException: closing inbound before receiving peer's close_notify
    at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:129)
29-Sep-2019 16:18:41.938 WARNING [http-nio-8080-exec-8] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [my-services] registered the JDBC driver [com.p6spy.engine.spy.P6SpyDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
29-Sep-2019 16:18:41.940 WARNING [http-nio-8080-exec-8] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [my-services] appears to have started a thread named [pool-8-thread-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.base@11.0.2/jdk.internal.misc.Unsafe.park(Native Method)

Изатем длинная серия исключений как таковая:

29-Sep-2019 16:18:42.065 SEVERE [http-nio-8080-exec-8] org.apache.openejb.assembler.classic.Assembler.destroyApplication undeployException original cause
    java.lang.Exception: deployment not found: my-services/my-services/{className}

, где {className} - это разные имена классов в модуле. Возможно ли, что контекстный путь для этого модуля был неправильно задан в процессе (из-за /my-services/my-services/)

И последнее, но не менее важное исключение EclipseLink:

Internal Exception: Exception [EclipseLink-7246] (Eclipse Persistence Services - 2.7.3.v20180807-4be1041): org.eclipse.persistence.exceptions.ValidationException
Exception Description: The Entity class [class Entity] has an embedded attribute [address] of type [Address] which is NOT an Embeddable class. Probable reason: missing @Embeddable or missing <embeddable> in orm.xml if metadata-complete = true: javax.persistence.PersistenceException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.7.3.v20180807-4be1041): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [my-persistence] failed.

, хотякласс Address имеет аннотацию @Embeddable.

Не знаете, куда идти, какие-либо предложения?

...