[JBoss Seam] - How to Clone EntityHome Object
by jonathan.shin
I'm creating a task module and the requirement is as follow:
When user completed the task, copy the current task and change the completion date property to null and add to the database. Is there any example that copy the persistent object then add to the database?
| @Override
| public String update()
| {
| if (this.instance.getTaskCompleted().equals("Y")) {
|
| try {
| TitleXiTaskHome titleXiTask = (TitleXiTaskHome) super.clone();
| titleXiTask.instance.setTaskCompleted("N");
| titleXiTask.instance.setCompletedDate(null);
| titleXiTask.persist();
| } catch (CloneNotSupportedException e) {
| // TODO Auto-generated catch block
| e.printStackTrace();
| }
| }
| super.update();
| return "success";
| }
|
I'm getting CloneNotSupportedException error.
Thanks.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4063193#4063193
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4063193
18Â years, 11Â months
[JBoss Seam] - SMPC Configuration
by monkeyden
I'm running JMeter against a screen in my application and it's failing miserably, so I created a rudimentary test case and it's failing also. I'm guessing that I have something misconfigured. Here is what I have:
<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="dcdb">
| <provider>org.hibernate.ejb.HibernatePersistence</provider>
| <jta-data-source>java:/ds_dcdb</jta-data-source>
| <properties>
| <property name="hibernate.hbm2ddl.auto" value="none"/>
| <property name="hibernate.cache.use_query_cache" value="true"/>
| <property name="hibernate.show_sql" value="true"/>
| <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect" />
| <property name="jboss.entity.manager.factory.jndi.name" value="java:/dcdb"/>
| <property name="hibernate.default_schema" value="dcdb"/>
| </properties>
| </persistence-unit>
| <persistence-unit name="images">
| <provider>org.hibernate.ejb.HibernatePersistence</provider>
| <jta-data-source>java:/ds_images</jta-data-source>
| <properties>
| <property name="hibernate.hbm2ddl.auto" value="none"/>
| <property name="hibernate.cache.use_query_cache" value="true"/>
| <property name="hibernate.show_sql" value="true"/>
| <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect" />
| <property name="jboss.entity.manager.factory.jndi.name" value="java:/images"/>
| <property name="hibernate.default_schema" value="img"/>
| </properties>
| </persistence-unit>
| </persistence>
components.xml
<core:managed-persistence-context name="dcdbEM" persistence-unit-jndi-name="java:/dcdb" auto-create="true"/>
pages.xml
<page view-id="/test/testEmployee.xhtml" action="#{testEmployeeAction.loadEmployee}"/>
Action
@Name("testEmployeeAction")
| @Scope(ScopeType.SESSION)
| public class TestEmployeeAction {
|
| @Logger
| private static Log log;
|
| Employee employee;
|
| @Create
| public void create(){
|
| }
|
| public void loadEmployee(){
| EmployeeBO employeeBO = (EmployeeBO)Component.getInstance("employeeBO");
| this.employee = (Employee)employeeBO.findByPrimaryKey(new Long(206485));
| log.debug("Employee found: #0", employee.getFullName());
| }
|
| /**
| * @return the employee
| */
| public Employee getEmployee() {
| return employee;
| }
|
| /**
| * @param employee the employee to set
| */
| public void setEmployee(Employee employee) {
| this.employee = employee;
| }
| }
|
The entity
@Entity
| @Name("employee")
| @Table(name = "DWL_EMPLOYEES")
| public class Employee extends EmployeeBase implements java.io.Serializable {
|
| @Id
| @Column(name = "EMPLOYEE_ID", length = 22, nullable = false)
| public Long getEmployeeId() {
| return this.employeeId;
| }
|
| public void setEmployeeId(Long employeeId) {
| this.employeeId = employeeId;
| }
|
| @Column(name = "FIRST_NAME", length = 30, nullable = true)
| public String getFirstName() {
| return this.firstName;
| }
|
| public void setFirstName(String firstName) {
| this.firstName = firstName;
| }
| ...
|
And in the view I use facelets
<ui:define name="body">
| <h:form id="testEmployeeForm">
| #{testEmployeeAction.employee.firstName}
| </h:form>
| </ui:define>
The page works fine with a single request from the browser but under load, the whole document is sent in the response but my assertion fails (i.e. the employee name is not displayed). In fact, when using just 10 threads, 7 of them fail.
Thanks for any advice.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4063178#4063178
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4063178
18Â years, 11Â months
[JBoss Seam] - @Transactional + Transaction.setRollbackOnly error
by przemjaskier
Env: Tomcat 6.0.13, Hibernate local transactions, Seam CVS 11/07.
As @Rollback(ifOutcome) had been removed ,usage of Trancation.instance(),setRollbackOnly() was introduced instead.
Before (1.3 + Rollback) such pseudocode was working (long-running conversation with manual flush mode). Am I doing something
totally wrong and such thing is expected (stacktrace below),
or is it an error?
| @Transactional
| @Rollback(ifOutcome="GOBACK")//now removed for Seam2
| methodCalledFromJPDLPageflow()
| {
| doALotWithSession();
| for (everyElementThatUserProvidedInCoversation) {
| try {
| doSomethingThatCanFireException();
| } catch (NastyException) {
| createErrorFacesMessageEtcForElement();
| addToInvalidElementsCollection();
| errorAppeared = true;
| }
| }
|
| if (errorAppeared) {
| prepareUserReportForInvalidElementsCollection();
|
| --> Transaction.instance.setRollbackOnly();
| return "GOBACK";
| }
|
| session.flush, etc, etc...
| }
|
Here yon see corresponding logs and exceptions... BTW another
strange thing is this "cannot render message" thing from
JSF RI, because it was working before as there is
<a4j:outputPanel id="messagesTop">
<h:messages/>
</a4j:outputPanel>
on the page.
| * 2007-07-11 20:58:53,262 DEBUG HibernateTransaction.begin():77
| beginning Hibernate transaction
| * 2007-07-11 20:58:53,317 DEBUG HibernateTransaction.registerSynchronization():181
| registering synchronization: ManagedHibernateSession(java:/seamManagedHibernateSession)
| * 2007-07-11 20:59:01,152 DEBUG HibernateTransaction.setRollbackOnly():122
| marking Hibernate transaction for rollback
| * 2007-07-11 20:59:01,155 DEBUG HibernateTransaction.rollback():112
| rolling back Hibernate transaction
| Jul 11, 2007 8:59:01 PM com.sun.faces.lifecycle.RenderResponsePhase execute
| INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
| sourceId=null[severity=(INFO 0), summary=(Nie ma wystarczaj?cej ilo?ci niektórych zamówionych przedmiotów, szczegó?y podano poni?ej.), detail=(Nie ma wystarczaj?cej ilo?ci niektórych zamówionych przedmiotów, szczegó?y podano poni?ej.)]
| sourceId=null[severity=(WARN 1), summary=(Transaction failed), detail=(Transaction failed)]
| * 2007-07-11 20:59:01,218 DEBUG HibernateTransaction.rollback():112
| rolling back Hibernate transaction
| * 2007-07-11 20:59:01,218 ERROR SeamPhaseListener.afterPhase():189
| uncaught exception
| java.lang.IllegalStateException: Could not commit transaction
| at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:589)
| at org.jboss.seam.jsf.SeamPhaseListener.handleTransactionsAfterPhase(SeamPhaseListener.java:325)
| at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:226)
| at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:184)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
| at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
| 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.MultipartFilter.doFilter(MultipartFilter.java:87)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:63)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:46)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
| at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:40)
| 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.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:70)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:140)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at net.sf.ehcache.constructs.web.filter.GzipFilter.doFilter(GzipFilter.java:75)
| at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:92)
| 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:230)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
| at java.lang.Thread.run(Thread.java:619)
| Caused by: java.lang.IllegalStateException: transaction is not active
| at org.jboss.seam.transaction.HibernateTransaction.assertActive(HibernateTransaction.java:163)
| at org.jboss.seam.transaction.HibernateTransaction.rollback(HibernateTransaction.java:114)
| at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:584)
| ... 40 more
| * 2007-07-11 20:59:01,222 ERROR DebugPageHandler.handle():23
| redirecting to debug page
| java.lang.IllegalStateException: transaction is not active
| at org.jboss.seam.transaction.HibernateTransaction.assertActive(HibernateTransaction.java:163)
| at org.jboss.seam.transaction.HibernateTransaction.rollback(HibernateTransaction.java:114)
| at org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseListener.java:584)
| at org.jboss.seam.jsf.SeamPhaseListener.handleTransactionsAfterPhase(SeamPhaseListener.java:325)
| at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:226)
| at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:184)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
| at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
| 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.MultipartFilter.doFilter(MultipartFilter.java:87)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:63)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:46)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
| at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:40)
| 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.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:70)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:140)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at net.sf.ehcache.constructs.web.filter.GzipFilter.doFilter(GzipFilter.java:75)
| at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:92)
| 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:230)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
| at java.lang.Thread.run(Thread.java:619)
| * 2007-07-11 20:59:01,235 DEBUG HibernateTransaction.begin():77
| beginning Hibernate transaction
| * 2007-07-11 20:59:01,245 DEBUG HibernateTransaction.registerSynchronization():181
| registering synchronization: ManagedHibernateSession(java:/seamManagedHibernateSession)
| Jul 11, 2007 8:59:01 PM com.sun.faces.lifecycle.RenderResponsePhase execute
| INFO: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
| sourceId=null[severity=(WARN 1), summary=(Illegal navigation), detail=(Illegal navigation)]
| * 2007-07-11 20:59:01,277 DEBUG HibernateTransaction.commit():94
| committing Hibernate transaction
|
Regards,
Przemek.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4063170#4063170
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4063170
18Â years, 11Â months