Metasfresh lässt sich super als Docker installiereren und vorallen aktualisieren!!
Aber was wenn ich mit dem Java-Client Zugriff benötige, weil halt in der WebUI noch
nicht alles so zu konfigurieren ist wie es mit dem Client möglich ist.
ist hier anzuwenden UND … ganz wichtig und aus der Anlleitung leider nicht ersichtlich … die
docker-compose_javaclient.yml liegt im Ordner extras!!! Diese muss wie in der Anleitung
beschrieben entweder kopiert und angepasst oder der Befehl aus der Anleitung mit dem Pfad zur
Datei angegeben werden!
Dann klappt es … Java client mit Port :8282 downloaden
Wichtig für den Client ist auch, dass auf dem Windows PC mit dem zugegriffen werden soll die
Hostdatei angepasst wird!! Hier wie in der Anleitung db eine IP Adresse (oder Host-dns namen) geben.
Hallo
Ich habe heute den Java Client erfolgreich mit dem letzten Docker Container zum laufen gebracht. Mir scheint, dass mittlerweile die extras/docker-compose_javaclient.yml nicht mehr auf dem aktuellem Stand ist.
Ich hätte eine aktualisierte version, soll ich die irgendwo commiten?
Wenn ja, wäre ich für einen Wegweiser dankbar ;).
LG Norbert
Hallo könnte mir jemand einen Ratschlag geben woran es liegen könnte das ich zwar am Anfang eine Verbindung aufbauen kann aber dann wen ich den Nutzer auswähle, es zu einem Crash kommt und es heißt keine Verbindung zur Datenbank?
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jaxRsConfig' defined in URL [jar:file:/C:/Users/***/Desktop/metasfresh-client/metasfresh/lib/metasfresh-dist-swingui-5.105.2-1009+release.jar!/BOOT-INF/lib/de.metas.jax.rs-5.105.2-19+release.jar!/de/metas/jax/rs/JaxRsConfig.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [de.metas.jax.rs.JaxRsConfig$$EnhancerBySpringCGLIB$$745631d4]: Constructor threw exception; nested exception is org.adempiere.exceptions.DBNoConnectionException: @NoDBConnection@: Connections could not be acquired from the underlying database!
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:279)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1193)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1095)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:134)
at de.metas.SwingUIApplicationTemplate.main(SwingUIApplicationTemplate.java:77)
at de.metas.SwingUIApplication.main(SwingUIApplication.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:587)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [de.metas.jax.rs.JaxRsConfig$$EnhancerBySpringCGLIB$$745631d4]: Constructor threw exception; nested exception is org.adempiere.exceptions.DBNoConnectionException: @NoDBConnection@: Connections could not be acquired from the underlying database!
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:154)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:122)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:271)
... 25 common frames omitted
Caused by: org.adempiere.exceptions.DBNoConnectionException: @NoDBConnection@: Connections could not be acquired from the underlying database!
at org.adempiere.exceptions.DBNoConnectionException.wrapIfNeeded(DBNoConnectionException.java:51)
at org.compiere.db.CConnection.getConnection(CConnection.java:1117)
at org.compiere.util.DB.createConnection(DB.java:418)
at org.compiere.util.DB.createConnection(DB.java:463)
at org.compiere.util.DB.getConnectionRO(DB.java:399)
at org.adempiere.sql.impl.AbstractCStatementProxy.<init>(AbstractCStatementProxy.java:81)
at org.adempiere.sql.impl.CPreparedStatementProxy.<init>(CPreparedStatementProxy.java:64)
at org.adempiere.sql.impl.StatementsFactory.newCPreparedStatement(StatementsFactory.java:74)
at org.compiere.util.DB.prepareStatement(DB.java:707)
at org.compiere.util.DB.prepareStatement(DB.java:671)
at org.compiere.model.POInfo.loadInfo(POInfo.java:297)
at org.compiere.model.POInfo.<init>(POInfo.java:195)
at org.compiere.model.POInfo.<init>(POInfo.java:60)
at org.compiere.model.POInfo$2.call(POInfo.java:163)
at org.compiere.model.POInfo$2.call(POInfo.java:158)
at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:5065)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211)
at com.google.common.cache.LocalCache.get(LocalCache.java:4154)
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:5060)
at de.metas.cache.CCache.get(CCache.java:559)
at org.compiere.model.POInfo.getPOInfo(POInfo.java:157)
at org.compiere.model.POInfo.getPOInfo(POInfo.java:87)
at org.adempiere.ad.dao.impl.TypedSqlQuery.getPOInfo(TypedSqlQuery.java:154)
at org.adempiere.ad.dao.impl.TypedSqlQuery.buildSQL(TypedSqlQuery.java:1203)
at org.adempiere.ad.dao.impl.TypedSqlQuery.list(TypedSqlQuery.java:294)
at org.adempiere.ad.dao.impl.TypedSqlQuery.list(TypedSqlQuery.java:277)
at de.metas.jax.rs.impl.JaxRsDAO.retrieveEndpoints(JaxRsDAO.java:70)
at de.metas.jax.rs.impl.JaxRsDAO.retrieveClientEndpoints(JaxRsDAO.java:58)
at de.metas.jax.rs.impl.JaxRsBL.createClientEndPoints(JaxRsBL.java:321)
at de.metas.jax.rs.JaxRsConfig.<init>(JaxRsConfig.java:68)
at de.metas.jax.rs.JaxRsConfig$$EnhancerBySpringCGLIB$$745631d4.<init>(<generated>)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)
... 27 common frames omitted
Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:118)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:692)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:140)
at org.compiere.db.DB_PostgreSQL.getCachedConnection(DB_PostgreSQL.java:453)
at org.compiere.db.CConnection.getConnection(CConnection.java:1095)
... 64 common frames omitted
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1469)
at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:644)
at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:554)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse(C3P0PooledConnectionPool.java:758)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:685)
... 67 common frames omitted
Caused by: org.postgresql.util.PSQLException: Der Verbindungsversuch schlug fehl.
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:292)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)
at org.postgresql.Driver.makeConnection(Driver.java:454)
at org.postgresql.Driver.connect(Driver.java:256)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:214)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1138)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1125)
at com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44)
at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1870)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)
Caused by: java.net.UnknownHostException: db
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.postgresql.core.PGStream.<init>(PGStream.java:70)
at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:91)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192)
... 12 common frames omitted
das ist der Fehler der mir in der Konsole ausgegeben wird.
Dieser Fehler ist in einem Java-Appletfenster das 3 Monitore breit ist.
2019-05-31 02:22:32.575 INFO 9416 — [ main] org.compiere.apps.ADialog : Error - Error creating bean with name ‘jaxRsConfig’ defined in URL [jar:file:/C:/Users/****/Desktop/metasfresh-client/metasfresh/lib/metasfresh-dist-swingui-5.105.2-1009+release.jar!/BOOT-INF/lib/de.metas.jax.rs-5.105.2-19+release.jar!/de/metas/jax/rs/JaxRsConfig.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [de.metas.jax.rs.JaxRsConfig$$EnhancerBySpringCGLIB$$745631d4]: Constructor threw exception; nested exception is org.adempiere.exceptions.DBNoConnectionException: @NoDBConnection@: Connections could not be acquired from the underlying database!
Firewall ist per ufw disabled, also kann’s nicht dran liegen, die Router-Firewall ist auf exposed. Was ich auch seltsam finde ist das ich erst mal eine Komplett weise Seite bekomme wenn ich via “8080” drauf gehe um das WebUi zu nutzen, dann dauert das ca 5 Minuten, dann muss ich ne’n refresh machen und dann läuft das WebUi.
Was ich extrem komisch finde ist das ich zum einen via DynDns eine Verbindung zur DB bekomme als auch mit dem in meiner Hosts eingetragenen Verbindung als auch mit der Direkt IP aber nach der Auswahl ob metasfresh user, systemadmin usw. wirft er mir den Fehler das er keine Verbindung mehr hat.
System: Ubuntu server 18.04 mit Docker.
könnte ich was mit Java Code anfangen würde ich mich selber da durch wühlen. Aber Java und ich verstehen sich wie Katzen und Hunde.
geht jetzt. das problem ist dass er den datenbank host aus der config nicht benutzt. wenn man in der hosts datei einen eintrag db auf den datenbank server macht klappt es.