Project

General

Profile

bug #5601

Creation of local database structure via remoting

Added by Andreas Müller almost 5 years ago. Updated 6 months ago.

Status:
Duplicate
Priority:
Highest
Category:
taxeditor
Target version:
-
Start date:
07/06/2016
Due date:
% Done:

100%

Estimated time:
3.00 h
Severity:
blocker
Found in Version:

Description

It is still untested if a database structure (e.g. in a local H2 database) can be created automatically in the same way as it was possible in standalone.

This is a critical feature for turning off standalone completely.

Needs decision if this is a taxeditor ticket or cdmserver/remote ticket.


Related issues

Related to Edit - feature request #8187: Use Spring Environment instead of custom code in AbstractWebApplicationConfigurer New 03/20/2019
Duplicates Edit - feature request #9025: allow for creating a new schema in empty dbs via the remote login dialog Closed 05/20/2020

History

#1 Updated by Andreas Müller over 4 years ago

  • Target version changed from Unassigned CDM tickets to Release 4.0
  • Priority changed from New to Highest
  • Severity changed from normal to blocker
  • Tracker changed from feature request to bug

#2 Updated by Katja Luther over 4 years ago

at the moment it is not possible to connect to a h2 database with the remote editor. First we have to fix this issue : #5705

Caused by: 
java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getDriver(DriverManager.java:278)
    at com.mchange.v2.c3p0.DriverManagerDataSource.driver(DriverManagerDataSource.java:285)
    at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:161)
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:161)
    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:147)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.initializeAutomaticTestTable(C3P0PooledConnectionPoolManager.java:1000)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.createPooledConnectionPool(C3P0PooledConnectionPoolManager.java:921)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.getPool(C3P0PooledConnectionPoolManager.java:397)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.getPool(C3P0PooledConnectionPoolManager.java:414)
    at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:140)
    at eu.etaxonomy.cdm.remote.config.DataSourceConfigurer.dataSource(DataSourceConfigurer.java:167)
    at eu.etaxonomy.cdm.remote.config.DataSourceConfigurer$$EnhancerBySpringCGLIB$$57af939.CGLIB$dataSource$0(<generated>)
    at eu.etaxonomy.cdm.remote.config.DataSourceConfigurer$$EnhancerBySpringCGLIB$$57af939$$FastClassBySpringCGLIB$$2edf344c.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:355)
    at eu.etaxonomy.cdm.remote.config.DataSourceConfigurer$$EnhancerBySpringCGLIB$$57af939.dataSource(<generated>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
    at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    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.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1481)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    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.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1481)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    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:772)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
    at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800)
    at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444)
    at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294)
    at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
    at org.eclipse.jetty.server.Server.start(Server.java:387)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
    at org.eclipse.jetty.server.Server.doStart(Server.java:354)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at eu.etaxonomy.taxeditor.webapp.CDMServer$1.run(CDMServer.java:183)

#3 Updated by Andreas Müller over 4 years ago

  • Target version changed from Release 4.0 to Release 4.1

#4 Updated by Andreas Müller over 4 years ago

  • Target version changed from Release 4.1 to Release 4.2

#5 Updated by Andreas Müller over 4 years ago

  • Target version changed from Release 4.2 to Release 4.3

#6 Updated by Andreas Müller about 4 years ago

  • Target version changed from Release 4.3 to Release 4.4

#7 Updated by Andreas Müller about 4 years ago

  • Subject changed from Creation of database structure via remoting to [DISCUSS] Creation of database structure via remoting
  • Description updated (diff)
  • Estimated time set to 3.00 h

#8 Updated by Andreas Müller almost 4 years ago

  • Target version changed from Release 4.4 to Release 4.5

#9 Updated by Andreas Müller almost 4 years ago

  • Target version changed from Release 4.5 to Release 4.6

#10 Updated by Andreas Müller over 3 years ago

  • Target version changed from Release 4.6 to Release 4.7

#11 Updated by Andreas Müller over 3 years ago

  • Target version changed from Release 4.7 to Release 4.8

#12 Updated by Andreas Müller over 3 years ago

  • Target version changed from Release 4.8 to Release 4.9

#13 Updated by Andreas Müller over 3 years ago

  • Target version changed from Release 4.9 to Release 4.10

#14 Updated by Andreas Müller about 3 years ago

  • Target version changed from Release 4.10 to Release 4.12

