"Could not find datasource" error with Nuxeo 5.6-RC2

Hi,

I upgraded my custom nuxeo distribution to nuxeo-5.6-RC2 and I am getting the following stacktraces at nuxeo startup. Are there any new variables to define in my custom template I shoud define ? FYI I redefined variable nuxeo.db.name to 'nuxeo-5.6' to point to another DB, should I redefine another variable ?

2012-08-01 09:20:10,402 ERROR [org.hibernate.connection.DatasourceConnectionProvider] Could not find datasource: java:comp/env/jdbc/nxuidsequencer
javax.naming.NameNotFoundException: Le Nom jdbc n'est pas lié à ce Contexte
    at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
    at org.apache.naming.factory.ResourceLinkFactory.getObjectInstance(ResourceLinkFactory.java:97)
    at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
    at org.apache.naming.SelectorContext.lookup(SelectorContext.java:152)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:75)
    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:137)
    at org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:29)
    at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:89)
    at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
    at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
    at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
    at org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:646)
    at org.nuxeo.ecm.core.persistence.HibernateConfiguration$1.run(HibernateConfiguration.java:153)
2012-08-01 09:20:10,462 WARN  [org.hibernate.ejb.Ejb3Configuration] Overriding hibernate.transaction.factory_class is dangerous, this might break the EJB3 specification implementation
2012-08-01 09:20:10,480 ERROR [org.hibernate.connection.DatasourceConnectionProvider] Could not find datasource: java:comp/env/jdbc/placeful_service_ds
javax.naming.NameNotFoundException: Le Nom jdbc n'est pas lié à ce Contexte
    at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
    at org.apache.naming.factory.ResourceLinkFactory.getObjectInstance(ResourceLinkFactory.java:97)
    at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
    at org.apache.naming.SelectorContext.lookup(SelectorContext.java:152)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:75)
    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:137)
    at org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:29)
    at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:89)
    at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
    at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
    at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
    at org.hibernate.ejb.Ejb3Configuration.createEntityManagerFactory(Ejb3Configuration.java:646)
    at org.nuxeo.ecm.core.persistence.HibernateConfiguration$1.run(HibernateConfiguration.java:153)
0 votes

1 answers

2157 views

ANSWER



First check your configuration by running ./bin/nuxeoctl showconf

Then check in $NUXEO_HOME/conf/server.xml the value of the generated “Common datasource for all basic nuxeo datasources”:

    <Resource name="jdbc/nuxeo" auth="Container" type="javax.sql.DataSource"
    maxActive="100" maxIdle="30" maxWait="10000"
    driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
    **url="jdbc:derby:/.../nxserver/data/derby/nuxeo;create=true"** validationQuery=""
    **username="sa"** **password=""** />

Is there any trailing variable which has not been replaced with a value? Do the parameters I surrounded with asterisks seem correct?

Optionally also check the content of $NUXEO_HOME/conf/Catalina/localhost/nuxeo.xml.

0 votes



Strange, I don't find the piece of XML you mentioned in my server.xml … Nevertheless, I find the string "Common datasource for all basic nuxeo datasources" in $NUXEO_HOME/templates/common-base/conf/server.xml.nxftl … Another strange thing, there's a file named 'server.xml.nx.nxftl' in directory $NUXEO_HOME/templates/common-base/conf/ … Is it a typo ?
08/01/2012

I forgot to mention that I am using postgresql template. Here are the templates I use (bin/nuxeo.conf) : nuxeo.templates=postgresql,my-custom-template,dam,collaboration
08/01/2012

OK, problem solved : I had a conf/server.xml file in my custom template, which is missing the piece of XML you mentionned. Thanks anyway.
08/01/2012