IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Wildfly/JBoss Java Discussion :

[jBPM] JobExecutorThread : Could not find datasource


Sujet :

Wildfly/JBoss Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Points : 445
    Points
    445
    Par défaut [jBPM] JobExecutorThread : Could not find datasource
    J'ai développé une application Web utilisant jBPM 3.2.1 (librairie jbpm-jpdl 3.2.1), déployée sur WAS 5.1.

    jBPM est configuré pour accéder via Hibernate à une base de données Oracle en utilisant une référence locale vers un datasource.

    Jusque là tout va bien, j'accède à la base de données au travers du datasource, jBPM récupère correctement les tâches, etc : donc la configuration est correcte, ainsi que le déploiement.

    Le problème survient lorsque je veut déployer la servlet JobExecutorServlet. Dés son démarrage j'ai une exception me spécifiant que le datasource n'a pu être trouvé, en précisant le nom JNDI de la référence locale au datasource du serveur.

    J'ai donc déployé mon application en ne mettant pas cette servlet en démarrage automatique. Là tout se passe bien, l'application fonctionne en utilisant la référence JNDI vers mon datasource. Mais dés que j'accède à la servlet JobExecutorServlet pour la démarrer j'ai à nouveau cette erreur de NameNotFound, alors que la servlet utilise les mêmes fichiers de configuration que l'application (même si elle instancie sa propre configuration).

    On dirait que la classe JobExecutorThread utilisée par la JobExecutorServlet n'est pas exécutée dans le même contexte que l'application, alors que la servlet est déclarée dans le web.xml où est aussi déclaré la référence local à mon datasource !

    Quelqu'un a-t-il déjà rencontré le problème

    Voici mon fichier jbpm.cfg.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <jbpm-configuration>
    	<jbpm-context>
    		<service name="persistence" factory="org.jbpm.persistence.db.DbPersistenceServiceFactory" />
    		<service name="tx" factory="org.jbpm.tx.TxServiceFactory" />
    		<service name='scheduler' factory='org.jbpm.scheduler.db.DbSchedulerServiceFactory' />
    	</jbpm-context>
     
    	<string name='resource.hibernate.cfg.xml' value='bpm/hibernate.cfg.xml' />
    	<string name='resource.business.calendar' value='org/jbpm/calendar/jbpm.business.calendar.properties' />
    	<string name='resource.default.modules' value='org/jbpm/graph/def/jbpm.default.modules.properties' />
    	<string name='resource.converter' value='org/jbpm/db/hibernate/jbpm.converter.properties' />
    	<string name='resource.action.types' value='org/jbpm/graph/action/action.types.xml' />
    	<string name='resource.node.types' value='org/jbpm/graph/node/node.types.xml' />
    	<string name='resource.varmapping' value='org/jbpm/context/exe/jbpm.varmapping.xml' />
     
    	<!--  taille des colonnes stockant les objets serialises (pas de Blob) -->
    	<int name='jbpm.byte.block.size' value="1024" singleton="true" />
     
    </jbpm-configuration>
    Ainsi que le début du fichier hibernate.cfg.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <hibernate-configuration>
      <session-factory>
     
        <!-- hibernate dialect -->
        <property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
        <property name="hibernate.query.substitutions">true 1, false 0</property>
        <!-- JDBC connection properties (end) -->
     
        <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
    	<property name="hibernate.cglib.use_reflection_optimizer">true</property>
     
        <!-- DataSource properties (begin) -->
        <property name="hibernate.connection.datasource">java:comp/env/jdbc/dsP6</property>
        <!-- DataSource properties (end) -->
     
         <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
    	<property name="current_session_context_class">thread</property>

    Et enfin l'exception retournée par l'application
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Could not find datasource: java:comp/env/jdbc/dsP6
    org.hibernate.connection.DatasourceConnectionProvider  TRAS0014I: L'exception suivante a été consignée : javax.naming.NameNotFoundException: Name comp/env/jdbc not found in context "java:".
    	at com.ibm.ws.naming.ipbase.NameSpace.getParentCtxInternal(NameSpace.java:1663)
    	at com.ibm.ws.naming.ipbase.NameSpace.lookupInternal(NameSpace.java:1009)
    	at com.ibm.ws.naming.ipbase.NameSpace.lookup(NameSpace.java:932)
    	at com.ibm.ws.naming.urlbase.UrlContextImpl.lookup(UrlContextImpl.java:1261)
    	at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:194)
    	at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:135)
    	at javax.naming.InitialContext.lookup(InitialContext.java:361)
    	at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
    	at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
    	at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
    	at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:366)
    	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:60)
    	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1859)
    	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1152)
    	at org.jbpm.persistence.db.DbPersistenceServiceFactory.getSessionFactory(DbPersistenceServiceFactory.java:91)
    	at org.jbpm.persistence.db.DbPersistenceService.getSessionFactory(DbPersistenceService.java:94)
    	at org.jbpm.persistence.db.DbPersistenceService.getSession(DbPersistenceService.java:98)
    	at org.jbpm.persistence.db.DbPersistenceService.getJobSession(DbPersistenceService.java:354)
    	at org.jbpm.JbpmContext.getJobSession(JbpmContext.java:563)
    	at org.jbpm.job.executor.JobExecutorThread.acquireJobs(JobExecutorThread.java:109)
    	at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:56)
    Merci d'avance

    Jacques Desmazières

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 352
    Points : 445
    Points
    445
    Par défaut
    Juste un complément d'information : si je remplace le nom JNDI de ma référence locale au datasource (java:comp/env/jdbc/dsP6) par le nom JNDI du datasource (jdbc/dsOracle) je n'ai plus d'erreur (par contre j'ai WAS qui râle car il n'aime pas les accès directs au datasource sans passer par une référence locale )

    Donc le problème semble vraiment se situer au niveau du contexte d'exécution du JobExecutorThread. Mais je ne vois pas ce que je pourrais modifier dans la configuration

    Jacques Desmazières

Discussions similaires

  1. Tomcat 6, Bonita "Could not find datasource"
    Par jefquebec dans le forum Tomcat et TomEE
    Réponses: 0
    Dernier message: 05/04/2012, 14h51
  2. Could not find datasource [WASCE]
    Par libuma dans le forum Hibernate
    Réponses: 2
    Dernier message: 25/03/2011, 08h38
  3. [JUnit] Could not find datasource
    Par verbose dans le forum Hibernate
    Réponses: 2
    Dernier message: 26/04/2010, 14h42
  4. [Hibernate] : Erreur Could not find datasource
    Par tipaquo dans le forum Hibernate
    Réponses: 2
    Dernier message: 12/10/2005, 10h43
  5. Réponses: 3
    Dernier message: 30/03/2005, 23h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo