Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
С этой проблемкой тружусь уже неделю((((
В трех словах...есть два чекбокса, при нажатии на экран выводится 5 соединенных точек-объектов, значения кот берутся из БД.
У объекта №1 есть значения в БД. И при его активации все норм выводит и без ошибок. А второй, только созданный. При его активации постоянно выскакивает такая ошибка
Got error 134 from storage engine
org.hibernate.exception.GenericJDBCException: could not execute query
...и еще длинный список
Query qr;
dbsession = HibernateUtil.getSession();
dbsession.beginTransaction();
List <Gpsdata> ldata;
String sql;
if (dfrom == null)
{
sql = "from kodexdbtables.Gpsdata as g where g.id.did= ? and g.satellite!=0 order by g.dataTimeChange desc";
qr = dbsession.createQuery(sql);
qr.setInteger(0, obj.getDid());
qr.setMaxResults(20);
qr.setReadOnly(true);
ldata = qr.list(); // ругается на эту строку org.hibernate.exception.GenericJDBCException: could not execute query
}
if (ldata == null) {
result = -1;
}
else{
data.addAll(ldata);
result = 1;
}
Вопрос в том, как сделать, чтобы эта ошибка не выводилась.
Неактивен
Табличка побилась? REPAIR TABLE должен спасти. JDBC не при чем.
Неактивен
paulus написал:
Табличка побилась? REPAIR TABLE должен спасти. JDBC не при чем.
я тоже так думал..это как RAPAIR TABLE kodexdbtables.Gpsdata
читал, что из-за этой операции могут потеряться некоторые данные..
есть вариант что составлен некорректный запрос...но тогда почему активный объект №1 не выводит ошибки
Неактивен
проблема решена! ))
таки да, таблица крашнутая была. сделал(все-таки решился, боялся тк данные за пол года) REPAIR TABLE и алес гут. Спасибо!
Неактивен
тут еще одна проблемка... идет сильная утечка памяти..думаю из-за обращения к БД каждые 5 сек (типа OutOfMemoryError)
за сутки из 2 Гигов оперативы сервера остается свободной около 100-300 МБ.
Может подскажите, какие причины и как ее ловить.
Неактивен
Течет Ваше приложение или MySQL? Если Ваше приложение, то пытайтесь ограничить
виртуальную машину по памяти сверху, будет приходить сборщик чаще и вычищать
Ваши соединения. Ну или используйте фиксированное количество persistent соединений.
Второе, наверное, даже лучше.
Неактивен
еще выдает
PWC2768: IOException while loading persisted sessions: java.io.InvalidObjectException: could not resolve session factory during session deserialization [uuid=ff80818126801cd80126801ce3590000, name=null]
java.io.InvalidObjectException: could not resolve session factory during session deserialization [uuid=ff80818126801cd80126801ce3590000, name=null]
at org.hibernate.impl.SessionFactoryImpl.deserialize( SessionFactoryImpl.java:1061)
at org.hibernate.impl.SessionImpl.readObject(SessionI mpl.java:1892)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectS treamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInp utStream.java:1849)
at java.io.ObjectInputStream.readOrdinaryObject(Objec tInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputS tream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputSt ream.java:351)
at org.apache.catalina.session.StandardSession.readRe mainingObject(StandardSession.java:1822)
at org.apache.catalina.session.StandardSession.readOb ject(StandardSession.java:1756)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectS treamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInp utStream.java:1849)
at java.io.ObjectInputStream.readOrdinaryObject(Objec tInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputS tream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputSt ream.java:351)
at org.apache.catalina.session.StandardSession.deseri alize(StandardSession.java:1087)
at org.apache.catalina.session.StandardManager.doLoad (StandardManager.java:455)
at org.apache.catalina.session.StandardManager.load(S tandardManager.java:372)
at org.apache.catalina.session.StandardManager.start( StandardManager.java:764)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:5130)
at com.sun.enterprise.web.WebModule.start(WebModule.j ava:326)
at com.sun.enterprise.web.LifecycleStarter.doRun(Life cycleStarter.java:58)
at com.sun.appserv.management.util.misc.RunnableBase. runSync(RunnableBase.java:304)
at java.util.concurrent.FutureTask.run(FutureTask.jav a:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
PWC2773: Exception loading sessions from persistent storage
java.io.InvalidObjectException: could not resolve session factory during session deserialization [uuid=ff80818126801cd80126801ce3590000, name=null]
at org.hibernate.impl.SessionFactoryImpl.deserialize( SessionFactoryImpl.java:1061)
at org.hibernate.impl.SessionImpl.readObject(SessionI mpl.java:1892)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectS treamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInp utStream.java:1849)
at java.io.ObjectInputStream.readOrdinaryObject(Objec tInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputS tream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputSt ream.java:351)
все не поместилось
at java.util.concurrent.FutureTask$Sync.innerRun(Futu reTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.jav a:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Неактивен
но это при загрузке приложения..а потом вроде все норм.. только когда запускаю с разных машин много сеансов + на каждой машине вхожу под темиже юзерами...бывает выбивает ошибку 500 description the server encoutered an internal error () that prevented it from fulling this request.
и потом из этой машины зайти не могу..только спасает перезагрузка сервера (glassfish)
Неактивен
эээ... судя по всему — приложение. Используйте приложения, которые не текут
Неактивен
приложение" - это Вы имеете ввиду NetBeans или разработанное
Неактивен
Ну, то, которое течет Библиотеки иногда текут, конечно, но это не так часто происходит.
Неактивен
не подскажете как сделать, чтобы garbage collector быстрее проходил
Неактивен
Подозреваю, что какая-то скрытая ручка есть, но о ней если кто и знает — то
разработчики Java. Попробуйте спросить на форуме, посвященному Java. К MySQL
этот вопрос отношения уже не имеет
Неактивен
согласен.
тогда вопрос по hibernate+mysql...может ли быть так, что если открыть надолго сессию для работы с lazy fetch, рано или поздно память загадят тысячи хибернейт прокси объектов.
утечка памяти дает о себе знать.. знать бы откуда
Неактивен
Я не знаю столько умных слов... наверное, может
Неактивен
наверное вопрос не в тему... спасибо что откликнулись
Неактивен
Ну правда не знаю. Зависит от библиотеки, но в любом случае это не MySQL.
Я правда не знаю, как определить, что течет в Java-приложении. Наверняка
есть какие-то способы. Может быть, valgrind умеет с ней работать, может быть,
есть какие-то нативные средства.
Неактивен
Страниц: 1