Mail Archive Home | exoplatform List | January 2008 Index
| <-- Date Index --> | <-- Thread Index --> |
Vitaly,
Thanks for the quick reply. You were right – I missed that change in database-configuration.xml. The dialect also needed to be changed in two other config files: conf/jcr/jcr-configuration.xml and conf/jcr/repository-configuration.xml. It'd be nice if changing the info in one file was sufficient J.
At any rate, eXo is now having a problem creating keys in tables:
2008/01/28 12:33:52:500 EST [INFO] JDBCWorkspaceDataContainer - Using a dialect 'MySQL'
…
2008/01/28 12:33:52:546 EST [ERROR] JDBCWorkspaceDataContainer - Error of init db org.exoplatform.services.jcr.
ength is 765 bytes; . Last command: CREATE UNIQUE INDEX JCR_IDX_SITEM_PARENT ON JCR_SITEM(CONTAINER_NAME, PAREN
f DataSource: 'system'. Reason: Specified key was too long; max key length is 765 bytes; . Last command: CREATE
orage.jdbc.init.DBInitializerException: Could not create db schema of DataSource: 'system'. Reason: Specified k
AME, I_INDEX, I_CLASS, VERSION)
at org.exoplatform.services.jcr.impl.storage.jdbc.init.DBInitializer.init(DBInitializer.java:292)
at org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer.initDatabase(JDBCWorkspace
at org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer.<init>(JDBCWorkspaceDataCo
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.exoplatform.container.ExoContainer.createComponent(ExoContainer.java:131)
at org.exoplatform.container.jmx.MX4JComponentAdapter.getComponentInstance(MX4JComponentAdapter.java:57
at org.picocontainer.defaults.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:322)
at org.picocontainer.defaults.DefaultPicoContainer.getComponentInstanceOfType(DefaultPicoContainer.java
at org.exoplatform.services.jcr.impl.RepositoryContainer.registerWorkspace(RepositoryContainer.java:155
at org.exoplatform.services.jcr.impl.RepositoryContainer.registerWorkspacesComponents(RepositoryContain
at org.exoplatform.services.jcr.impl.RepositoryContainer.registerComponents(RepositoryContainer.java:32
at org.exoplatform.services.jcr.impl.RepositoryContainer.<init>(RepositoryContainer.java:93)
at org.exoplatform.services.jcr.impl.RepositoryServiceImpl.createRepository(RepositoryServiceImpl.java:
at org.exoplatform.services.jcr.impl.RepositoryServiceImpl.init(RepositoryServiceImpl.java:272)
at org.exoplatform.services.jcr.impl.RepositoryServiceImpl.start(RepositoryServiceImpl.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.picocontainer.defaults.LifecycleVisitor.traverse(LifecycleVisitor.java:75)
at org.picocontainer.defaults.LifecycleVisitor.start(LifecycleVisitor.java:113)
at org.picocontainer.defaults.DefaultPicoContainer.start(DefaultPicoContainer.java:369)
at org.exoplatform.container.PortalContainer.start(PortalContainer.java:84)
at org.exoplatform.container.RootContainer.createPortalContainer(RootContainer.java:103)
at org.exoplatform.portal.application.PortalController.init(PortalController.java:65)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.sql.SQLException: Specified key was too long; max key length is 765 bytes
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1666)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2988)
at com.mysql.jdbc.Statement.executeUpdate(Statement.java:935)
at com.mysql.jdbc.Statement.executeUpdate(Statement.java:873)
at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:225)
at org.exoplatform.services.jcr.impl.storage.jdbc.init.DBInitializer.init(DBInitializer.java:263)
... 53 more
Any ideas?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kito D. Mann - Author, JavaServer Faces in Action
http://www.virtua.com - JSF/Java EE consulting, training, and mentoring
http://www.JSFCentral.com - JavaServer Faces FAQ, news, and info
phone: +1 203-653-2989
fax: +1 203-653-2988
From: Vitaliy Obmanyuk [mailto:vetalok@xxxxxxxxx]
Sent: Monday, January 28, 2008 11:18 AM
To: kmann@xxxxxxxxxx
Cc: exoplatform@xxxxxxx; exo-portal@xxxxxxx
Subject: Re: [exoplatform] problems with MySQL
Hello Kito,
you wrote:
...
<property name="driverClassName" value="org.hsqldb.jdbcDriver"/><property name="url" value="jdbc:mysql://localhost:3307/exo2?relaxAutoCommit=true&autoReconnect=true&useUnicode=true&characterEncoding=utf8"/>
you should use mysql DB driver instead of
<property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
please look into workspace configuration, there should be mysql dialect:
<property name="dialect" value="mysql" />
HTH2008/1/28, Kito D. Mann <kmann@xxxxxxxxxx>:
Hello,
I'm working with eXo 2 r2329 on Windows XP and when I tried to switch from Hypersonic to MySQL 5.0.24a, I got the following exception:
ERROR: cannot create portal container. ServletContext: org.apache.catalina.core.ApplicationContextFacade@423da9
java.lang.RuntimeException: Cannot instantiate component class org.exoplatform.services.jcr.impl.RepositoryServiceImpl
at org.exoplatform.container.jmx.MX4JComponentAdapter.getComponentInstance(MX4JComponentAdapter.java:76)
at org.picocontainer.defaults.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:322)
at org.picocontainer.defaults.DefaultPicoContainer.getComponentInstancesOfType(DefaultPicoContainer.java:281)
at org.exoplatform.container.PortalContainer.getComponentInstancesOfType(PortalContainer.java:112)
at org.picocontainer.defaults.LifecycleVisitor.visitContainer(LifecycleVisitor.java:97)
at org.picocontainer.defaults.DefaultPicoContainer.accept(DefaultPicoContainer.java:416)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.picocontainer.defaults.AbstractPicoVisitor.traverse(AbstractPicoVisitor.java:32)
at org.picocontainer.defaults.LifecycleVisitor.traverse(LifecycleVisitor.java:63)
at org.picocontainer.defaults.LifecycleVisitor.start(LifecycleVisitor.java:113)
at org.picocontainer.defaults.DefaultPicoContainer.start(DefaultPicoContainer.java:369)
at org.exoplatform.container.PortalContainer.start(PortalContainer.java:84)
at org.exoplatform.container.RootContainer.createPortalContainer(RootContainer.java:103)
at org.exoplatform.portal.application.PortalController.init(PortalController.java:65)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4044)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1023)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1015)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.RuntimeException: Cannot instantiate component class org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl
at org.exoplatform.container.jmx.MX4JComponentAdapter.getComponentInstance(MX4JComponentAdapter.java:76)
at org.picocontainer.defaults.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:322)
at org.picocontainer.defaults.DefaultPicoContainer.getComponentInstanceOfType(DefaultPicoContainer.java:313)
at org.exoplatform.container.ExoContainer.createComponent(ExoContainer.java:123)
at org.exoplatform.container.jmx.MX4JComponentAdapter.getComponentInstance(MX4JComponentAdapter.java:57)
... 42 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.exoplatform.container.ExoContainer.createComponent(ExoContainer.java:131)
at org.exoplatform.container.jmx.MX4JComponentAdapter.getComponentInstance(MX4JComponentAdapter.java:57)
... 46 more
Caused by: org.exoplatform.services.jcr.config.RepositoryConfigurationException: Fail to init from xml! Reason: org.exoplatform.services.jcr.config.RepositoryConfigurationException: Database exception. java.sql.SQLException: Column length too big for colu
mn 'CONFIG' (max = 65535); use BLOB or TEXT instead. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) NOT NULL, CONFIG VARBINARY(102400) NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME))
at org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl.<init>(RepositoryServiceConfigurationImpl.java:98)
... 52 more
Caused by: org.exoplatform.services.jcr.config.RepositoryConfigurationException: Database exception. java.sql.SQLException: Column length too big for column 'CONFIG' (max = 65535); use BLOB or TEXT instead. SQL: CREATE TABLE JCR_CONFIG (NAME VARCHAR(64) N
OT NULL, CONFIG VARBINARY(102400) NOT NULL, CONSTRAINT JCR_CONFIG_PK PRIMARY KEY(NAME))
at org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister.write(JDBCConfigurationPersister.java:271)
at org.exoplatform.services.jcr.impl.config.RepositoryServiceConfigurationImpl.<init>(RepositoryServiceConfigurationImpl.java:90)
... 52 more
Caused by: java.sql.SQLException: Column length too big for column 'CONFIG' (max = 65535); use BLOB or TEXT instead
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1571)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1666)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2988)
at com.mysql.jdbc.Statement.executeUpdate(Statement.java:935)
at com.mysql.jdbc.Statement.executeUpdate(Statement.java:873)
at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:225)
at org.exoplatform.services.jcr.impl.config.JDBCConfigurationPersister.write(JDBCConfigurationPersister.java:226)
... 53 more
I have modified database-configuration.xml in the porta/WEB-INF/conf/database directory:
<?xml version="1.0" encoding="ISO-8859-1"?>
<configuration>
<component>
<key>org.exoplatform.services.database.impl.ExoCacheProvider</key>
<type>org.exoplatform.services.database.impl.ExoCacheProvider</type>
</component>
<component>
<key>org.exoplatform.services.database.HibernateService</key>
<jmx-name>database:type=HibernateService</jmx-name>
<type>org.exoplatform.services.database.impl.HibernateServiceImpl</type>
<init-params>
<properties-param>
<name>hibernate.properties</name>
<description>Default Hibernate Service</description>
<property name="hibernate.show_sql" value="false"/>
<property name="hibernate.cglib.use_reflection_optimizer" value="true"/>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3307/exo2?relaxAutoCommit=true&autoReconnect=true&useUnicode=true&characterEncoding=utf8"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.autocommit" value="true"/>
<property name="hibernate.connection.username" value="name"/>
<property name="hibernate.connection.password" value="password"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.c3p0.min_size" value="5"/>
<property name="hibernate.c3p0.max_size" value="20"/>
<property name="hibernate.c3p0.timeout" value="1800"/>
<property name="hibernate.c3p0.max_statements" value="50"/>
</properties-param>
</init-params>
</component>
<external-component-plugins>
<target-component>org.exoplatform.services.naming.InitialContextInitializer</target-component>
<component-plugin>
<name>bind.datasource</name>
<set-method>addPlugin</set-method>
<type>org.exoplatform.services.naming.BindReferencePlugin</type>
<init-params>
<value-param>
<name>bind-name</name>
<value>jdbcexo</value>
</value-param>
<value-param>
<name>class-name</name>
<value>javax.sql.DataSource</value>
</value-param>
<value-param>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</value-param>
<properties-param>
<name>ref-addresses</name>
<description>ref-addresses</description>
<property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
<property name="url" value="jdbc:mysql://localhost:3307/exo2?relaxAutoCommit=true&autoReconnect=true&useUnicode=true&characterEncoding=utf8"/>
<property name="username" value="name"/>
<property name="password" value="password"/>
</properties-param>
</init-params>
</component-plugin>
</external-component-plugins>
</configuration>
</configuration>
And, of course, everything was fine before I changed this file to point to MySQL instead of Hypersonic. The database does actually exist, and the user has the proper rights. However, no tables have been created.
Any ideas?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kito D. Mann - Author, JavaServer Faces in Action
http://www.virtua.com - JSF/Java EE consulting, training, and mentoring
http://www.JSFCentral.com - JavaServer Faces FAQ, news, and info
phone: +1 203-653-2989
fax: +1 203-653-2988
--
You receive this message as a subscriber of the exoplatform@xxxxxxx mailing list.
To unsubscribe: mailto:exoplatform-unsubscribe@xxxxxxx
For general help: mailto:sympa@xxxxxxx?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
--
Best regards,
Vitaliy
--
You receive this message as a subscriber of the exoplatform@xxxxxxx mailing list.
To unsubscribe: mailto:exoplatform-unsubscribe@xxxxxxx
For general help: mailto:sympa@xxxxxxx?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
| <-- Date Index --> | <-- Thread Index --> |
Powered by MHonArc.
Copyright © 2006-2007, OW2 Consortium | contact | webmaster.