Wednesday, August 10, 2011

Difference between JSR 168 and JSR 286 portlets


Java Portlet spefication168 (v1.0) has very basic portlet porgramming model and had lot of limitations for portlet development. Java Portlet spefication286 (v2.0) was developed to overcome the shortcomings on v1.0 specs(JSR 168) such as:

1. Inter portlet communicaiton (IPC) - IPC through events and public render parameters
2. Support for WSRP 2.0
3. Public render paremeters - Allows portlets to share parameters with other portlets.
4. Portlet filters and listeners.
5. Resource serving - Provide ability for portlets to server a resource
6. AJAX support

Friday, April 1, 2011

Weblogic:jdbc: java.sql.SQLException: Transaction timed out after 33 seconds

java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: Transaction rolled back: Transaction timed out after 33 seconds
BEA1-14053C014C88
at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1418)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1330)
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:425)
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:382)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:338)
at com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.init(ExternalTransaction.java:53)
at com.ibatis.sqlmap.engine.transaction.external.ExternalTransaction.getConnection(ExternalTransaction.java:90)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList(GeneralStatement.java:123)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:615)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:589)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:95)

Solution :

I increased the JTA default timeout from 30s to 120s and I stopped getting that error.

You can goto the weblogic console (http://localhost:7001/console) and once you login goto ->services->JTA. Hope this helps.

Tuesday, March 29, 2011

To start with Oracle SOA here are some of useful links:


Oracle SOA Suite general

Oracle SOA Suite software


Oracle Application Integration Architecture

Documentation


Installation

Performance

API

Tutorials

Oracle Blogs

Oracle Forum

Oracle General

Useful tools

Webservice standards


Friday, March 18, 2011

XAER_NOTA : The XID is not valid start() failed on resource '[connection pool]' Error

Error :
java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: XA error: XAResource.XAER_RMERR start() failed on resource 'TestDataSource': XAER_RMERR : A resource manager error has occured in the transaction branch
weblogic.transaction.internal.ResourceAccessException: Transaction has timed out when making request to XAResource 'TestDataSource'.
    at weblogic.transaction.internal.XAResourceDescriptor.startResourceUse(XAResourceDescriptor.java:666)
    at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1182)
    at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1116)
    at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:275)


Solution :
The solution was that for the JDBC Connection Pools to set the XASetTransactionTimeout to true and XATransactionTimeout to zero ("When this parameter is set to zero, the XAResource Session Timeout will be set to the global transaction timeout.")

See the below links :

http://jroller.com/chrisru/entry/xaer_nota_the_xid_is
http://forums.oracle.com/forums/thread.jspa?threadID=1083561




Monday, March 14, 2011

404 page not found error

Question :

really need your help here,
I have a simple struts portlet "MNPPortlet" it contains some JSPs as the below hirearchy

MNPPortlet
WebContent
pages
A.jsp
B.jsp

I just want to open B.jsp in a popup window or in an iframe from A.jsp, I have tried the following
1- window.open("B.jsp")
2

but it doesn't seem to work, I always get 404 page not found error, since it generates wrong URLs, any ideas how can i get the right URIs generated ?
P.S. it's working fine as struts application, not portlet

Answer :
In order to run something as a portlet, you need to create all non-external URLs using appropriate Portal tags so that the portal can re-write the URLs as needed. This allows the portal framework to re-write the URLs depending on how the portlet is being run (for example, over WSRP or not).

In this particular case, where you're trying to access another JSP file directly (not running it through the portal framework, as it is inside an IFrame or in a pop-up window), a "resource URL" would be the appropriate way to go. The render tag library's resourceURL tag should fix your issue:

http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/javadocjsp/framework/render/resourceUrl.html




Monday, February 14, 2011

weblogic portal 10.3.1 framework and UCM 10gR3 code works in Jdeveloper?


Question :

We are using weblogic portal 10.3.1 framework and UCM 10gR3. Now we want to use Jdeveloper (because we can integrate site studio using plugin) instead of weblogic workshop.
So my question is does the existing code works in Jdeveloper (because it supports Webcenter portal)?.
 
Answer :
 
No. Eclipse/Worskhop is the development IDE for WLP. While you can probably edit many of the WLP artifacts in JDeveloper, since they're mostly XML files, JDeveloper won't understand the WLP project structure, understand many of the libraries or know how to deploy to a WLP domain.







Thursday, January 20, 2011

What's New in Oracle WebLogic Portal 10.3.2

Oracle WebLogic Portal 10.3.2 provides tools to build enterprise portal applications.
This release includes:
  • Dynamic Visitor Tools
  • Dynamic Visitor Tools extensibility
  • REST API for unified user profiles
  • REST support for content management with CMIS
  • Oracle Enterprise Pack for Eclipse based IDE
  • WSRP 2.0 compliance and IDE support
  • JSR 286 compliance and IDE support
  • JSR 329 portlet bridge for JSF portlets
  • Import/Export of Java portlets
  • WSRP interoperability with Oracle WebCenter
  • Content integration with the UCM VCR Adapter
  • Direct upgrade from WLP 8.1 SP5

    see the below link :
    http://download.oracle.com/docs/cd/E15919_01/wlp.1032/e14247/relnotes.htm#i1079179

Wednesday, December 22, 2010

Reg: JSR portlets learning

Hi Venkata,

       I am Jeevak and I work on weblogic portal... I came across your blog and found that you would be right person to ask. I am working on JPF portlets and intend to work on JSR. can you please guide me a document where I can get the details about it.

Thanks in advance,


Best Regards,
Jeevak


Answer :
Please see the below link to learn JSR 168 portlets.
 
Thanks,
Venkat Sarvabatla