Project

General

Profile

Actions

bug #5601

closed

Creation of local database structure via remoting

Added by Andreas Müller almost 7 years ago. Updated over 2 years ago.

Status:
Duplicate
Priority:
Highest
Category:
taxeditor
Target version:
-
Start date:
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 AbstractWebApplicationConfigurerNewAndreas Kohlbecker

Actions
Is duplicate of EDIT - feature request #9025: allow for creating a new schema in empty dbs via the remote login dialogClosedAndreas Kohlbecker

Actions
Actions #1

Updated by Andreas Müller over 6 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
Actions #2

Updated by Katja Luther over 6 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)

Actions #3

Updated by Andreas Müller over 6 years ago

  • Target version changed from Release 4.0 to Release 4.1
Actions #4

Updated by Andreas Müller over 6 years ago

  • Target version changed from Release 4.1 to Release 4.2
Actions #5

Updated by Andreas Müller over 6 years ago

  • Target version changed from Release 4.2 to Release 4.3
Actions #6

Updated by Andreas Müller about 6 years ago

  • Target version changed from Release 4.3 to Release 4.4
Actions #7

Updated by Andreas Müller about 6 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
Actions #8

Updated by Andreas Müller about 6 years ago

  • Target version changed from Release 4.4 to Release 4.5
Actions #9

Updated by Andreas Müller almost 6 years ago

  • Target version changed from Release 4.5 to Release 4.6
Actions #10

Updated by Andreas Müller over 5 years ago

  • Target version changed from Release 4.6 to Release 4.7
Actions #11

Updated by Andreas Müller over 5 years ago

  • Target version changed from Release 4.7 to Release 4.8
Actions #12

Updated by Andreas Müller over 5 years ago

  • Target version changed from Release 4.8 to Release 4.9
Actions #13

Updated by Andreas Müller over 5 years ago

  • Target version changed from Release 4.9 to Release 4.10
Actions #14

Updated by Andreas Müller about 5 years ago

  • Target version changed from Release 4.10 to Release 4.12
Actions #15

Updated by Andreas Müller about 5 years ago

  • Target version changed from Release 4.12 to Release 4.13
Actions #16

Updated by Andreas Müller almost 5 years ago

  • Target version changed from Release 4.13 to Release 4.14
Actions #17

Updated by Andreas Müller almost 5 years ago

  • Target version changed from Release 4.14 to Release 5.0
Actions #18

Updated by Andreas Müller almost 5 years ago

  • Private changed from Yes to No
Actions #19

Updated by Andreas Müller almost 5 years ago

  • Target version changed from Release 5.0 to Release 5.1
Actions #20

Updated by Andreas Müller over 4 years ago

  • Target version changed from Release 5.1 to Release 5.2
Actions #21

Updated by Andreas Müller over 4 years ago

  • Target version changed from Release 5.2 to Release 5.3
Actions #22

Updated by Katja Luther over 4 years ago

  • Target version changed from Release 5.3 to Release 5.4
Actions #23

Updated by Andreas Müller about 4 years ago

  • Target version changed from Release 5.4 to Release 5.5
Actions #24

Updated by Andreas Müller almost 4 years ago

  • Target version changed from Release 5.5 to Release 5.6
Actions #25

Updated by Andreas Müller almost 4 years ago

  • Target version changed from Release 5.6 to Reviewed Next Major Release
Actions #26

Updated by Andreas Kohlbecker over 3 years ago

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

Updated by Andreas Müller over 2 years 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.

Actions #28

Updated by Andreas Müller over 2 years ago

  • Is duplicate of feature request #9025: allow for creating a new schema in empty dbs via the remote login dialog added
Actions #29

Updated by Andreas Kohlbecker over 2 years 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.

Actions #30

Updated by Andreas Müller over 2 years 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.

Actions #31

Updated by Andreas Kohlbecker over 2 years 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

Actions #32

Updated by Andreas Müller over 2 years 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.

Actions #33

Updated by Andreas Kohlbecker over 2 years ago

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

Updated by Andreas Müller over 2 years 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.

Actions

Also available in: Atom PDF