Forums

Home » Liferay Portal » Español » 3. Desarrollo

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Enrique José Jiménez Curado
org.hibernate.jdbc.ConnectionWrapper is not visible from class loader
March 11, 2011 2:51 AM
Answer

Enrique José Jiménez Curado

Rank: Junior Member

Posts: 25

Join Date: July 4, 2007

Recent Posts

Buenas,

Estoy teniendo problemas con mis portlets WAR e hibernate. Os pongo en contexto, tengo montada la capa de DAO con Spring 3 + Hibernate 3 + JPA entities, y tengo varios portlets, unos 6 o 7, todos WAR, en Liferay 6.0.5 desplegados. Cuando hago los tests con Junit levantando el contexto de Spring todo me va de maravilla, pero cuando despliego los portlets tengo excepciones en Hibernate, y además curiosamente estas excepciones me salen en algunos portlets sí y en otros no, tirandos todos del mismo "dao.jar" que está alojado en el WEB-INF/lib de cada portlet. La excepción es:

  111 mar 2011 10:50:05,015 ERROR [org.springframework.web.portlet.FrameworkPortlet: 559] Could not complete request
  2org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is java.lang.IllegalArgumentException: interface org.hibernate.jdbc.ConnectionWrapper is not visible from class loader
  3    at org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:596)
  4    at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:371)
  5    at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:316)
  6    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:105)
  7    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
  8    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
  9    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
 10    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
 11    at $Proxy812.getAllDepartments(Unknown Source)
 12    at com.lgees.intranet.portlet.sms.controllers.SmsFormController.selectAjax(SmsFormController.java:89)
 13    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 14    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 15    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 16    at java.lang.reflect.Method.invoke(Method.java:597)
 17    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:175)
 18    at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:357)
 19    at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.doHandle(AnnotationMethodHandlerAdapter.java:345)
 20    at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.handleRender(AnnotationMethodHandlerAdapter.java:288)
 21    at org.springframework.web.portlet.DispatcherPortlet.doRenderService(DispatcherPortlet.java:740)
 22    at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:522)
 23    at org.springframework.web.portlet.FrameworkPortlet.doDispatch(FrameworkPortlet.java:470)
 24    at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
 25    at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:101)
 26    at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64)
 27    at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:652)
 28    at com.liferay.portlet.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:723)
 29    at com.liferay.portlet.InvokerPortletImpl.render(InvokerPortletImpl.java:425)
 30    at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:1440)
 31    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
 32    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 33    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
 34    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
 35    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
 36    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 37    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 38    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 39    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
 40    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
 41    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
 42    at com.liferay.portal.util.PortalImpl.renderPortlet(PortalImpl.java:3723)
 43    at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:1180)
 44    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:160)
 45    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:81)
 46    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:68)
 47    at com.liferay.portlet.layoutconfiguration.util.velocity.PortletLogic.processContent(PortletLogic.java:74)
 48    at com.liferay.portlet.layoutconfiguration.util.velocity.TemplateProcessor.processMax(TemplateProcessor.java:83)
 49    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 50    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 51    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 52    at java.lang.reflect.Method.invoke(Method.java:597)
 53    at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
 54    at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
 55    at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
 56    at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:262)
 57    at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:342)
 58    at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
 59    at org.apache.velocity.Template.merge(Template.java:328)
 60    at org.apache.velocity.Template.merge(Template.java:235)
 61    at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:381)
 62    at com.liferay.portal.velocity.VelocityEngineImpl.mergeTemplate(VelocityEngineImpl.java:155)
 63    at com.liferay.portal.kernel.velocity.VelocityEngineUtil.mergeTemplate(VelocityEngineUtil.java:61)
 64    at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:224)
 65    at org.apache.jsp.html.portal.layout.view.portlet_jsp._jspService(portlet_jsp.java:759)
 66    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
 67    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 68    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
 69    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
 70    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
 71    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 72    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 73    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 74    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
 75    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
 76    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
 77    at com.liferay.portal.action.LayoutAction.includeLayoutContent(LayoutAction.java:361)
 78    at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:618)
 79    at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:229)
 80    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
 81    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
 82    at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:152)
 83    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
 84    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
 85    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
 86    at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:508)
 87    at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:485)
 88    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 89    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 90    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 91    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
 92    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
 93    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 94    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 95    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
 96    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
 97    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 98    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 99    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
