Bonjour,

Mon application WEB doit être migrée sous WAS8.5 et j'utilise le RAD 8.5 de Websphere. Apparemment, la version d'hibernate ne convenais plus pour le type de connection à la base de donnée que l'on utilise. J'utilise donc le jar hibernate-2.1.7c.jar. Cela se lance plutôt bien, seulement cela coince au moment de créer la SessionFactory.

Le code est le suivant:
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
24
 
  public class DatabaseAccessHibernate extends AbstractDatabaseAccess implements Configurable {
 
    ...
    /** The Hibernate session factory. */
    private transient SessionFactory sessionFactory = null;
    ...
 
    private void configureHibernate(
            String implementation,
            String url,
            String user,
            String password,
            PoolConfig poolConfig,
            String driver,
            String dialect,
            String datasource)  throws HibernateException {
      ...
      net.sf.hibernate.cfg.Configuration config  = new net.sf.hibernate.cfg.Configuration();
      config.setProperty("hibernate.connection.datasource",  datasource);	
      sessionFactory = config.buildSessionFactory();   // Là, génération de l'erreur
      ..
 
  }
-----

Le datasource est passé en paramètre et se trouve dans la configuration du Server.

Voici l'erreur renvoyée:
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
[29/07/14 14:55:26:754 CEST] 00000043 SettingsFacto I net.sf.hibernate.cfg.SettingsFactory buildSettings Use outer join fetching: true
[29/07/14 14:55:26:760 CEST] 00000043 NamingHelper  I net.sf.hibernate.util.NamingHelper getInitialContext JNDI InitialContext properties:{}
[29/07/14 14:55:26:774 CEST] 00000043 NamingHelper  E net.sf.hibernate.util.NamingHelper getInitialContext Could not obtain initial context
                                 javax.naming.NoInitialContextException: Cannot instantiate class: com.ibm.websphere.naming.WsnInitialContextFactory [Root exception is java.lang.ClassCastException: com.ibm.websphere.naming.WsnInitialContextFactory incompatible with javax.naming.spi.InitialContextFactory]
	at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
	at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
	at javax.naming.InitialContext.init(Unknown Source)
	at javax.naming.InitialContext.<init>(Unknown Source)
	at net.sf.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
	at net.sf.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:44)
	at net.sf.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:83)
	at net.sf.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:76)
	at net.sf.hibernate.cfg.Configuration.buildSettings(Configuration.java:1160)
	at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:794)
	at be.ing.ipa.database.DatabaseAccessHibernate.configureHibernate(DatabaseAccessHibernate.java:744)
	at be.ing.ipa.database.DatabaseAccessHibernate.refreshConfiguration(DatabaseAccessHibernate.java:610)
	at be.ing.ipa.database.DatabaseAccessHibernate.<init>(DatabaseAccessHibernate.java:274)
	at be.ing.ipa.database.DatabaseAccessHibernate.getInstance(DatabaseAccessHibernate.java:193)
	at be.ing.ipa.database.DatabaseAccessFactory.getDatabaseAccess(DatabaseAccessFactory.java:182)
	at be.ing.ipa.database.CachedDatabaseAccess.refreshConfiguration(CachedDatabaseAccess.java:430)
	at be.ing.ipa.database.CachedDatabaseAccess.<init>(CachedDatabaseAccess.java:186)
	at be.ing.ipa.database.CachedDatabaseAccess.getInstance(CachedDatabaseAccess.java:172)
	at be.ing.ipa.database.DatabaseAccessFactory.getCachedDatabaseAccess(DatabaseAccessFactory.java:202)
	at be.ing.ipa.servlet.IpaListener.contextInitialized(IpaListener.java:156)
	at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1676)
	at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:414)
	at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
	at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169)
	at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)
	at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)
	at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426)
	at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718)
	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1173)
	at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370)
	at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)
	at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968)
	at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:772)
	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2175)
	at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:445)
	at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
	at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:388)
	at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:116)
	at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:994)
	at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:349)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1814)
Caused by: java.lang.ClassCastException: com.ibm.websphere.naming.WsnInitialContextFactory incompatible with javax.naming.spi.InitialContextFactory
	... 41 more
Je suis plutôt nouveau sur ce forum donc si vous trouvez que je ne formule pas assez bien mon problème, n'hésitez pas à me le faire savoir.

Ma question est donc: Quel serait mon problème? Les heures passées sur google ne m'ont pas fort aidé.

Merci D'avance