2015-11-05 1 views
1

Je développe sur WebLogic 12c (12.1.3.0) avec EclipseLink 2.5.2 livré.EclipseLink JPA sur WebLogic 12c conduit à StackOverflowError

J'ai configuré un pool de connexions à une base de données PostgreSQL.

Lorsque je tente d'accéder au @EJB (SLSB) qui contient le @PersistenceContext WebLogic se ferme avec un StackOverflowError alors qu'il tente de rechercher une ressource JNDI. Je pense que c'est la source de données JTA du fichier persistence.xml.

java.lang.StackOverflowError 
    at java.security.AccessController.doPrivileged(Native Method) 
    at com.sun.naming.internal.VersionHelper12.getContextClassLoader(VersionHelper12.java:185) 
    at com.sun.naming.internal.ResourceManager.getFactory(ResourceManager.java:418) 
    at javax.naming.spi.NamingManager.getURLObject(NamingManager.java:592) 
    at javax.naming.spi.NamingManager.getURLContext(NamingManager.java:550) 
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:339) 
    at javax.naming.InitialContext.lookup(InitialContext.java:411) 
    at weblogic.jndi.internal.ApplicationNamingNode.resolveObject(ApplicationNamingNode.java:169) 
    at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:886) 
    at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:219) 
    at weblogic.jndi.internal.ApplicationNamingNode.lookup(ApplicationNamingNode.java:131) 
    at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:253) 
    at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:426) 
    at weblogic.jndi.factories.java.ReadOnlyContextWrapper.lookup(ReadOnlyContextWrapper.java:45) 
    at weblogic.jndi.internal.ApplicationNamingNode.resolveObject(ApplicationNamingNode.java:170) 
[...] 

Est-ce que quelqu'un connaît un tel comportement?

Merci, Stefan

+0

Y a-t-il quelque chose dans la pile qui provoque une sorte de récursivité? Voir http://stackoverflow.com/questions/214741/what-is-a-stackoverflowerror pour savoir ce qu'est un débordement de pile, car vous n'avez pas fourni suffisamment d'informations pour montrer qu'il y a un problème avec le code. Les chances sont, vous n'avez pas assez de mémoire allouée à la JVM exécutant WebLogic – Chris

+0

Merci Chris pour votre commentaire. J'ai résolu StackOverflowError. Vois ma réponse. –

Répondre

0

Je résolu mon problème en augmenter la sortie de débogage du serveur Webogic. Là, j'ai réalisé une mauvaise adresse JNDI pour la recherche JDBC. Il semble que le contexte de persistance a essayé d'utiliser le non-jta-data-source au lieu du jta-data-source du persistence.xml. Ils étaient différents en raison de l'objectif des tests unitaires. J'ai supprimé l'entrée et maintenant l'initialisation des contextes JPA fonctionne.

+0

Si une erreur normale provoque une erreur StackOverflowError sur votre serveur, vous avez également d'autres problèmes liés aux ressources. – Chris