100    at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:309)
101    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
102    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
103    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
104    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
105    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
106    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
107    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
108    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
109    at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:137)
110    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
111    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
112    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
113    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
114    at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:182)
115    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
116    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
117    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
118    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
119    at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:254)
120    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
121    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
122    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
123    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
124    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
125    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
126    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
127    at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:133)
128    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
129    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
130    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
131    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
132    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
133    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
134    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
135    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
136    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
137    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
138    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
139    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
140    at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:261)
141    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
142    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
143    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
144    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
145    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
146    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
147    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
148    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
149    at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:126)
150    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
151    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
152    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
153    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
154    at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:182)
155    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
156    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
157    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
158    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
159    at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:221)
160    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
161    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
162    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
163    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
164    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
165    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
166    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
167    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
168    at com.liferay.portal.servlet.filters.cache.CacheFilter.processFilter(CacheFilter.java:440)
169    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
170    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
171    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
172    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
173    at com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(ETagFilter.java:45)
174    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
175    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
176    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
177    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
178    at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:254)
179    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
180    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
181    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
182    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
183    at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:81)
184    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
185    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
186    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
187    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
188    at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:179)
189    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
190    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
191    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
192    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
193    at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:239)
194    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
195    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
196    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
197    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
198    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
199    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
200    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
201    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
202    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:126)
203    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
204    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
205    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
206    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
207    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
208    at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:196)
209    at com.liferay.portal.servlet.filters.threadlocal.ThreadLocalFilter.processFilter(ThreadLocalFilter.java:35)
210    at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:123)
211    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
212    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
213    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
214    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
215    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
216    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
217    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
218    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
219    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
220    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
221    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
222    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
223    at java.lang.Thread.run(Thread.java:619)
224Caused by: java.lang.IllegalArgumentException: interface org.hibernate.jdbc.ConnectionWrapper is not visible from class loader
225    at java.lang.reflect.Proxy.getProxyClass(Proxy.java:353)
226    at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581)
227    at org.hibernate.jdbc.BorrowedConnectionProxy.generateProxy(BorrowedConnectionProxy.java:91)
228    at org.hibernate.jdbc.ConnectionManager.borrowConnection(ConnectionManager.java:186)
229    at org.hibernate.jdbc.JDBCContext.borrowConnection(JDBCContext.java:134)
230    at org.hibernate.impl.SessionImpl.connection(SessionImpl.java:386)
231    at org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:563)
232    ... 220 more


Ya he estado leyendo en otros foros tanto de Liferay como de Hibernate que eso es debido muy probablemente a que mis portlets están viendo a la vez librerías repetidas de hibernate, y yo presupongo que las que ve son las que tienen en "WEB-INF/lib" cada portlet y por otro lado las que están en el propio Liferay en ${liferay-tomcat-server-6.0.5}/webapps/ROOT/WEB-INF/lib.

Añado también que en el fichero META-INF/context.xml de mis portlets he quitado el PortalClassLoader pensando que es el culpable de que mis portlets vean las librerías de Liferay pero no parece la solución.

1<Context>
2    <Loader loaderClass="com.liferay.support.tomcat.loader.PortalClassLoader" />
3</Context>


Mis dudas son, ¿por qué me ocurre en unos portlets sí y en otros no?, ¿puedo hacer que los portlets míos no vean ninguna librería del portal ya que son totalmente independientes y llevan sus propias liberías?

Muchas gracias.
Miguel Ángel Pastor Olivar
RE: org.hibernate.jdbc.ConnectionWrapper is not visible from class loader
March 11, 2011 3:26 AM
Answer

Miguel Ángel Pastor Olivar

LIFERAY STAFF

Rank: New Member

Posts: 24

Join Date: March 1, 2011

Recent Posts

Hola Enrique,

Todo parece indicar que es un problema de classloaders aunque tampoco estoy 100% seguro si he entendido tu pregunta emoticon.

Los classloader en Tomcat 6 presentan la siguiente jerarquía

Bootstrap
|
System
|
Common
|
/ \
Webapp1 Webapp2

Bootstrap: Clases de la máquina virtual más aquellas que pudieran estar presentes en $JAVA_HOME/jre/lib/ext

System: Contiene aquellas clases definidas en la variable de entorno CLASSPATH. Tomcat 5 pasa de esta variable y carga las clases siguiendo un conjunto de pasos determinado (está en la documentación pero tampoco viene al caso las clases que carga porque carecen de importancia para el problema que tenemos entre manos)

Common: Clases visibles para tomcat y las aplicaciones web. No deberían colocarse clases de aplicación en este classloader (contiene clases como el compilador de jsps, temas relativos a jndi, etc)

WebappX: Cada aplicación web tiene su propio classloader, de manera que las clases confinadas en este classloader no podrán ser vistas desde otra aplicación web.

Resumiendo (después del rollo anterior), desde el punto de vista de una aplicación web tradicional, el flujo de búsqueda para cargar una clase o un recurso seguiría la siguiente secuencia de pasos (en el orden que se indica):

Bootstrap classes de la JVM

