the root of the problem is hibernate, resultset
and the methods of org.jboss.resource.adapter.jdbc.WrappedResultSet class.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Precedence: bulk
the root of the problem is hibernate, resultset and=20
the root of the problem is hibernate, resultset and the methods of org.jbo=
ss.resource.adapter.jdbc.WrappedResultSet class.
---------------------------------------------------------------------------=
---------------------------------------------------------------------------=
---------------------------
Key: JBAS-6086
URL:
https://jira.jboss.org/jira/browse/JBAS-6086
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Hibernate service, Transaction Manager (JBossTM)
Affects Versions: JBossAS-4.2.3.GA
Environment: Linux Pardus, Turkish Locale, Java jdk 1.5
Reporter: halil agin
Assignee: Steve Ebersole
Priority: Critical
when
http://localhost:8080/portal is called, the error is printed on the pa=
ge. it is below.
type Exception report
message
description The server encountered an internal error () that prevented it f=
rom fulfilling this request.
exception
javax.servlet.ServletException: org.postgresql.util.PSQLException: Bu Resul=
tSet i=C3=A7inde LISTENER10_0_ s=C3=BCtun ad=C4=B1 bulunamad=C4=B1.
=09org.jboss.portal.server.servlet.PortalServlet.service(PortalServlet.java=
:278)
=09javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
=09org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte=
r.java:96)
root cause
org.postgresql.util.PSQLException: Bu ResultSet i=C3=A7inde LISTENER10_0_ s=
=C3=BCtun ad=C4=B1 bulunamad=C4=B1.
=09org.postgresql.jdbc2.AbstractJdbc2ResultSet.findColumn(AbstractJdbc2Resu=
ltSet.java:2391)
=09org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2Resul=
tSet.java:2210)
=09org.jboss.resource.adapter.jdbc.WrappedResultSet.getString(WrappedResult=
Set.java:888)
=09org.hibernate.type.StringType.get(StringType.java:18)
=09org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
=09org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)
=09org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
=09org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractE=
ntityPersister.java:2096)
=09org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1380)
=09org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308)
=09org.hibernate.loader.Loader.getRow(Loader.java:1206)
=09org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580)
=09org.hibernate.loader.Loader.doQuery(Loader.java:701)
=09org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loade=
r.java:236)
=09org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
=09org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoad=
er.java:48)
=09org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoad=
er.java:42)
=09org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEnti=
tyPersister.java:3044)
=09org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(Defa=
ultLoadEventListener.java:395)
=09org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEvent=
Listener.java:375)
=09org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventLi=
stener.java:139)
=09org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoad=
EventListener.java:195)
=09org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEvent=
Listener.java:103)
=09org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
=09org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:846)
=09org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:557)
=09org.hibernate.type.EntityType.resolve(EntityType.java:379)
=09org.hibernate.type.OneToOneType.assemble(OneToOneType.java:141)
=09org.hibernate.type.TypeFactory.assemble(TypeFactory.java:420)
=09org.hibernate.cache.entry.CacheEntry.assemble(CacheEntry.java:96)
=09org.hibernate.cache.entry.CacheEntry.assemble(CacheEntry.java:82)
=09org.hibernate.event.def.DefaultLoadEventListener.assembleCacheEntry(Defa=
ultLoadEventListener.java:553)
=09org.hibernate.event.def.DefaultLoadEventListener.loadFromSecondLevelCach=
e(DefaultLoadEventListener.java:508)
=09org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEvent=
Listener.java:357)
=09org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventLi=
stener.java:139)
=09org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoad=
EventListener.java:195)
=09org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEvent=
Listener.java:103)
=09org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
=09org.hibernate.impl.SessionImpl.get(SessionImpl.java:815)
=09org.hibernate.impl.SessionImpl.get(SessionImpl.java:808)
=09org.jboss.portal.core.impl.model.portal.PersistentPortalObjectContainer.=
getObjectNode(PersistentPortalObjectContainer.java:296)
=09org.jboss.portal.core.impl.model.portal.PersistentPortalObjectContainer.=
getObjectNode(PersistentPortalObjectContainer.java:252)
=09org.jboss.portal.core.impl.model.portal.AbstractPortalObjectContainer.ge=
tContext(AbstractPortalObjectContainer.java:112)
=09org.jboss.portal.core.impl.model.portal.AbstractPortalObjectContainer.ge=
tContext(AbstractPortalObjectContainer.java:81)
=09org.jboss.portal.core.model.portal.DefaultPortalCommandFactory.doMapping=
(DefaultPortalCommandFactory.java:72)
=09org.jboss.portal.core.controller.Controller.handle(Controller.java:252)
=09org.jboss.portal.server.RequestControllerDispatcher.invoke(RequestContro=
llerDispatcher.java:51)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:131)
=09org.jboss.portal.server.aspects.server.ContentTypeInterceptor.invoke(Con=
tentTypeInterceptor.java:68)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.core.aspects.server.PortalContextPathInterceptor.invoke=
(PortalContextPathInterceptor.java:45)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.core.aspects.server.LocaleInterceptor.invoke(LocaleInte=
rceptor.java:96)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.core.aspects.server.UserInterceptor.invoke(UserIntercep=
tor.java:193)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.server.aspects.server.SignOutInterceptor.invoke(SignOut=
Interceptor.java:98)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.core.impl.api.user.UserEventBridgeTriggerInterceptor.in=
voke(UserEventBridgeTriggerInterceptor.java:65)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.core.aspects.server.IdentityCacheInterceptor.invoke(Ide=
ntityCacheInterceptor.java:68)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.core.aspects.server.TransactionInterceptor.org$jboss$po=
rtal$core$aspects$server$TransactionInterceptor$invoke$aop(TransactionInter=
ceptor.java:49)
=09org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143=
606530999904530.invokeNext(TransactionInterceptor$invoke_N51436065309999045=
30.java)
=09org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
=09org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java=
:262)
=09org.jboss.portal.core.aspects.server.TransactionInterceptor$invoke_N5143=
606530999904530.invokeNext(TransactionInterceptor$invoke_N51436065309999045=
30.java)
=09org.jboss.portal.core.aspects.server.TransactionInterceptor.invoke(Trans=
actionInterceptor.java)
=09org.jboss.portal.server.ServerInterceptor.invoke(ServerInterceptor.java:=
38)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.server.aspects.LockInterceptor.invoke(LockInterceptor.j=
ava:139)
=09org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java=
:115)
=09org.jboss.portal.common.invocation.Invocation.invoke(Invocation.java:157=
)
=09org.jboss.portal.server.servlet.PortalServlet.service(PortalServlet.java=
:252)
=09javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
=09org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilte=
r.java:96)
note The full stack trace of the root cause is available in the JBossWeb/2.=
0.1.GA logs.
the root of the problem is hibernate, resultset and=20
the methods of org.jboss.resource.adapter.jdbc.WrappedResultSet class.
the class file is located in ./connector/src/main/org/jboss/resource/adapte=
r/jdbc/WrappedResultSet.java=20
under src directory.
the problem definition:
the parameter named colname Or columnName of the functions get* or update*
the member functions having below format (*:means any string) are buggy.
get*(String colName, <other params>)
get*(String columnName, <other params>)
find*(String columnName, <other params>)
update*(String colName, <other params>)
update*(String columnName, <other params>)
when above functions are called, colName or columnName parameter, which ind=
icates the column names in the result set, assigned to a string which is re=
presented as upper case. However, in the result set, the column name has a =
low case representation, therefore when the below functions called in the t=
he member functions mentioned above, the wrong colName and columnName passe=
d to resultSet functions. ThereFore, no columnname found in the resultset w=
hich is not wanted.
resultSet.get*(String colName, <other params>)
resultSet.get*(String columnName, <other params>)
resultSet.update*(String colName, <other params>)
resultSet.update*(String columnName, <other params>)
For example, the parameter of function named colName has value LISTENER10_1=
_, but in the resultSet there is a column named listener10_1_. Therefore, t=
he function in the line 254 returns null, which is the root of the problem=
.
249 public Array getArray(String colName) throws SQLException
250 {
251 checkState();
252 try
253 {
254 return resultSet.getArray(colName);
255 }
256 catch (Throwable t)
257 {
258 throw checkException(t);
259 }
260 }
--=20
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: htt=
ps://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira