powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JBoss Seam EntityManager - проблема с сохранением данных
6 сообщений из 6, страница 1 из 1
JBoss Seam EntityManager - проблема с сохранением данных
    #37616300
AndreyDmt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую!
Есть проект, изначально сгенерённый через seam-gen. В результате для работы с БД имеем JTA EntityManager. Т.е. управлять транзакциями не можем, что собственно до сих пор не сильно напрягало.
Появилась однако необходимость грузить в БД объекты из xml путём парсинга, закидывания значений в созданный экземпляр Entity ну и em.persist(obj); Далее em.flush() после группы связанных объектов. Пока число объектов не превышало некоего числа (около 6000) всё просто было замечательно. Ежели число объектов больше (а по жизни их значительно больше) имеем такую ошибку:

Код: xml
1.
2.
3.
4.
5.
6.
7.
2012-01-16 13:57:39,078 WARN  [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (Thread-11) [com.arjuna.ats.arjuna.coordinator.TransactionReaper_18] - TransactionReaper::check timeout for TX -3f57f572:d92:4f13cc32:3792 in state  RUN
2012-01-16 13:57:39,078 WARN  [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (Thread-12) [com.arjuna.ats.arjuna.coordinator.BasicAction_58] - Abort of action id -3f57f572:d92:4f13cc32:3792 invoked while multiple threads active within it.
2012-01-16 13:57:39,078 WARN  [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (Thread-12) [com.arjuna.ats.arjuna.coordinator.CheckedAction_2] - CheckedAction::check - atomic action -3f57f572:d92:4f13cc32:3792 aborting with 1 threads active!
2012-01-16 13:57:39,125 WARN  [org.hibernate.util.JDBCExceptionReporter] (http-127.0.0.1-8080-1) SQL Error: 0, SQLState: null
2012-01-16 13:57:39,125 ERROR [org.hibernate.util.JDBCExceptionReporter] (http-127.0.0.1-8080-1) Transaction is not active: tx=TransactionImple < ac, BasicAction: -3f57f572:d92:4f13cc32:3792 status: ActionStatus.ABORTING >; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: -3f57f572:d92:4f13cc32:3792 status: ActionStatus.ABORTING >)
2012-01-16 13:57:39,125 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] (http-127.0.0.1-8080-1) Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: Cannot open connection



В результате в базе не сохраняется ни одного объекта, хотя я по наивности считал, что flush() как раз и фиксирует изменения в БД. Что мог сам предположить - попробовал, гугль чегой то совсем не помог - нешто такая уникальность ситуации? :-)
Вот решил обратиться к местным знатокам - подскажите плиз как победить?
...
Рейтинг: 0 / 0
JBoss Seam EntityManager - проблема с сохранением данных
    #37616586
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ результате для работы с БД имеем JTA EntityManager. Т.е. управлять транзакциями не можем, что собственно до сих пор не сильно напрягало
А как же Transaction.instance() ?
авторВ результате в базе не сохраняется ни одного объекта, хотя я по наивности считал, что flush() как раз и фиксирует изменения в БД.
Смотря как настроить, в общем случае коммит естественно происходит по Transaction.commit()

Вообще, посомтрите тут - может наведет на мысль, будут еще вопросы спрашивайте


http://seamframework.org/Community/QuickEfficientPatternInSEAMForBulkUpdatesAndInserts
...
Рейтинг: 0 / 0
JBoss Seam EntityManager - проблема с сохранением данных
    #37616680
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreyDmt,

В общем случае должно помочь вот это
В любом случае нужен кусок кода вашего Seam Component
...
Рейтинг: 0 / 0
JBoss Seam EntityManager - проблема с сохранением данных
    #37619261
AndreyDmt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, похоже меня клинит по полной. Подскажите плиз, а почему вот так тоже не работает (вываливается также по ошибке транзакции после попытки записи 4000-9000 объектов - в зависимости от нюансов настройки):
Для экспериментов создал форму из одной кнопки и бин, в котором единственный обработчик нажатия кнопки.
В листенере по тупому в цикле записываются entity. По прочитанным докам должно работать. Но как результат,
имеем ошибку и ни одной записи в базе. Ниже листинг бина практически полный. Могущие помочь, не откажите плиз.


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
package org.krona.xml.bean;

import java.io.Serializable;

import javax.faces.event.ActionEvent;
import javax.persistence.EntityManager;

