Я пытаюсь перенести мое приложение (файл войны) из WildFly в Open Liberty.
При запуске WildFly считывалось persistence.xml
и таблицы создавались автоматически со свойством <property name="hibernate.hbm2ddl.auto" value="create"/>
, определенным в persistence.xml
.
persistence.xml:
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="my-pu">
<jta-data-source>jdbc/myDB</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create"/>
<property name="hibernate.dialect"
value="org.hibernate.dialect.MySQL5Dialect"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.hbm2ddl.import_files"
value="data.sql"/>
<property name="hibernate.hbm2ddl.charset_name" value="UTF-8"/>
</properties>
</persistence-unit>
</persistence>
С другой стороны, с Open Liberty ничего не происходит.Я получаю сообщение об ошибке, если <jta-data-source>jdbc/myDB</jta-data-source>
не правильно определен в server.xml
, поэтому файл persistence.xml был каким-то образом прочитан.Это в значительной степени это.Даже если я включу hibernate.show_sql
, просто нет вывода, который был бы полезен в любом случае.
Это журнал одного запуска:
product = Open Liberty 19.0.0.4 (wlp-1.0.27.cl190420190419-0642)
wlp.install.dir = C:/openliberty-19.0.0.4/wlp/
java.home = C:\Program Files\Java\jdk1.8.0_201\jre
java.version = 1.8.0_201
java.runtime = Java(TM) SE Runtime Environment (1.8.0_201-b09)
os = Windows 10 (10.0; amd64) (de_DE)
process = 11584@DESKTOP-HIB1MRJ
********************************************************************************
[14.05.19 14:05:48:173 MESZ] 00000001 com.ibm.ws.kernel.launch.internal.FrameworkManager A CWWKE0001I: Der Server defaultServer wurde gestartet.
[14.05.19 14:05:49:354 MESZ] 00000001 com.ibm.ws.kernel.launch.internal.FrameworkManager I CWWKE0002I: Der Kernel wurde nach 1,379 Sekunden gestartet.
[14.05.19 14:05:49:423 MESZ] 0000001f com.ibm.ws.kernel.feature.internal.FeatureManager I CWWKF0007I: Die Featureaktualisierung wurde gestartet.
[14.05.19 14:05:49:608 MESZ] 00000017 com.ibm.ws.security.ready.internal.SecurityReadyServiceImpl I CWWKS0007I: Der Sicherheitsservice wird gestartet...
[14.05.19 14:05:49:955 MESZ] 00000017 com.ibm.ws.app.manager.internal.monitor.DropinMonitor A CWWKZ0058I: dropins auf Anwendungen überwachen.
[14.05.19 14:05:50:383 MESZ] 00000017 ibm.ws.security.authentication.internal.jaas.JAASServiceImpl I CWWKS1123I: Das Verbundauthentifizierungs-Plug-in mit dem Klassennamen NullCollectiveAuthenticationPlugin wurde aktiviert.
[14.05.19 14:05:50:393 MESZ] 00000025 com.ibm.ws.security.token.ltpa.internal.LTPAKeyCreateTask I CWWKS4105I: Die LTPA-Konfiguration ist nach 0,038 Sekunden bereit.
[14.05.19 14:05:50:434 MESZ] 00000019 com.ibm.ws.ssl.config.WSKeyStore E CWPKI0033E: Der Keystore in C:/openliberty-19.0.0.4/wlp/usr/servers/defaultServer/resources/security/key.p12 konnte wegen des folgenden Fehlers nicht geladen werden: keystore password was incorrect
[14.05.19 14:05:50:437 MESZ] 00000019 com.ibm.ws.ssl.config.WSKeyStore W CWPKI0809W: Beim Laden des Keystores defaultKeyStore ist ein Fehler aufgetreten. Wenn eine SSL-Konfiguration den defaultKeyStore-Keystore referenziert, schlägt die Initialisierung der SSL-Konfiguration fehl.
[14.05.19 14:05:50:642 MESZ] 00000028 com.ibm.ws.tcpchannel.internal.TCPChannel I CWWKO0219I: Der TCP-Kanal defaultHttpEndpoint wurde gestartet und ist jetzt für Anforderungen auf dem Host 127.0.0.1 (IPv4: 127.0.0.1) an Port 9080 empfangsbereit.
[14.05.19 14:05:50:719 MESZ] 00000017 com.ibm.ws.security.jaspi.AuthConfigFactoryWrapper I CWWKS1655I: Die JASPIC-Standard-AuthConfigFactory-Klasse com.ibm.ws.security.jaspi.ProviderRegistry wird verwendet, weil die Java-Sicherheitseigenschaft authconfigprovider.factory nicht gesetzt ist.
[14.05.19 14:05:51:142 MESZ] 00000017 com.ibm.ws.tcpchannel.internal.TCPChannel I CWWKO0219I: Der TCP-Kanal wasJmsEndpoint456 wurde gestartet und ist jetzt für Anforderungen auf dem Host 127.0.0.1 (IPv4: 127.0.0.1) an Port 7276 empfangsbereit.
[14.05.19 14:05:51:885 MESZ] 00000017 com.ibm.ws.sib.utils.ras.SibMessage I CWSID0108I: Der JMS-Server wurde gestartet.
[14.05.19 14:05:52:328 MESZ] 00000017 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf.cxf.core.3.2 (196) [org.apache.cxf.phase.PhaseManager, org.apache.cxf.workqueue.WorkQueueManager, org.apache.cxf.buslifecycle.BusLifeCycleManager, org.apache.cxf.endpoint.ServerRegistry, org.apache.cxf.endpoint.EndpointResolverRegistry, org.apache.cxf.headers.HeaderManager, org.apache.cxf.service.factory.FactoryBeanListenerManager, org.apache.cxf.endpoint.ServerLifeCycleManager, org.apache.cxf.endpoint.ClientLifeCycleManager, org.apache.cxf.resource.ResourceManager, org.apache.cxf.catalog.OASISCatalogManager, org.apache.cxf.transport.http.HTTPTransportFactory, org.apache.cxf.transport.http.HTTPWSDLExtensionLoader, org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder, org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder, org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider, org.apache.cxf.transport.http.HTTPConduitFactory, org.apache.cxf.transport.ConduitInitiator]
[14.05.19 14:05:52:338 MESZ] 00000017 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf-rt-ws-addr.2.6.2 (260) [org.apache.cxf.ws.addressing.policy.AddressingAssertionBuilder, org.apache.cxf.ws.addressing.policy.UsingAddressingAssertionBuilder, org.apache.cxf.ws.addressing.policy.AddressingPolicyInterceptorProvider, org.apache.cxf.ws.addressing.impl.AddressingWSDLExtensionLoader, org.apache.cxf.ws.addressing.WSAddressingFeature$WSAddressingFeatureApplier, org.apache.cxf.ws.addressing.MAPAggregator$MAPAggregatorLoader]
[14.05.19 14:05:52:339 MESZ] 00000017 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf-rt-frontend-jaxws.2.6.2 (262) [org.apache.cxf.jaxws.context.WebServiceContextResourceResolver]
[14.05.19 14:05:52:340 MESZ] 00000017 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf-rt-management.2.6.2 (269) [org.apache.cxf.management.InstrumentationManager]
[14.05.19 14:05:52:340 MESZ] 00000017 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf-rt-bindings-xml.2.6.2 (271) [org.apache.cxf.binding.xml.XMLBindingFactory, org.apache.cxf.binding.xml.wsdl11.XMLWSDLExtensionLoader]
[14.05.19 14:05:52:341 MESZ] 00000017 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf-rt-transports-http.2.6.2 (272) [org.apache.cxf.transport.http.HTTPTransportFactory, org.apache.cxf.transport.http.HTTPWSDLExtensionLoader, org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder, org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder, org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider]
[14.05.19 14:05:52:341 MESZ] 00000017 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf-rt-bindings-soap.2.6.2 (273) [org.apache.cxf.binding.soap.SoapBindingFactory, org.apache.cxf.binding.soap.SoapTransportFactory]
[14.05.19 14:05:52:342 MESZ] 00000017 org.apache.cxf.bus.osgi.CXFActivator I Adding the extensions from bundle com.ibm.ws.org.apache.cxf-rt-ws-policy.2.6.2 (276) [org.apache.cxf.ws.policy.PolicyEngine, org.apache.cxf.policy.PolicyDataEngine, org.apache.cxf.ws.policy.AssertionBuilderRegistry, org.apache.cxf.ws.policy.PolicyInterceptorProviderRegistry, org.apache.cxf.ws.policy.PolicyBuilder, org.apache.cxf.ws.policy.PolicyAnnotationListener, org.apache.cxf.ws.policy.attachment.ServiceModelPolicyProvider, org.apache.cxf.ws.policy.attachment.external.DomainExpressionBuilderRegistry, org.apache.cxf.ws.policy.attachment.external.EndpointReferenceDomainExpressionBuilder, org.apache.cxf.ws.policy.attachment.wsdl11.Wsdl11AttachmentPolicyProvider, org.apache.cxf.ws.policy.mtom.MTOMAssertionBuilder, org.apache.cxf.ws.policy.mtom.MTOMPolicyInterceptorProvider]
[14.05.19 14:05:53:040 MESZ] 00000017 com.ibm.ws.cache.ServerCache I DYNA1001I: Die Instanz von WebSphere Dynamic Cache mit dem Namen baseCache wurde ordnungsgemäß initialisiert.
[14.05.19 14:05:53:047 MESZ] 00000017 com.ibm.ws.cache.ServerCache I DYNA1071I: Der Cacheprovider default wird verwendet.
[14.05.19 14:05:53:050 MESZ] 00000017 com.ibm.ws.cache.CacheServiceImpl I DYNA1056I: Dynamic Cache (Objektcache) wurde erfolgreich initialisiert.
[14.05.19 14:05:53:936 MESZ] 00000027 com.ibm.ws.config.xml.internal.ConfigRefresher A CWWKG0016I: Die Aktualisierung der Serverkonfiguration wird gestartet.
[14.05.19 14:05:53:958 MESZ] 00000027 com.ibm.ws.config.xml.internal.ConfigRefresher A CWWKG0018I: Die Serverkonfiguration wurde nicht aktualisiert. Es wurden keine funktionalen Änderungen erkannt.
[14.05.19 14:05:54:083 MESZ] 00000043 com.ibm.ws.app.manager.AppMessageHelper I CWWKZ0018I: Die Anwendung backend wird gestartet.
[14.05.19 14:05:54:767 MESZ] 0000003e com.ibm.ws.session.WASSessionCore I SESN8501I: Der Sitzungsmanager konnte keine persistente Speicherposition finden. HttpSession-Objekte werden im lokalen Anwendungsserverspeicher gespeichert.
[14.05.19 14:05:54:785 MESZ] 0000003e com.ibm.ws.webcontainer.osgi.webapp.WebGroup I SRVE0169I: Das Webmodul wird geladen: OpenAPIUI.
[14.05.19 14:05:54:785 MESZ] 00000031 com.ibm.ws.webcontainer.osgi.webapp.WebGroup I SRVE0169I: Das Webmodul wird geladen: MicroProfileOpenAPI.
[14.05.19 14:05:54:788 MESZ] 0000003e com.ibm.ws.webcontainer I SRVE0250I: Das Webmodul OpenAPIUI wurde an default_host gebunden.
[14.05.19 14:05:54:789 MESZ] 00000031 com.ibm.ws.webcontainer I SRVE0250I: Das Webmodul MicroProfileOpenAPI wurde an default_host gebunden.
[14.05.19 14:05:54:790 MESZ] 0000003e com.ibm.ws.http.internal.VirtualHostImpl A CWWKT0016I: Webanwendung verfügbar: (default_host): http://localhost:9080/openapi/ui/
[14.05.19 14:05:54:792 MESZ] 00000031 com.ibm.ws.http.internal.VirtualHostImpl A CWWKT0016I: Webanwendung verfügbar: (default_host): http://localhost:9080/openapi/
[14.05.19 14:05:54:861 MESZ] 00000022 com.ibm.ws.session.WASSessionCore I SESN0176I: Es wird ein neuer Sitzungskontext für den Anwendungsschlüssel default_host/openapi erstellt.
[14.05.19 14:05:54:862 MESZ] 00000047 com.ibm.ws.session.WASSessionCore I SESN0176I: Es wird ein neuer Sitzungskontext für den Anwendungsschlüssel default_host/openapi/ui erstellt.
[14.05.19 14:05:54:879 MESZ] 00000022 com.ibm.ws.util I SESN0172I: Der Sitzungsmanager verwendet die SecureRandom-Java-Standardimplementierung für die Generierung von Sitzungs-IDs.
[14.05.19 14:05:54:890 MESZ] 00000047 com.ibm.ws.util I SESN0172I: Der Sitzungsmanager verwendet die SecureRandom-Java-Standardimplementierung für die Generierung von Sitzungs-IDs.
[14.05.19 14:05:54:991 MESZ] 00000022 org.hibernate.validator.internal.util.Version I HV000001: Hibernate Validator 6.0.13.Final
[14.05.19 14:05:55:045 MESZ] 00000024 com.ibm.ws.webcontainer.osgi.mbeans.PluginGenerator I SRVE9103I: Es wurde automatisch eine Konfigurationsdatei für ein Web-Server-Plug-in für diesen Server unter C:\openliberty-19.0.0.4\wlp\usr\servers\defaultServer\logs\state\plugin-cfg.xml generiert.
[14.05.19 14:05:55:299 MESZ] 00000047 com.ibm.ws.cache.CacheServiceImpl I DYNA1056I: Dynamic Cache (Objektcache) wurde erfolgreich initialisiert.
[14.05.19 14:05:55:321 MESZ] 00000047 org.apache.myfaces.ee.MyFacesContainerInitializer I Using org.apache.myfaces.ee.MyFacesContainerInitializer
[14.05.19 14:05:55:321 MESZ] 00000022 org.apache.myfaces.ee.MyFacesContainerInitializer I Using org.apache.myfaces.ee.MyFacesContainerInitializer
[14.05.19 14:05:55:464 MESZ] 00000022 com.ibm.ws.webcontainer.servlet I SRVE0242I: [com.ibm.ws.microprofile.openapi] [/openapi] [OpenAPIServlet]: Initialisierung erfolgreich.
Да, он на немецком языке.Я думаю, с базовым переводчиком все должно быть в порядке.
Мой server.xml
выглядит следующим образом
<?xml version="1.0" encoding="UTF-8"?>
<server description="new server">
<!-- Enable features -->
<featureManager>
<feature>localConnector-1.0</feature>
<feature>javaee-8.0</feature>
<feature>mpOpenAPI-1.0</feature>
<feature>jndi-1.0</feature>
</featureManager>
<library id="MySQLLib">
<fileset dir="C:/openliberty-19.0.0.4/wlp/lib" includes="mysql-connector-java-8.0.15.jar" />
</library>
<dataSource id="myDS" jndiName="jdbc/myDB" type="javax.sql.DataSource">
<jdbcDriver libraryRef="MySQLLib" javax.sql.DataSource="com.mysql.cj.jdbc.MysqlDataSource" />
<properties user="root" password="" databaseName="myDB" serverName="localhost" portNumber="3306" />
</dataSource>
<!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" -->
<httpEndpoint id="defaultHttpEndpoint" httpPort="9080" httpsPort="9443" />
<!-- Automatically expand WAR files and EAR files -->
<applicationManager autoExpand="true" />
<applicationMonitor updateTrigger="mbean" />
<keyStore id="defaultKeyStore" password="mysecretpassword" />
<application id="backend" location="C:\backend\target\backend.war" name="backend" type="war" context-root="backend" />
</server>
Соединение с базой данных работает нормально, потому что я получаю сообщение об ошибке, если пытаюсь получить (не существующие) данные моеготаблицы:
Caused by: java.sql.SQLSyntaxErrorException: Table 'myDB.mytable' doesn't exist
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:970)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1020)
at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.executeQuery(WSJdbcPreparedStatement.java:476)
... 30 more
Как я могу сгенерировать таблицы при запуске моего локального сервера Open Liberty?