#15 Updated by Andreas Müller almost 3 years ago

  • Target version changed from Release 4.12 to Release 4.13

#16 Updated by Andreas Müller almost 3 years ago

  • Target version changed from Release 4.13 to Release 4.14

#17 Updated by Andreas Müller almost 3 years ago

  • Target version changed from Release 4.14 to Release 5.0

#18 Updated by Andreas Müller almost 3 years ago

  • Private changed from Yes to No

#19 Updated by Andreas Müller almost 3 years ago

  • Target version changed from Release 5.0 to Release 5.1

#20 Updated by Andreas Müller over 2 years ago

  • Target version changed from Release 5.1 to Release 5.2

#21 Updated by Andreas Müller over 2 years ago

  • Target version changed from Release 5.2 to Release 5.3

#22 Updated by Katja Luther about 2 years ago

  • Target version changed from Release 5.3 to Release 5.4

#23 Updated by Andreas Müller about 2 years ago

  • Target version changed from Release 5.4 to Release 5.5

#24 Updated by Andreas Müller almost 2 years ago

  • Target version changed from Release 5.5 to Release 5.6

#25 Updated by Andreas Müller almost 2 years ago

  • Target version changed from Release 5.6 to Reviewed Next Major Release

#26 Updated by Andreas Kohlbecker over 1 year ago

  • Related to feature request #8187: Use Spring Environment instead of custom code in AbstractWebApplicationConfigurer added

#27 Updated by Andreas Müller 6 months ago

  • Assignee changed from Katja Luther to Andreas Müller
  • Target version changed from Reviewed Next Major Release to Release 5.15
  • % Done changed from 0 to 90

This is probably fixed with #9025 . Still need to test if it really works with H2.

#28 Updated by Andreas Müller 6 months ago

  • Duplicates feature request #9025: allow for creating a new schema in empty dbs via the remote login dialog added

#29 Updated by Andreas Kohlbecker 6 months ago

  • Status changed from New to Feedback

Andreas Müller wrote:

This is probably fixed with #9025 . Still need to test if it really works with H2.

So this ticket is only about databases related to the "local managed server" which is started from withing the taxeditor?
It would be good to clarify this in the ticket subject.

#30 Updated by Andreas Müller 6 months ago

  • Assignee changed from Andreas Müller to Andreas Kohlbecker

As the description says "can be created automatically in the same way as it was possible in standalone" .
And " critical feature for turning off standalone completely".

As standalone is more or less doing what localhost mgd. is doing I guess this ticket is only about localhost mgd.

I also wouldn't consider it necessary to make it possible to create a new DB schema on a remote server via TaxEditor and not using localhost mgd.

This is funcitionality that we could maybe have in the CDM Server web interface. But this might be another ticket. Feel free to create such a ticket if it does not yet exist.

#31 Updated by Andreas Kohlbecker 6 months ago

  • Assignee changed from Andreas Kohlbecker to Andreas Müller

Andreas Müller wrote:

As the description says "can be created automatically in the same way as it was possible in standalone" .
And " critical feature for turning off standalone completely".

As standalone is more or less doing what localhost mgd. is doing I guess this ticket is only about localhost mgd.

I also wouldn't consider it necessary to make it possible to create a new DB schema on a remote server via TaxEditor and not using localhost mgd.

This is funcitionality that we could maybe have in the CDM Server web interface. But this might be another ticket. Feel free to create such a ticket if it does not yet exist.

I was asking for calrifying the subject so that you can more easily understand the focus of this issue when you don't see the description, like is issue lists. The description is clear enough

#32 Updated by Andreas Müller 6 months ago

  • Subject changed from [DISCUSS] Creation of database structure via remoting to Creation of database structure via remoting
  • Status changed from Feedback to Duplicate
  • Target version deleted (Release 5.15)
  • % Done changed from 90 to 100

So I close this ticket as duplicate. If you have an idea for a better ticket title feel free to change it.

#33 Updated by Andreas Kohlbecker 6 months ago

  • Subject changed from Creation of database structure via remoting to Creation of local database structure via remoting

#34 Updated by Andreas Müller 6 months ago

Don't know if this is a better title. The database is not necessarily a local one. It only needs to be reachable, e.g. I can create a DB schema on production from my local TaxEditor as long as I have access to the production database from my machine.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)