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

Vincent_Dutat
Confirmed Champ
Confirmed Champ

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)
1 ACCEPTED ANSWER

Julien_Carsique
Elite Collaborator
Elite Collaborator

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.

View answer in original post

4 REPLIES 4

Julien_Carsique
Elite Collaborator
Elite Collaborator

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.

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 ?

I forgot to mention that I am using postgresql template.

OK, problem solved