InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Article: Developing Portlets using JSF, Ajax, and Seam (Part 2 of 3)

Posted by Ryan Slobojan on Aug 25, 2008

Sections
Development,
Operations & Infrastructure
Topics
Java ,
Portal/CMS
Tags
JSR 301 ,
JBoss Portlet Bridge ,
AJAX ,
RichFaces ,
JBoss Portlet Container ,
JSF ,
JBoss Portal

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! by John Haselden Posted
Please provide an example to use JBoss Portal services with a4J by vineet tripathi Posted
avoid "unable to locate current JTA transaction" for a4j & portal services by vineet tripathi Posted
  1. Back to top

    Excellent series so far!

    by John Haselden

    Thanks Wesley, this has proven to be a great series of articles so far and has arrived just at the right time for the project I'm working on! I can't wait for the third installment.



    John

    Thinking in Seam

  2. Back to top

    Please provide an example to use JBoss Portal services with a4J

    by vineet tripathi

    The sample application is wonderful to start with implementation of ajax on JSF portlet with JBoss portal. But when i send an ajax request using a4j to a bean action that uses Jboss -portal services , such as instanceContainer, PortalObjectContainer or userModule, i get an exception that says:
    org.hibernate.HibernateException: Unable to locate current JTA transactio

    Please provide an example that uses these services with ajax.

  3. Back to top

    avoid "unable to locate current JTA transaction" for a4j & portal services

    by vineet tripathi

    I got the solution for using JBoss portal services with a4j. The following is the solution
    1)You need to demarcate your action with a JTA transaction:
    /*
    *
    * Start transaction
    */
    boolean isNewTransaction = true;
    InitialContext ctx=null;
    UserTransaction tx=null;
    try{
    ctx = new InitialContext();
    tx = (UserTransaction)ctx.lookup("UserTransaction");
    System.out.println("transaction tx is>>>>>>>>>>>>>"+tx);
    tx.begin();
    }catch(Exception e){
    System.out.println("Exception occured>>>>>>"+e.getMessage());
    isNewTransaction = false;
    // e.printStackTrace();
    }
    /*
    *
    * Start transaction end
    */

    /***Perform your actions by calling the JBoss portal services ****/

    /**commit the transaction
    *
    */
    if(isNewTransaction){

    try{
    tx.commit();
    System.out.println("Transaction commited *********************");
    }catch(Exception e){
    // log.info("Exception occured");
    System.out.println("Exception>>>>>>"+e.getMessage());
    }
    }
    /**
    * 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:

    portalObjectContainer.getObject(objectId);

Educational Content

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.