Я пытаюсь обновить версию 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
.
Не знаете, куда идти, какие-либо предложения?