-- Clases cargadas por el classloader System que hemos visto antes
-- /WEB-INF/classes de tu aplicación web
-- /WEB-INF/lib/*.jar de tu aplicación web
-- $CATALINA_HOME/lib
-- $CATALINA_HOME/lib/*.jar

Independientemente del rollazo anterior, y hasta donde yo sé, la excepción que te está dando se producía en algunas versiones de Hibernate (anteriores a 3.3.2 creo recordar). ¿Qué version de Hibernate tienes en tu app?
Enrique José Jiménez Curado
RE: org.hibernate.jdbc.ConnectionWrapper is not visible from class loader
March 11, 2011 4:06 AM
Answer

Enrique José Jiménez Curado

Rank: Junior Member

Posts: 25

Join Date: July 4, 2007

Recent Posts

Buenas Miguel,

Es cierto que tenía una versión inferior a la 3.3.2, pero la he subido, he tirado el servidor, he borrado uno de los portlets que me da el problema para que no me queden residuos y lo he redespelgado en Liferay, y me sigue saliendo el mismo error. La misma traza exactamente.

Mis librerías ahora son:

1hibernate-annotations-3.4.0.GA.jar
2hibernate-commons-annotations-3.1.0.GA.jar
3hibernate-core-3.3.2.GA.jar
4hibernate-entitymanager-3.4.0.GA.jar
5hibernate-jpa-2.0-api-1.0.0.Final.jar



Lo que te comento del ClassLoader, es que Liferay tiene la clase "com.liferay.support.tomcat.loader.PortalClassLoader" alojada en la librería ${liferay-portal-6.0.5}\tomcat-6.0.26\lib\ext\support-tomcat.jar que creo que lo que hace, al menos en versiones anteriores lo hacía, es dar visibilidad al ClassLoader del propio Liferay a nivel de servidor, y eso creo que es lo que está haciendo que mis portlets vean sus librerías y las del propio Portal.

Me podrías decir, pues si ves la del portal, quita las tuyas y usa las del portal, la respuesta es NO PUEDO, porque al desplegarse el portlet, SPRING solicita que las librerías de Hibernate estén dentro del WEB-INF/lib ya que me da la típica excepción ClassNotFoundException, lo que me descuadra totalmente, en el sentido de que no sé si realmente ve o no ve las citadas librerías del portal, aunque lo que encuentro en los foros es que ese tipo de Excepción se da por duplicado de librerías de hibernate.

emoticon

Muchas gracias.
Miguel Ángel Pastor Olivar
RE: org.hibernate.jdbc.ConnectionWrapper is not visible from class loader
March 11, 2011 4:57 AM
Answer

Miguel Ángel Pastor Olivar

LIFERAY STAFF

Rank: New Member

Posts: 24

Join Date: March 1, 2011

Recent Posts

Hola de nuevo Enrique,

Entiendo entonces que tienes definido en el context.xml de tus portlets la clase com.liferay.support.tomcat.loader.PortalClassLoader. ¿Estoy equivocado?

Si no te hace falta ver ninguna de las clases del portal no hagas que tu portlet tenga visibilidad sobre las mismas (eliminando ese classloader de tu configuración).

Sin la configuración anterior, y teóricamente emoticon, si no configuras el classloader anterior tus portlets se cargarán en un classloader de tomcat de tipo WebclassLoader (no recuerdo el tipo exacto, creo que se llama así) y no debería existir ningún problema porque todas tus clases estarían en el classloader de cada uno de tus portlets.

Un saludo,

Migue
Miguel Ángel Pastor Olivar
RE: org.hibernate.jdbc.ConnectionWrapper is not visible from class loader
March 11, 2011 5:04 AM
Answer

Miguel Ángel Pastor Olivar

LIFERAY STAFF

Rank: New Member

Posts: 24

Join Date: March 1, 2011

Recent Posts

Se me olvidó en el email anterior,

El problema de tener dos jar (supongamos A y emoticon con las mismas clases en el mismo classloader es que es completamente indefinido qué clase te va a cargar (en unas ocasiones te cargará la del jar A , en otras ocasiones te cargará la del jar emoticon.
Enrique José Jiménez Curado
RE: org.hibernate.jdbc.ConnectionWrapper is not visible from class loader
March 11, 2011 5:37 AM
Answer

Enrique José Jiménez Curado

Rank: Junior Member

Posts: 25

Join Date: July 4, 2007

Recent Posts

Ya he quitado el PortalClassLoader de Lideray, lo pongo remarcado en negrita en la primera entrada del hilo... ;)

Precisamente eso es lo extraño, que ve las librerías SÍ o SÍ, me tiene frito, además sí te fijas Liferay 6 tiene portlets WAR como el de chato y otros, que sí miras su WEB-INF/lib apenas tienen librerías y funcionan perfectamente, lo que me da a entender que las ven en el propio portal.