You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Zhong Li <we...@gmail.com> on 2005/10/06 19:58:21 UTC

Help for ArrayIndexOutOfBoundsException

I got java.lang.ArrayIndexOutOfBoundsException randomly. Here is stacktrace

java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(
PersistenceBrokerAbstractImpl.java:112)
at org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.addListener(
PersistenceBrokerAbstractImpl.java:87)
at org.apache.ojb.broker.accesslayer.RsIterator.<init>(RsIterator.java:207)
at org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(
RsIteratorFactoryImpl.java:58)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(
PersistenceBrokerImpl.java:1918)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(
PersistenceBrokerImpl.java:1493)
at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(
QueryReferenceBroker.java:112)
at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(
QueryReferenceBroker.java:251)
at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(
QueryReferenceBroker.java:287)
at org.apache.ojb.broker.core.QueryReferenceBroker.retrieveCollection(
QueryReferenceBroker.java:597)
at org.apache.ojb.broker.core.QueryReferenceBroker.retrieveCollections(
QueryReferenceBroker.java:790)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getDBObject(
PersistenceBrokerImpl.java:1456)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.doGetObjectByIdentity(
PersistenceBrokerImpl.java:1537)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByIdentity(
PersistenceBrokerImpl.java:1509)
at org.apache.ojb.broker.core.PersistenceBrokerImpl.getObjectByQuery(
PersistenceBrokerImpl.java:1600)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(
DelegatingPersistenceBroker.java:307)
at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getObjectByQuery(
DelegatingPersistenceBroker.java:307)
at com.webelite.jsf.ojb.Core.getDataObject(Unknown Source)
at com.webelite.mpos.admin.TemplateForm.init(TemplateForm.java:62)
at com.webelite.mpos.admin.TemplateForm.<init>(TemplateForm.java:31)
at com.webelite.mpos.admin.ScreenForm.<init>(ScreenForm.java:28)
at com.webelite.mpos.admin.PreviewScreenForm.<init>(PreviewScreenForm.java
:30)
at sun.reflect.GeneratedConstructorAccessor173.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at org.apache.myfaces.util.ClassUtils.newInstance(ClassUtils.java:250)
at org.apache.myfaces.util.ClassUtils.newInstance(ClassUtils.java:241)
at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(
ManagedBeanBuilder.java:44)
at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(
VariableResolverImpl.java:292)
at org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable
(ValueBindingImpl.java:558)
at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:140)
at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java
:362)
at javax.faces.component.UIOutput.getValue(UIOutput.java:75)
at org.apache.myfaces.renderkit.RendererUtils.getStringValue(
RendererUtils.java:234)
at org.apache.myfaces.renderkit.html.HtmlTextRendererBase.renderOutput(
HtmlTextRendererBase.java:65)
at org.apache.myfaces.renderkit.html.HtmlTextRendererBase.encodeEnd(
HtmlTextRendererBase.java:53)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:319)
at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:349)
at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:253)
at
org.apache.jsp.dealeradmin.dealer_005fmessage_005fpreview_jsp._jspx_meth_h_outputText_0
(dealer_005fmessage_005fpreview_jsp.java:476)
at
org.apache.jsp.dealeradmin.dealer_005fmessage_005fpreview_jsp._jspx_meth_h_form_0
(dealer_005fmessage_005fpreview_jsp.java:393)
at
org.apache.jsp.dealeradmin.dealer_005fmessage_005fpreview_jsp._jspx_meth_f_view_0
(dealer_005fmessage_005fpreview_jsp.java:360)
at org.apache.jsp.dealeradmin.dealer_005fmessage_005fpreview_jsp._jspService
(dealer_005fmessage_005fpreview_jsp.java:305)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(
JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:237)




here is the method webelite.jsf.ojb.Core.getDataObject(Class c, Object key)

public static Object getDataObject(Class c, Object key ){
Object dataObject=null;
try
{
IdentityFactory idf = broker.serviceIdentity();
String[] pNames = {"id"};
Object[] pValues = {key};
Identity id = idf.buildIdentity(c, pNames , pValues);

Query query = new QueryByIdentity(id);
dataObject = broker.getObjectByQuery
(query);//broker.getObjectByIdentity(id);
}
catch (PersistenceBrokerException ex)
{
if (broker != null)
{
broker.abortTransaction();
}
ex.printStackTrace();
}
return dataObject;
}


How could the exception happened? Is it bug or wrong of usage?

Thanks.

--
Zhong Li

WebJabber.Net