import org.hibernate.FlushMode;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.log.Log;
import org.kronacommon.xml.entity.RdfImportAssociationEntity;
import org.kronacommon.xml.entity.RdfImportAttributeEntity;
import org.kronacommon.xml.entity.RdfImportFileEntity;
import org.kronacommon.xml.entity.RdfImportObjectEntity;

@Name("testUploadData")
@Scope(ScopeType.PAGE)
public class TestUploadData implements Serializable {

	private static final long serialVersionUID = -7813044972353335201L;

	@In
	EntityManager entityManager;

	@Logger
	private Log log;

	//
	public void uploadListener(ActionEvent event) {
		log.info("Start");
		Session session = (Session) entityManager.getDelegate();
		session.setFlushMode(FlushMode.COMMIT);
		Transaction trans = session.beginTransaction();
		try {
			// if (!trans.isActive()) trans.begin();
			// Создаём описатель файла данных
			RdfImportFileEntity impfile = new RdfImportFileEntity();
			impfile.setObjectCount(10000);
                        // Заполняем другие поля
			// session.persist(impfile);
			session.save(impfile);
			trans.commit();
			log.info("Flush file descriptor ID = " + impfile.getRdfFileID());

			// Если удачно записали данные по файлу
			if ((impfile.getRdfFileID() != null) && (impfile.getRdfFileID().longValue() > 0)) {
				log.info("Begin save data ID = " + impfile.getRdfFileID().longValue());
				long objectCount = 0;
				// Пишем в цикле группы связанных объектов. После каждой группы делаем коммит
				for (int i = 0; i < 10000; i++) {
					// log.info("trans.isActive = " + trans.isActive());
					// if (!trans.isActive()) trans.begin();
					trans = session.beginTransaction();
					RdfImportObjectEntity obj = new RdfImportObjectEntity();
					obj.setRdfFileID(impfile.getRdfFileID());
					// Заполняем другие поля
					//session.persist(obj);
					session.save(obj);

					long objectid = obj.getRdfObjectID();
					RdfImportAttributeEntity attren = new RdfImportAttributeEntity();
					attren.setRdfObjectID(objectid);
					// Заполняем другие поля
					// session.persist(attren);
					session.save(attren);

					RdfImportAssociationEntity assen = new RdfImportAssociationEntity();
					assen.setRdfObjectID(objectid);
					// Заполняем другие поля
					// session.persist(assen);
					session.save(assen);

					// session.flush();
					trans.commit();
					objectCount++;
					if ((objectCount % 100) == 0) log.info("endElement flush No = " + objectCount);
				}
				log.info("Flush saved data");
			}
		} catch (Exception e) {
			log.error("Err: " + e.getClass().getName() + ", Mess: " + e.getMessage());
			trans.rollback();
		}
		log.info("End");
	}

}
...
Рейтинг: 0 / 0
JBoss Seam EntityManager - проблема с сохранением данных
    #37619347
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreyDmtПодскажите плиз, а почему вот так тоже не работает (вываливается также по ошибке транзакции после попытки записи 4000-9000 объектов - в зависимости от нюансов настройки):1. Мы вам с удовольствием поможем, если вы нам расскажите, где именно возникает ошибка и приведете максимально полную информацию о ней - что за эксепшн, стек трейс, содержимое persistence.xml.
2. В вашем первом посту черным по белому написано: org.hibernate.exception.GenericJDBCException: Cannot open connection
У вас Хибер не может подключиться к базе, Seam тут ни при чем. Смотрите конфигурацию persistence.xml и ищите там ошибки.
...
Рейтинг: 0 / 0
JBoss Seam EntityManager - проблема с сохранением данных
    #37619522
AndreyDmt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил создать тестовый проект с нуля для проверки. Привожу persistence.xml.

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Persistence deployment descriptor for dev profile -->
<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" 
             version="1.0">
             
   <persistence-unit name="TestUploadData">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <jta-data-source>java:/TestUploadDataDatasource</jta-data-source>
      <!-- The <jar-file> element is necessary if you put the persistence.xml in the WAR and the classes in the JAR -->
      <!--
      <jar-file>../../vehicles.jar</jar-file>
      -->
      <properties>
         <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
         <property name="hibernate.hbm2ddl.auto" value="validate"/>
         <property name="hibernate.show_sql" value="false"/>
         <property name="hibernate.format_sql" value="false"/>
         <property name="jboss.entity.manager.factory.jndi.name" value="java:/TestUploadDataEntityManagerFactory"/>
      </properties>
   </persistence-unit>
    
