Amol Bhonsle created JUDDI-1005:
-----------------------------------
Summary: Need To have correct options to upgrade JUDDI DB Schema
Key: JUDDI-1005
URL: https://issues.apache.org/jira/browse/JUDDI-1005
Project: jUDDI
Issue Type: Bug
Components: juddi-tomcat
Affects Versions: 3.3.7, 3.3.6
Reporter: Amol Bhonsle
We are trying to update JUDDI DB from JUDDI-3.0.4 to JUDDI-3.3.7. JUDDI DB is
hosted on SQL Server. We use openjpa-2.3.0 which is provided by juddi-3.3.7
distribution.
As per openjpa-2.3.0 documentation:
{{drop opention of SchemaTool should do following:}}
{{drop}}: Drop all schema components in the schema XML. Tables will only be
dropped if they would have 0 columns after dropping all columns listed in the
XML.
and add option should do following:
{{add}}: This is the default action if you do not specify one. It brings the
schema up-to-date with the given XML document by adding tables, columns,
indexes, etc. This action never drops any schema components.
Also it is allowed in persistence.xml to use options as comma separated, so we
tried following option in persistence.xml to drop old tables and create new
tables as per juddi-3.3.7 schema but it did not work:
<property name="openjpa.jdbc.SynchronizeMappings"
value="buildSchema(SchemaAction='drop,add')"/>
This gives following Exception when JUDDI is deployed by tomcat :
<code>
SEVERE: Exception sending context initialized event to listener instance of
class org.springframework.web.context.ContextLoaderListenerSEVERE: Exception
sending context initialized event to listener instance of class
org.springframework.web.context.ContextLoaderListenerorg.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'inquiry': Cannot create inner bean '(inner
bean)#fa6535a' of type [org.apache.juddi.api.impl.UDDIInquiryImpl] while
setting constructor argument; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name '(inner bean)#fa6535a': Instantiation of bean failed; nested
exception is org.springframework.beans.BeanInstantiationException: Failed to
instantiate [org.apache.juddi.api.impl.UDDIInquiryImpl]: Constructor threw
exception; nested exception is <openjpa-2.3.0-r422266:1540826 nonfatal general
error> org.apache.openjpa.persistence.PersistenceException: The object
'PK__j3_clerk__5609ADDDCF01D08E' is dependent on column 'clerk_name'. \{stmnt
1807668378 ALTER TABLE j3_clerk DROP COLUMN clerk_name} [code=5074,
state=S0001] at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:389)
at
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:134)
at
org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:691)
at
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1358)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1204)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:557)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517)
at
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323)
at
org.springframework.beans.factory.support.AbstractBeanFactory$$Lambda$208/1654431226.getObject(Unknown
Source) at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:879)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:878)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
at
org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401)
at
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292)
at
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5118)
at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5641)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1015)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:991) at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652) at
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1296) at
org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:2038)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at
java.util.concurrent.FutureTask.run(FutureTask.java:266) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
</code>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)