Article: Developing Portlets using JSF, Ajax, and Seam (Part 2 of 3)
This article, the second in a three-part series by Wesley Hales, expands upon the previous article by introducing RichFaces. It covers integrating RichFaces into the previous sample application, deploying a RichFaces portlet, and several features and capabilities of RichFaces.
From the article:
One thing I will explain before we get started is the difference in JBoss Portal installations between this article and the previous one. In the last article we deployed to a JBoss App Server running the lightweight Portlet Container 2.0 demo. Since that article was published, we have released JBoss Portal 2.7 as a beta. This combines the old JSR-168 implementation of JBoss Portal with the new Portlet 2.0 implementation, giving us the ability to run 1.0 and 2.0 portlets in the standard JBoss Portal project. So if keeping track of what version you should be using seems confusing, it's not. Just keep in mind that JBoss Portal 2.7 is the ultimate combination of everything we have to offer and versions 2.6.x are the supported stable releases that only support JSR-168 (portlet 1.0).
Read the full article here.
Excellent series so far!
Thinking in Seam
Please provide an example to use JBoss Portal services with a4J
org.hibernate.HibernateException: Unable to locate current JTA transactio
Please provide an example that uses these services with ajax.
avoid "unable to locate current JTA transaction" for a4j & portal services
1)You need to demarcate your action with a JTA transaction:
* Start transaction
boolean isNewTransaction = true;
ctx = new InitialContext();
tx = (UserTransaction)ctx.lookup("UserTransaction");
System.out.println("transaction tx is>>>>>>>>>>>>>"+tx);
isNewTransaction = false;
* Start transaction end
/***Perform your actions by calling the JBoss portal services ****/
/**commit the transaction
System.out.println("Transaction commited *********************");
// log.info("Exception occured");
* commit the transaction
If you are creating or destroying a portal object you need to load the object using following method to sync up your VO with Db: