Я получаю следующую ошибку из моего кода:
Попытка разделить длинный или двойной стек на стек
Я не знаю о происхождении этой ошибки и не знаю, как ее отладить. Что это за проблема? Как я могу это исправить?
[ERROR] [Mon May 23 14:29:46 IST 2011] [(class: org/apache/jsp/dashboard_jsp, method: _jspService signature: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V) Attempt to split long or double on the stack] [10.97.34.222] hddlntdsz2350 [ session not set ]
java.lang.VerifyError: (class: org/apache/jsp/dashboard_jsp, method: _jspService signature: (Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V) Attempt to split long or double on the stack
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getConstructor0(Class.java:2699)
at java.lang.Class.newInstance0(Class.java:326)
at java.lang.Class.newInstance(Class.java:308)
at org.jboss.web.tomcat.service.TomcatInjectionContainer.newInstance(TomcatInjectionContainer.java:273)
Код проблемы: Я создал модель, приведенную ниже
public class DashboardViewModel implements Serializable {
/** defalut serialization id */
private static final long serialVersionUID = 1L;
/**
* Collection representing all the services
*/
private Map<Long, ServiceCustomerModel> serviceDataMap;
}
На отдельной странице JSP я делаю следующее.
for (Long serviceId : dashboardViewModel.getServices()) {
Service service = dashboardViewModel.getService(serviceId);
}
Метод getServices
в указанном выше целевом классе выглядит следующим образом.
public Set<Long> getServices() {
return this.serviceDataMap.keySet();
}
При включении вышеуказанного кода в jsp. Я получаю ошибку. В противном случае он работает.
Дальнейшие исследования:
Я обновил файл dashboard.jsp со следующим фрагментом кода. Я не могу определить, почему, но этот код работает.
ArrayList<Long> test = new ArrayList<Long>();
test.addAll(dashboardViewModel.getServices());
for (long serviceId : test) {
Service service = dashboardViewModel.getService(serviceId);
}
Имеет ли этот код какое-либо значение для данных?