</persistence>



Ошибка возникает в цикле, при очередном Transaction.commit. Полный текст тоже пожалуйста:
автор2012-01-18 11:54:47,968 WARN [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (Thread-11) [com.arjuna.ats.arjuna.coordinator.TransactionReaper_18] - TransactionReaper::check timeout for TX -3f57f572:74e:4f164e7f:3db6 in state RUN
2012-01-18 11:54:47,984 WARN [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (Thread-12) [com.arjuna.ats.arjuna.coordinator.BasicAction_58] - Abort of action id -3f57f572:74e:4f164e7f:3db6 invoked while multiple threads active within it.
2012-01-18 11:54:47,984 WARN [com.arjuna.ats.arjuna.logging.arjLoggerI18N] (Thread-12) [com.arjuna.ats.arjuna.coordinator.CheckedAction_2] - CheckedAction::check - atomic action -3f57f572:74e:4f164e7f:3db6 aborting with 1 threads active!
2012-01-18 11:54:48,015 WARN [org.hibernate.util.JDBCExceptionReporter] (http-127.0.0.1-8080-2) SQL Error: 0, SQLState: null
2012-01-18 11:54:48,015 ERROR [org.hibernate.util.JDBCExceptionReporter] (http-127.0.0.1-8080-2) Transaction is not active: tx=TransactionImple < ac, BasicAction: -3f57f572:74e:4f164e7f:3db6 status: ActionStatus.ABORTING >; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: -3f57f572:74e:4f164e7f:3db6 status: ActionStatus.ABORTING >)
2012-01-18 11:54:48,015 ERROR [org.hibernate.event.def.AbstractFlushingEventListener] (http-127.0.0.1-8080-2) Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: Cannot open connection
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:116)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:109)
at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:244)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2252)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2688)
at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
at org.hibernate.transaction.CMTTransaction.commit(CMTTransaction.java:98)
at org.hibernate.ejb.transaction.JoinableCMTTransaction.commit(JoinableCMTTransaction.java:81)
at org.testuploaddata.bean.TestUploadData.movedataHB(TestUploadData.java:85)
at org.testuploaddata.bean.TestUploadData.uploadListener(TestUploadData.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:32)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185)
at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103)
at org.testuploaddata.bean.TestUploadData_$$_javassist_seam_3.uploadListener(TestUploadData_$$_javassist_seam_3.java)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:335)
at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:348)
at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at org.jboss.seam.el.OptionalParameterMethodExpression.invoke(OptionalParameterMethodExpression.java:39)
at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:99)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:771)
at javax.faces.component.UICommand.broadcast(UICommand.java:372)
at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329)
at org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304)
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261)
at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.jboss.util.NestedSQLException: Transaction is not active: tx=TransactionImple < ac, BasicAction: -3f57f572:74e:4f164e7f:3db6 status: ActionStatus.ABORTING >; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: -3f57f572:74e:4f164e7f:3db6 status: ActionStatus.ABORTING >)
at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:95)
at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:46)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
... 103 more
Caused by: javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: -3f57f572:74e:4f164e7f:3db6 status: ActionStatus.ABORTING >
at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:370)
at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496)
at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941)
at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89)
... 105 more
2012-01-18 11:54:48,062 ERROR [org.testuploaddata.bean.TestUploadData] (http-127.0.0.1-8080-2) Err: org.hibernate.exception.GenericJDBCException, Mess: Cannot open connection

На счёт хибернейт не может подключиться: я же в первом посту как раз писал, что список объектов эдак до 6000 сохраняется нормально. Поэтому подключение есть. Дык и после ошибки программа продолжает нормально работать с БД. Проблема как раз:
1. Не сохраняются большие списки объектов (порядок выше 4000-10000 гарантированный обвал)
2. Не происходит промежуточного сохранения после flush, commit. Т.е. после ошибки таблицы в базе пусты. Нет ошибки - всё попадает в базу.
А seam упоминался в качестве описания среды - есть у него свои особенности. Непосредственно он не виноват, понятно, но и он создаёт среду выполнения приложения.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JBoss Seam EntityManager - проблема с сохранением данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]