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

Spring Java Discussion :

[hibernate]tomcat -> websphere


Sujet :

Spring Java

  1. #1
    Invité
    Invité(e)
    Par défaut [hibernate]tomcat -> websphere
    Bonjour,

    J'ai une application spring tourant sur tomcat.
    Pas de problème jusque la. Mais lorsque je déplois sous websphere, j'obtiens l'erreur suivante:


    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
     
    The following exception was logged org.spr
    ingframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMapping' defined in ServletContext resource [/WEB-INF/SPGMApp-servlet.xm
    l]: Cannot resolve reference to bean 'hibernateInterceptor' while setting bean property 'interceptors'; nested exception is org.springframework.beans.factor
    y.BeanCreationException: Error creating bean with name 'hibernateInterceptor' defined in ServletContext resource [/WEB-INF/SPGMApp-servlet.xml]: Cannot reso
    lve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationExcep
    tion: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/SPGMApp-servlet.xml]: Initialization of bean failed; neste
    d exception is org.hibernate.HibernateException: Unable to copy listeners
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateInterceptor' defined in ServletContext resource [/WEB-INF/S
    PGMApp-servlet.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework
    .beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/SPGMApp-servlet.xml]: Init
    ialization of bean failed; nested exception is org.hibernate.HibernateException: Unable to copy listeners
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/SPGMApp
    -servlet.xml]: Initialization of bean failed; nested exception is org.hibernate.HibernateException: Unable to copy listeners
    org.hibernate.HibernateException: Unable to copy listeners
            at org.hibernate.util.Cloneable.copyListeners(Cloneable.java:81)
            at org.hibernate.util.Cloneable.access$000(Cloneable.java:18)
            at org.hibernate.util.Cloneable$1.run(Cloneable.java:33)
            at java.security.AccessController.doPrivileged(Native Method)
            at org.hibernate.util.Cloneable.shallowCopy(Cloneable.java:30)
            at org.hibernate.cfg.Configuration.getInitializedEventListeners(Configuration.java:1185)
            at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1176)
            at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:825)
    On peut voir qu'il y a un probleme avec LocalSessionFactoryBean.
    Celui-ci prend un fichier Configuration en argument. A mon avis il n'est pas correctement initialisé.

    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    <!-- Hibernate SessionFactory -->
    	<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    		<property name="dataSource">
    			<ref local="dataSource" />
    		</property>		
     
    		<property name="lobHandler">
    			<ref local="oracleLobHandler" />
    		</property>
     
     
    		<property name="mappingResources">
    			<list>				
    				<value>com/business/spg/domain/Issue.hbm.xml</value>
    				<value>com/ebusiness/spg/ext/vo/File.hbm.xml</value>
    				<value>com/ebusiness/spg/ext/vo/FileType.hbm.xml</value>
    				<value>com/ebusiness/spg/ext/vo/FileCategory.hbm.xml</value>
    				<value>com/ebusiness/spg/domain/Category.hbm.xml</value>
    				<value>com/ebusiness/spg/domain/CategoryDocument.hbm.xml</value>
    				<value>com/ebusiness/spg/domain/Country.hbm.xml</value>
    				<value>com/ebusiness/spg/domain/Currency.hbm.xml</value>
    				<value>com/ebusiness/spg/domain/Context.hbm.xml</value>
    				<value>com/ebusiness/spg/domain/Language.hbm.xml</value>				
    				<value>com/ebusiness/spg/domain/News.hbm.xml</value>				
    				<value>com/ebusiness/spg/domain/ProductType.hbm.xml</value>
    				<value>com/ebusiness/spg/domain/RiskCategory.hbm.xml</value>
    				<value>com/ebusiness/spg/domain/UnderlyingType.hbm.xml</value>
    			</list>
    		</property>
    		<property name="hibernateProperties">
    			<props>
     
    				<prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
    				<!-- Echo all executed SQL to stdout -->
    				<prop key="show_sql">false</prop>
    				<prop key="cache.use_query_cache">true</prop>
    				<!-- Force to flush() after changes ?
    				<prop key="transaction.auto_close_session">false</prop> -->
    				<!-- Disable the second-level cache-->
    				<prop key="hibernate.cache.use_second_level_cache">false</prop>
    				<!-- Enable Hibernate's automatic session context management 				
    					<prop key="current_session_context_class">thread</prop>-->
    				<!-- JDBC connection pool (use the built-in) 
    					<prop key="connection.pool_size">1</prop> -->
    			</props>
    		</property>
    	</bean>
     
    	<!-- Transaction manager for a single Hibernate SessionFactory -->
    	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    		<property name="sessionFactory">
    			<ref local="sessionFactory" />
    		</property>
    	</bean>
     
    	<!-- Use this one under WebSphere 5 -->
    	<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    		<property name="jndiName">
    			<value>jdbc/defaultdatasource</value>
    		</property>
    	</bean>
    Pensez-vous qu'il puisse s'agir d'un problème de permission ? Faut-il configurer qqch de particuler pour hibernate sous websphere ?
    Merci d'avance pour vos lumière
    septentryon
    Dernière modification par Invité ; 27/09/2006 à 17h09.

  2. #2
    Invité
    Invité(e)
    Par défaut
    je viens d'ajouter la fichier was.policy dans le ear avec les infos que j'ai pu trouvé sur http://www.hibernate.org/294.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    grant {
    // From documentation : http://www.hibernate.org/294.html
    // definitely needed for Hibernate
    permission java.util.PropertyPermission "*", "read,write";
    permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
     
    // needed for other libraries in my app, maybe Hibernate
    permission java.lang.RuntimePermission "accessDeclaredMembers";
    };
    Mais cela ne change rien au problème...

  3. #3
    ego
    ego est déconnecté
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    1 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 883
    Points : 3 510
    Points
    3 510
    Billets dans le blog
    2
    Par défaut
    As-tu regardé côté classloading ?
    Comment est packagée ton appli et les librairies Spring ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    C'est une idée mais que dois-je regarder ? Comment vérifier que le classloading est ok ou pas ?

    Je viens de trouver ceci :http://forum.springframework.org/arc...p/t-12358.html
    Qui explique que l'on peut changer classloader mode to "PARENT_LAST" dans la config websphere. J'ai également essayé de changer les règles pour le chargeur de classes WAR en "application".

    Toujours la même erreur. C'est étrange
    Dernière modification par Invité ; 28/09/2006 à 08h45.

  5. #5
    Invité
    Invité(e)
    Par défaut
    De plus, je suis certain que d'autres classes ont étées chargées avant, comme le datasource par example.
    Par contre je me demande si il n'y a pas qqch avec le security manager de websphere ...
    Dernière modification par Invité ; 28/09/2006 à 10h33.

  6. #6
    Invité
    Invité(e)
    Par défaut
    up ... :-(

Discussions similaires

  1. [spring][hibernate]tomcat -> websphere
    Par Invité dans le forum Websphere
    Réponses: 1
    Dernier message: 30/07/2007, 10h51
  2. [CONFIG] hibernate/ tomcat
    Par bastouffe dans le forum Hibernate
    Réponses: 3
    Dernier message: 29/11/2006, 15h17
  3. Hibernate avec WSAD(WebSphere studio)
    Par djerbi dans le forum Websphere
    Réponses: 1
    Dernier message: 05/09/2006, 15h09
  4. [Hibernate][Tomcat] Select sur tables
    Par parasol007 dans le forum Tomcat et TomEE
    Réponses: 15
    Dernier message: 12/05/2006, 14h01
  5. [Hibernate][Tomcat] Configuration
    Par doublep dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 08/01/2005, 14h10

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